Fantom

 

const class

sys::Field

sys::Obj
  sys::Slot
    sys::Field

Field is a slot which models the ability to get and set a value.

Slots

getSource

virtual Obj? get(Obj? instance := null)

Get the field for the specified instance. If the field is static, then the instance parameter is ignored. If the getter is non-null, then it is used to get the field.

makeSetFuncSource

static |Obj| makeSetFunc(Field:Obj? vals)

Construct a function which sets zero or more fields on a target object. The function can be passed to a constructor which takes an it-block to reflectively set const fields. Example:

const class Foo
{
  new make(|This|? f := null) { f?.call(this) }
  const Int x
}

f := Field.makeSetFunc([Foo#x: 7])
Foo foo := Foo#.make([f])
setSource

virtual Void set(Obj? instance, Obj? value)

Set the field for the specified instance. If the field is static, then the instance parameter is ignored. If the setter is non-null, then it is used to set the field.

typeSource

Type type()

Type stored by the field.