Reflect
The Reflect API is a way to manipulate values dynamically through an abstract interface in an untyped manner. Use with care.
Static Members
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.
Name | Type |
---|---|
o |
Dynamic |
field |
String |
Returns |
---|
Bool |
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.
Name | Type |
---|---|
o |
Dynamic |
field |
String |
Returns |
---|
Dynamic |
Sets the field named field
of object o
to value value
.
If o
has no field named field
, this function is only guaranteed to
work for anonymous structures.
If o
or field
are null, the result is unspecified.
Name | Type |
---|---|
o |
Dynamic |
field |
String |
value |
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.
Name | Type |
---|---|
o |
Dynamic |
field |
String |
Returns |
---|
Dynamic |
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.
Name | Type |
---|---|
o |
Dynamic |
field |
String |
value |
Dynamic |
callMethod(o: Dynamic, func: haxe.Function, args: Array<Dynamic>): Dynamic
Call a method func
with the given arguments args
.
The object o
is ignored in most cases. It serves as the this
-context in the following
situations:
(neko) Allows switching the context to o
in all cases.
(macro) Same as neko for Haxe 3. No context switching in Haxe 4.
(js, lua) Require the o
argument if func
does not, but should have a context.
This can occur by accessing a function field natively, e.g. through Reflect.field
or by using (object : Dynamic).field
. However, if func
has a context, o
is
ignored like on other targets.
Name | Type |
---|---|
o |
Dynamic |
func |
haxe.Function |
args |
Array<Dynamic> |
Returns |
---|
Dynamic |
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.
Name | Type |
---|---|
o |
Dynamic |
Returns |
---|
Array<String> |
Returns true if f
is a function, false otherwise.
If f
is null, the result is false.
Name | Type |
---|---|
f |
Dynamic |
Returns |
---|
Bool |
compare(a: compare.T, b: compare.T): Int
Compares a
and b
.
If a
is less than b
, the result is negative. If b
is less than
a
, the result is positive. If a
and b
are equal, the result is 0.
This function is only defined if a
and b
are of the same type.
If that type is a function, the result is unspecified and
Reflect.compareMethods
should be used instead.
For all other types, the result is 0 if a
and b
are equal. If they
are not equal, the result depends on the type and is negative if:
- Numeric types: a is less than b
- String: a is lexicographically less than b
- Other: unspecified
If a
and b
are null, the result is 0. If only one of them is null,
the result is unspecified.
Name | Type |
---|---|
a |
compare.T |
b |
compare.T |
Returns |
---|
Int |
Tells if v
is an object.
The result is true if v
is one of the following:
- class instance
- structure
Class<T>
Enum<T>
Otherwise, including if v
is null, the result is false.
Name | Type |
---|---|
v |
Dynamic |
Returns |
---|
Bool |
Tells if v
is an enum value.
The result is true if v
is of type EnumValue, i.e. an enum
constructor.
Otherwise, including if v
is null, the result is false.
Name | Type |
---|---|
v |
Dynamic |
Returns |
---|
Bool |
Removes the field named field
from structure o
.
This method is only guaranteed to work on anonymous structures.
If o
or field
are null, the result is unspecified.
Name | Type |
---|---|
o |
Dynamic |
field |
String |
Returns |
---|
Bool |
Copies the fields of structure o
.
This is only guaranteed to work on anonymous structures.
If o
is null, the result is null
.
Name | Type |
---|---|
o |
Null<copy.T> |
Returns |
---|
Null<copy.T> |
makeVarArgs(f: Function): Dynamic
Transform a function taking an array of arguments into a function that can be called with any number of arguments.
Name | Type |
---|---|
f |
Function |
Returns |
---|
Dynamic |
Metadata
Name | Parameters |
---|---|
:analyzer |
ignore |