[609:14] (extern: com.lehman.aussom.stdlib.PanamaFunctionType) extends: object
NativeFunctionType stores a native function signature for later binding.
[626:14] (extern: com.lehman.aussom.stdlib.PanamaPointerType) extends: object
NativePointerType stores pointer target metadata.
[615:14] (extern: com.lehman.aussom.stdlib.PanamaCallbackType) extends: object
NativeCallbackType stores a native callback signature used to create NativeCallback objects for upcalls into Aussom code.
signature ()
Returns a map describing the callback signature.
A map with returnType and argTypes entries.[894:14] (extern: com.lehman.aussom.stdlib.PanamaNativeOut) extends: object
NativeOut wraps arena-owned memory intended for out-parameter calls. Pass the object directly to a native function when the signature expects a pointer argument, then read the written value back with the typed helpers.
buffer ()
Returns the backing native buffer for this out-parameter allocation.
A NativeBuffer object.get ()
Reads a scalar out value using the configured scalar type. This method only works for scalar out allocations created with
panama.out(...).
The scalar Aussom value written by native code.getHandle (string TypeName = null)
Reads a pointer out value as a NativeHandle. This method is intended for
panama.outPointer(...)allocations.
TypeName is an optional display type name override.A NativeHandle object.getString ()
Reads a pointer out value as a UTF-8 string. This only works when the target pointer refers to a null-terminated string.
A string with the decoded value.getOwnedHandle (string TypeName = null, bool Nullable = true)
Reads a pointer out as an owned NativeHandle. The result is tagged with ownership = "owned".
TypeName is an optional display type name override.Nullable is true when null is a legal value.A NativeHandle object tagged as owned.getStruct (object LayoutObj, bool Owned = false)
Dereferences a pointer out and wraps the pointed-to memory as a NativeStruct view with the provided layout.
LayoutObj is a NativeStructLayout describing the target struct.Owned marks the wrapper as owning the memory when true.A NativeStruct object.[20:21] static (extern: com.lehman.aussom.stdlib.AussomPanama) extends: object
The panama static class provides access to native libraries through Java's Foreign Function and Memory API. It can open symbol lookups, describe function signatures, allocate native memory, and build struct layouts.
onMainThread ()
Returns true when the caller is running on the thread that first loaded the Panama runtime. GTK and most GLib APIs must run on that thread; callbacks from GIO worker threads do not.
A bool that is true when the caller is on the main thread.capabilities ()
Returns a map of Panama feature flags describing what the current runtime supports. Higher layers can query this map to decide whether to emit code for a feature or fall back.
A map of feature-name strings to bool flags.useScratchArena (bool Enable)
Toggles the per-thread scratch arena for native-call arg memory. Used by hot loops to reduce allocation churn. The argument must not be retained past the call boundary.
Enable is the new state.A bool with the previous state.scratchArenaEnabled ()
Returns true when the per-thread scratch arena is enabled.
A bool with the current state.assertMainThread (string Prefix = "panama.assertMainThread()")
Throws an Aussom exception when the caller is not on the main thread. Use in bindings that must guarantee main-thread dispatch.
Prefix is an optional string used in the exception message.this object.defaultLibrary ()
Returns a library wrapper backed by the default native symbol lookup.
A NativeLibrary object.openLibrary (string NameOrPath)
Opens a native library by name or path. Bare names like
libgtk-4.so.1are expanded into platform equivalents (Linux .so, macOS .dylib, Windows .dll) and tried in order so the same call works on all three platforms.
NameOrPath is a string with either a library name or a full path.A NativeLibrary object.openLibraryAny (list Candidates)
Opens a native library by trying each candidate name in order. Use this when you want to be explicit about platform-specific names rather than rely on openLibrary's automatic expansion.
Candidates is a list of library name or path strings.A NativeLibrary object for the first candidate that loads.arena ()
Creates a new confined native arena for allocations.
A NativeArena object.funcType (ReturnType, list ArgTypes)
Creates a function type from a return type and argument type list.
ReturnType is a native type token or Panama type object.ArgTypes is a list of native type tokens or Panama type objects.A NativeFunctionType object.variadicFuncType (ReturnType, list FixedArgTypes)
Creates a variadic function type with a fixed argument prefix. At call time, additional args must be passed as two-element [type, value] lists so the runtime can build an ABI-correct function descriptor per call. Enables C varargs functions such as g_signal_emit_by_name, printf, and GObject property varargs.
ReturnType is a native type token or Panama type object.FixedArgTypes is a list of type tokens or Panama type objects for the fixed prefix.A NativeFunctionType object marked as variadic.callbackType (ReturnType, list ArgTypes)
Creates a native callback signature type from a return type and argument type list. Use this for callbacks that will be exposed to native code through upcalls.
ReturnType is a native type token or Panama type object.ArgTypes is a list of native type tokens or Panama type objects.A NativeCallbackType object.variadicCallbackType (ReturnType, list FixedArgTypes)
Creates a variadic callback signature with a fixed prefix.
ReturnType is a native type token or Panama type object.FixedArgTypes is a list of type tokens or Panama type objects.A NativeCallbackType object marked as variadic.field (string Name, TypeOrLayout, Ownership = null)
Creates a named field definition for use in a struct layout. When Ownership is "borrowed" or "owned", any pointer-typed value read from this field surfaces as a NativeHandle tagged with that ownership.
Name is a string with the field name.TypeOrLayout is a native type token or Panama type object.Ownership is an optional string: "borrowed" or "owned".A NativeField object.structLayout (list Fields)
Creates a struct layout from a list of fields.
Fields is a list of NativeField objects.A NativeStructLayout object.packedStructLayout (list Fields)
Creates a packed struct layout where every field is forced to 1-byte alignment. Equivalent to C's #pragma pack(1).
Fields is a list of NativeField objects.A NativeStructLayout object.bitfield (string Name, BackingType, int Width)
Creates a bitfield field definition. Use in structLayout along with other fields. Consecutive bitfields of the same backing type pack into one storage unit.
Name is the field name.BackingType is a scalar native type token.Width is the bit width, between 1 and the backing type's bit size.A NativeField object.unionLayout (list Fields)
Creates a union layout from a list of fields. Use this for low-level native unions where every field starts at offset 0.
Fields is a list of NativeField objects.A NativeStructLayout object.pointerTo (TypeOrLayout)
Creates a pointer type that targets the provided scalar or layout type.
TypeOrLayout is a native type token or Panama type object.A NativePointerType object.opaqueType (string Name)
Creates an opaque pointer type with a reserved display name. Use this for GObject-style handles such as
GtkWindow*where the caller only has a pointer and never reads the struct body.
Name is the display name to use for this opaque type.A NativePointerType object with no target layout.nullHandle (string TypeName = "pointer")
Creates a null native handle for the provided display type name. Use this for APIs that accept or return opaque native pointers.
TypeName is an optional display name such as GtkWidget*.A NativeHandle object.handle (Source, string TypeName = "pointer")
Converts a compatible Panama object into a NativeHandle. The source may be a NativeHandle, NativeBuffer, NativeStruct, or null.
Source is the value to convert into a handle.TypeName is an optional display name such as GObject*.A NativeHandle object.borrowedHandle (Source, string TypeName = "pointer", bool Nullable = true)
Converts a pointer-shaped return value into a borrowed NativeHandle. Use this after native calls that return a pointer the caller must not free.
Source is a NativeHandle, NativeBuffer, NativeStruct, or null value.TypeName is an optional display name such as GtkWidget*.Nullable is true when the returned pointer may legally be null.A NativeHandle object tagged as borrowed.ownedHandle (Source, string TypeName = "pointer", bool Nullable = true)
Converts a pointer-shaped return value into an owned NativeHandle. Use this after native calls that transfer ownership of the returned pointer to the caller.
Source is a NativeHandle, NativeBuffer, NativeStruct, or null value.TypeName is an optional display name such as GFile*.Nullable is true when the returned pointer may legally be null.A NativeHandle object tagged as owned.out (TypeName, object ArenaObj)
Allocates storage for a scalar out-parameter in the provided arena. This is intended for APIs that write values back through pointers.
TypeName is a scalar native type token such as int or size_t.ArenaObj is a NativeArena object that owns the allocation.A NativeOut object.outPointer (TargetType, object ArenaObj)
Allocates storage for a pointer out-parameter in the provided arena. The target type metadata is used when reading the result back.
TargetType is a native type token or Panama type object describing the pointed-to value.ArenaObj is a NativeArena object that owns the allocation.A NativeOut object.outStruct (object LayoutObj, object ArenaObj)
Allocates a struct out slot. Pass the returned NativeStruct directly where the native callee expects a pointer to a struct it will fill in, then read fields on the struct after the call.
LayoutObj is a NativeStructLayout describing the out struct.ArenaObj is a NativeArena object that owns the allocation.A NativeStruct object.stringArray (list Values, object ArenaObj)
Allocates a null-terminated UTF-8 pointer array. Each list item becomes one C string pointer and the array receives a trailing null pointer entry.
Values is a list of strings.ArenaObj is a NativeArena object that owns the allocation.A NativeBuffer object containing the pointer array.handleArray (list Handles, object ArenaObj)
Allocates a pointer array from a list of NativeHandle objects.
Handles is a list of NativeHandle objects or null values.ArenaObj is a NativeArena object that owns the allocation.A NativeBuffer object containing the pointer array.array (TypeOrLayout, list Values, object ArenaObj)
Allocates a native array from a list of scalar or pointer-like values. Supported element types are scalar tokens,
cstring, andpointer.
TypeOrLayout is a native type token or Panama type object.Values is a list of items to copy into the array.ArenaObj is a NativeArena object that owns the allocation.A NativeBuffer object.structArray (object LayoutObj, list Structs, object ArenaObj)
Allocates a contiguous array of struct values from NativeStruct objects. Each item must use the provided layout.
LayoutObj is a NativeStructLayout object.Structs is a list of NativeStruct objects.ArenaObj is a NativeArena object that owns the allocation.A NativeBuffer object containing the struct array bytes.readArray (TypeName, object BufferObj, int Length)
Reads a scalar array from native memory and returns it as an Aussom list.
TypeName is the scalar native type token for each element.BufferObj is a NativeBuffer object containing the array memory.Length is the number of elements to read.A list of scalar Aussom values.readHandleArray (object BufferObj, int Length, string TypeName = "pointer")
Reads a pointer array from native memory and returns NativeHandle items.
BufferObj is a NativeBuffer object containing pointer-sized elements.Length is the number of handles to read.TypeName is an optional display name for the returned handles.A list of NativeHandle objects.readStructArray (object LayoutObj, object BufferObj, int Length)
Reads a struct array from native memory and returns NativeStruct views.
LayoutObj is a NativeStructLayout object describing one element.BufferObj is a NativeBuffer object containing the struct array bytes.Length is the number of struct elements to read.A list of NativeStruct objects.readCStringArray (object BufferObj, int Length = null, bool NullTerminated = false)
Reads a UTF-8 pointer array as a list of strings.
BufferObj is a NativeBuffer object containing pointer-sized entries.Length is an optional int count. When null and NullTerminated is true, reading stops at the first null pointer.NullTerminated is true when the pointer array ends with null.A list of strings.arrayType (Element, Length = null, Ownership = null)
Creates a unified array type describing element shape, length, and optional ownership. The element may be a scalar token, a pointer token, a struct layout, or another NativeArrayType for nested arrays.
Element is the element type (token, layout, or NativeArrayType).Length is the concrete length or null.Ownership is "borrowed", "owned", or null.A NativeArrayType object.allocArrayType (object ArrayTypeObj, object ArenaObj)
Allocates a NativeBuffer sized for the given array type.
ArrayTypeObj is a NativeArrayType with a concrete length.ArenaObj is a NativeArena object that owns the allocation.A NativeBuffer object.writeArrayType (object ArrayTypeObj, list Values, object BufferObj)
Writes a list of values into a NativeBuffer using the array type for dispatch. Nested arrays accept nested lists.
ArrayTypeObj is a NativeArrayType.Values is the list of values (possibly nested).BufferObj is the NativeBuffer to write into.this object.readArrayType (object ArrayTypeObj, object BufferObj)
Reads a NativeBuffer back as an Aussom list using the array type. Nested arrays produce nested lists.
ArrayTypeObj is a NativeArrayType with a concrete length.BufferObj is the NativeBuffer to read.A list of values (possibly nested).inout (TypeName, InitialValue, object ArenaObj)
Allocates one scalar inout slot and writes the initial value.
TypeName is a scalar native type token.InitialValue is the initial scalar value to write.ArenaObj is a NativeArena object that owns the allocation.A NativeOut object.inoutPointer (TargetType, InitialValue = null, object ArenaObj)
Allocates one pointer inout slot and optionally writes the initial value.
TargetType is a native type token or Panama type object.InitialValue is an optional pointer-like value to write.ArenaObj is a NativeArena object that owns the allocation.A NativeOut object.allocStruct (object LayoutObj, object ArenaObj)
Allocates one struct instance for the provided layout.
LayoutObj is a NativeStructLayout object.ArenaObj is a NativeArena object that owns the allocation.A NativeStruct object.allocArray (TypeOrLayout, int Length, object ArenaObj)
Allocates a zero-initialized native array by element count. Supported element types are scalar tokens,
cstring,pointer, and NativeStructLayout objects.
TypeOrLayout is a native type token or Panama type object.Length is the number of elements.ArenaObj is a NativeArena object that owns the allocation.A NativeBuffer object.callback (object CallbackTypeObj, callback Fn, object ArenaObj = null)
Creates a native callback from an Aussom callback and callback signature. The callback stays alive until the returned NativeCallback is closed.
CallbackTypeObj is a NativeCallbackType object.Fn is the Aussom callback to expose to native code.ArenaObj is an optional NativeArena that owns the upcall lifetime.A NativeCallback object.callbackWithUserData (object CallbackTypeObj, callback Fn, UserData = null, object ArenaObj = null)
Creates a native callback and retains the provided pointer-like user data. This is useful for native APIs that separately register a callback and user data pointer but need both to live together for the same lifetime.
CallbackTypeObj is a NativeCallbackType object.Fn is the Aussom callback to expose to native code.UserData is a NativeHandle, NativeBuffer, NativeStruct, or null value to retain.ArenaObj is an optional NativeArena that owns the upcall lifetime.A NativeCallback object.cstring (string Text, object ArenaObj)
Allocates a null-terminated UTF-8 string in the provided arena.
Text is a string to encode.ArenaObj is a NativeArena object that owns the allocation.A NativeBuffer object.cstringWithEncoding (string Text, object ArenaObj, string Encoding)
Allocates a null-terminated string in the given encoding. Use this for platform APIs that expect non-UTF-8 text (for example Windows ANSI or legacy POSIX locale encodings).
Text is the string to encode.ArenaObj is a NativeArena object that owns the allocation.Encoding is the charset name such as "UTF-8" or "windows-1252".A NativeBuffer object.readCStringWithEncoding (object HandleObj, string Encoding)
Reads a null-terminated string at the handle address using the provided encoding.
HandleObj is a NativeHandle pointing at the string data.Encoding is the charset name such as "UTF-8" or "windows-1252".A string with the decoded text.readScalarAt (Source, int Offset, TypeName)
Reads a scalar value from a NativeBuffer, NativeStruct, NativeHandle, or NativeOut at the provided byte offset. Buffers and structs validate the access stays in bounds.
Source is a pointer-shaped object to read from.Offset is the byte offset into the source where the scalar begins.TypeName is a scalar native type token such as int or double.The scalar value as an Aussom value.writeScalarAt (Target, int Offset, TypeName, Value)
Writes a scalar value to a NativeBuffer, NativeStruct, NativeHandle, or NativeOut at the provided byte offset.
Target is a pointer-shaped object to write into.Offset is the byte offset into the target where the scalar begins.TypeName is a scalar native type token such as int or double.Value is the scalar value to write.null.structFromHandle (object LayoutObj, object HandleObj, bool Owned = false)
Wraps a raw native handle as a NativeStruct view for field-level access. The handle is reinterpreted to the layout size before the wrapper exposes struct-field accessors.
LayoutObj is a NativeStructLayout object describing the pointed-to struct.HandleObj is a NativeHandle with a non-null native pointer.Owned marks the returned wrapper as owning the memory when true.A NativeStruct object.structFromBuffer (object LayoutObj, object BufferObj)
Wraps an existing NativeBuffer as a NativeStruct view. The view shares storage with the buffer.
LayoutObj is a NativeStructLayout object.BufferObj is a NativeBuffer with at least layout-size bytes.A NativeStruct object.buffer (int ByteSize, object ArenaObj)
Allocates a raw native buffer in the provided arena.
ByteSize is an int with the number of bytes to allocate.ArenaObj is a NativeArena object that owns the allocation.A NativeBuffer object.fromBuffer (object Buff, object ArenaObj)
Copies an Aussom Buffer object into arena-owned native memory.
Buff is a Buffer object with the bytes to copy.ArenaObj is a NativeArena object that owns the allocation.A NativeBuffer object.bindFunctionPointer (object HandleObj, object FuncType, string SymbolName = "function-pointer")
Wraps a native function-pointer handle as a callable NativeFunction. Use this when a native call returns a function pointer the caller is expected to invoke (GObject vtable slots, plugin registrations).
HandleObj is a NativeHandle whose native address is a function pointer.FuncType is the NativeFunctionType describing the callee's signature.SymbolName is an optional name used in diagnostic messages.A NativeFunction object that invokes the underlying pointer.retainCallback (string Key, object Callback, Scope = null)
Retains a callback in a named scope so native code can keep the upcall pointer alive across the Aussom call boundary. Replacing an existing key releases the prior callback first.
Key is the identifier to register the callback under.Callback is the NativeCallback to pin.Scope is null (global registry), a NativeArena, or a NativeLibrary.this object.releaseCallback (string Key, Scope = null)
Releases a previously retained callback by key.
Key is the identifier the callback was registered under.Scope is null (global registry), a NativeArena, or a NativeLibrary.A bool with true when an entry was present and released.hasRetainedCallback (string Key, Scope = null)
Returns true when the named key is currently retained in the given scope.
Key is the identifier to check.Scope is null (global registry), a NativeArena, or a NativeLibrary.A bool with true when the key is retained in the scope.[817:14] (extern: com.lehman.aussom.stdlib.PanamaNativeBuffer) extends: object
NativeBuffer wraps a native memory segment with explicit size tracking.
size ()
Returns the buffer size in bytes.
An int with the size in bytes.readInt (int Offset = 0)
Reads an int at the provided byte offset.
Offset is an optional int byte offset. Defaults to 0.An int with the read value.writeInt (int Value, int Offset = 0)
Writes an int at the provided byte offset.
Value is the int value to write.Offset is an optional int byte offset. Defaults to 0.This object.readLong (int Offset = 0)
Reads a long at the provided byte offset.
Offset is an optional int byte offset. Defaults to 0.An int with the read value.writeLong (int Value, int Offset = 0)
Writes a long at the provided byte offset.
Value is the long value to write.Offset is an optional int byte offset. Defaults to 0.This object.readDouble (int Offset = 0)
Reads a double at the provided byte offset.
Offset is an optional int byte offset. Defaults to 0.A double with the read value.writeDouble (double Value, int Offset = 0)
Writes a double at the provided byte offset.
Value is the double value to write.Offset is an optional int byte offset. Defaults to 0.This object.readString ()
Reads a null-terminated UTF-8 string from the start of the buffer.
A string with the decoded value.writeString (string Value)
Writes a null-terminated UTF-8 string at the start of the buffer.
Value is a string with the text to write.This object.toBuffer ()
Copies the native bytes into an Aussom Buffer object.
A Buffer object.[664:14] (extern: com.lehman.aussom.stdlib.PanamaNativeHandle) extends: object
NativeHandle wraps an opaque native address with a display type name. Use handles for object pointers and other pointer-shaped values that are not intended to be read and written as raw memory buffers.
isNull ()
Returns true when the handle points at the native null address.
A bool with true when the handle is null.typeName ()
Returns the display type name stored with this handle.
A string such as pointer or GtkWidget*.ownership ()
Returns the ownership metadata stored with this handle when known. The result is
NativeOwnership.borrowed,NativeOwnership.owned, or null when the handle does not carry explicit ownership metadata.
A NativeOwnership value or null.nullable ()
Returns true when this handle was marked as nullable. This describes the expected return policy, not the current pointer value.
A bool with true when null is allowed for this handle.isOwned ()
Returns true when this handle was marked as owned.
A bool with true when ownership metadata is owned.isBorrowed ()
Returns true when this handle was marked as borrowed.
A bool with true when ownership metadata is borrowed.equals (object Other)
Compares this handle to another NativeHandle using native address equality.
Other is another NativeHandle object.A bool with true when both handles point to the same address.[981:14] (extern: com.lehman.aussom.stdlib.PanamaNativeStruct) extends: object
NativeStruct wraps one allocated struct instance and exposes field access.
set (string FieldName, Value)
Sets a named field on the struct.
FieldName is a string with the field name.Value is the value to write.This object.get (string FieldName)
Gets a named field from the struct.
FieldName is a string with the field name.The converted field value.buffer ()
Returns a NativeBuffer view over the struct memory.
A NativeBuffer object.layout ()
Returns the layout for this struct instance.
A NativeStructLayout object.[945:14] (extern: com.lehman.aussom.stdlib.PanamaNativeStructLayout) extends: object
NativeStructLayout stores struct metadata and field offsets.
size ()
Returns the total struct size in bytes.
An int with the size in bytes.alignment ()
Returns the struct byte alignment.
An int with the alignment.fieldOffset (string FieldName)
Returns the byte offset of the provided field name.
FieldName is a string with the field name.An int with the byte offset.fieldNames ()
Returns the field names in declaration order.
A list of field name strings.isUnion ()
Returns true when this layout describes a union instead of a struct.
A bool with true when the layout is a union.[585:14] (extern: com.lehman.aussom.stdlib.PanamaNativeFunction) extends: object
NativeFunction wraps a bound native symbol and exposes call().
call (...)
Calls the native function with the provided arguments.
etc is a variadic list of function arguments.The converted return value.symbol ()
Returns the bound symbol name.
A string with the symbol name.signature ()
Returns a map describing the function signature.
A map with returnType and argTypes entries.[752:14] (extern: com.lehman.aussom.stdlib.PanamaNativeField) extends: object
NativeField stores one named struct field definition.
name ()
Returns the field name.
A string with the field name.typeName ()
Returns the type display name for the field.
A string with the type display name.ownership ()
Returns the ownership tag declared for this field, or null. The tag is "borrowed" or "owned" when set.
A string ownership tag or null.[10:6] static extends: object
Defines ownership metadata for returned native pointers. Use this to distinguish borrowed pointer results from owned ones when converting raw pointer-shaped return values into NativeHandle objects.
[717:14] (extern: com.lehman.aussom.stdlib.PanamaNativeCallback) extends: object
NativeCallback wraps one Aussom callback exposed as a native function pointer. The callback can be passed directly to native functions that expect a callback pointer or converted to a NativeHandle with handle().
handle (string TypeName = "callback")
Returns this callback as a NativeHandle.
TypeName is an optional display name override.A NativeHandle object pointing at the callback stub.close ()
Closes the callback and releases any internally owned resources. A closed callback must not be passed to native code again.
this objectrelease ()
Fully releases the callback: closes the owned shared arena, drops retained user data, and marks the callback closed. Idempotent. Use this when the callback was handed to a native API that has since released the pointer, to free both the upcall stub and any retained Aussom-side references.
this objectisClosed ()
Returns true when the callback has been closed.
A bool with true when the callback is closed.[776:14] (extern: com.lehman.aussom.stdlib.PanamaNativeArena) extends: object
NativeArena owns native memory allocations.
alloc (TypeName, Value = null)
Allocates memory for a scalar or pointer token.
TypeName is a native type token.Value is an optional initial value.A NativeBuffer object.allocLayout (object LayoutObj)
Allocates memory for the provided struct layout.
LayoutObj is a NativeStructLayout object.A NativeStruct object.allocArray (TypeName, list Values)
Allocates a scalar array from a list of values.
TypeName is a scalar native type token.Values is a list of values to copy into the new array.A NativeBuffer object.allocBuffer (int ByteSize)
Allocates a raw native buffer.
ByteSize is an int with the number of bytes to allocate.A NativeBuffer object.close ()
Closes the arena and frees owned allocations.
This object.[559:14] (extern: com.lehman.aussom.stdlib.PanamaNativeLibrary) extends: object
NativeLibrary wraps a native symbol lookup and binds symbols to functions.
bind (string SymbolName, object FuncType)
Binds the provided symbol name to the provided function type.
SymbolName is a string with the symbol to bind.FuncType is a NativeFunctionType object.A NativeFunction object.hasSymbol (string SymbolName)
Returns true if the symbol exists in this library lookup.
SymbolName is a string with the symbol to check.A bool with true when the symbol exists.name ()
Returns the library name or identifier used to create this lookup.
A string with the library name.[633:14] (extern: com.lehman.aussom.stdlib.PanamaArrayType) extends: object
NativeArrayType describes a homogeneous array: element type, length, and ownership. Supports nested arrays via an inner NativeArrayType as the element.
length ()
Returns the concrete length or 0 when unset.
An int.elementTypeName ()
Returns the element type display name.
A string.isNested ()
Returns true when the element is another NativeArrayType.
A bool.ownership ()
Returns the ownership tag ("borrowed", "owned", or null).
A string or null.