class Reflect
The Reflect API is a way to manipulate values dynamicly through an abstract interface in an untyped manner. Use with care.
Class Fields
static function copy<T>(o:T): T
Copies the fields of structure o
.
This is only guaranteed to work on anonymous structures.
If o
is null, the result is unspecified.
static function field(o:Dynamic, field:String): Dynamic
Returns the value of the field named field
on object o
.
If o
is not an object or has no field named field
, the result is
null.
If the field is defined as a property, its accessors are ignored. Refer
to Reflect.getProperty
for a function supporting property accessors.
If field
is null, the result is unspecified.
(As3) If used on a property field, the getter will be invoked. It is not possible to obtain the value directly.
static function fields(o:Dynamic): Array<String>
Returns the fields of structure o
.
This method is only guaranteed to work on anonymous structures. Refer to
Type.getInstanceFields
for a function supporting class instances.
If o
is null, the result is unspecified.
static function getProperty(o:Dynamic, field:String): Dynamic
Returns the value of the field named field
on object o
, taking
property getter functions into account.
If the field is not a property, this function behaves like
Reflect.field
, but might be slower.
If o
or field
are null, the result is unspecified.
static function hasField(o:Dynamic, field:String): Bool
Tells if structure o
has a field named field
.
This is only guaranteed to work for anonymous structures. Refer to
Type.getInstanceFields
for a function supporting class instances.
If o
or field
are null, the result is unspecified.
static function isFunction(f:Dynamic): Bool
Returns true if f
is a function, false otherwise.
If f
is null, the result is false.
static function makeVarArgs(f:Array<Dynamic> ->Dynamic): Dynamic
static function makeVarArgs(f:Array<Dynamic> ->Void): Dynamic
Transform a function taking an array of arguments into a function that can be called with any number of arguments.
static function setProperty(o:Dynamic, field:String, value:Dynamic): Void
Sets the field named field
of object o
to value value
, taking
property setter functions into account.
If the field is not a property, this function behaves like
Reflect.setField
, but might be slower.
If field
is null, the result is unspecified.