abstract const class sys::Slot

sys::Obj
  sys::Slot

Source

Slot represents a member field or method on a Type.

doc

Str? doc()

Source

Return the raw fandoc for this slot or null if not available.

facet

Facet? facet(Type type, Bool checked := true)

Source

Get a facet by its type. If not found on this slot then return null or throw UnknownFacetErr based on check flag. See Facets Doc for details.

facets

Facet[] facets()

Source

Get the list of facets defined on this slot or return an empty list if no facets are defined. If looking up a facet by type, then use the facet method which will provide better performance. See Facets Doc for details.

find

static Slot? find(Str qname, Bool checked := true)

Source

Find a Slot by its qualified name "pod::Type.slot". If the slot doesn't exist and checked is false then return null, otherwise throw UnknownSlotErr.

findField

static Field? findField(Str qname, Bool checked := true)

Source

Convenience for (Field)find(qname, checked)

findFunc

static Func? findFunc(Str qname, Bool checked := true)

Source

Convenience for findMethod(qname, checked).func

findMethod

static Method? findMethod(Str qname, Bool checked := true)

Source

Convenience for (Method)find(qname, checked)

hasFacet

Bool hasFacet(Type type)

Source

Return if this type has the specified facet defined.

isAbstract

Bool isAbstract()

Source

Return if slot is abstract (no implementation provided).

isConst

Bool isConst()

Source

Return if slot is constant and thread safe. A constant field is explicitly marked with the const modifier and guaranteed to always reference the same immutable object for the life of the VM. A const method is guaranteed to not capture any state from its thread, and is safe to execute on other threads. The compiler marks methods as const based on the following analysis:

  • static methods are always automatically const
  • instance methods are never const
  • closures which don't capture any variables from their scope are automatically const
  • partial apply methods which only capture const variables from their scope are automatically const
isCtor

Bool isCtor()

Source

Return if slot is constructor method.

isField

Bool isField()

Source

Return true if this is an instance of Field.

isInternal

Bool isInternal()

Source

Return if slot has internal protection scope.

isMethod

Bool isMethod()

Source

Return true if this is an instance of Method.

isNative

Bool isNative()

Source

Return if slot is native.

isOverride

Bool isOverride()

Source

Return if slot is an override (of parent's virtual method).

isPrivate

Bool isPrivate()

Source

Return if slot has private protection scope.

isProtected

Bool isProtected()

Source

Return if slot has protected protection scope.

isPublic

Bool isPublic()

Source

Return if slot has public protection scope.

isStatic

Bool isStatic()

Source

Return if slot is static (class based, rather than instance).

isSynthetic

Bool isSynthetic()

Source

Return if this slot was generated by the compiler.

isVirtual

Bool isVirtual()

Source

Return if slot is virtual (may be overridden in subclasses).

name

Str name()

Source

Simple name of the slot such as "size".

parent

Type parent()

Source

Parent type which defines this slot.

qname

Str qname()

Source

Qualified name such as "sys:Str.size".

signature

virtual Str signature()

Source

Return a string representation of the Fantom code signature.

toStr

virtual override Str toStr()

Source

Always return qname().