The Haxe Reflection API allows retrieval of type information at runtime.

This class complements the more lightweight Reflect class, with a focus on class and enum instances.

See:

Static methods

staticcreateEnum<T> (e:Enum<T>, constr:String, ?params:Array<Dynamic>):T

Creates an instance of enum e by calling its constructor constr with arguments params.

If e or constr is null, or if enum e has no constructor named constr, or if the number of elements in params does not match the expected number of constructor arguments, or if any argument has an invalid type, the result is unspecified.

staticcreateInstance<T> (cl:Class<T>, args:Array<Dynamic>):T

Creates an instance of class cl, using args as arguments to the class constructor.

This function guarantees that the class constructor is called.

Default values of constructors arguments are not guaranteed to be taken into account.

If cl or args are null, or if the number of elements in args does not match the expected number of constructor arguments, or if any argument has an invalid type, or if cl has no own constructor, the result is unspecified.

In particular, default values of constructor arguments are not guaranteed to be taken into account.

staticenumParameters (e:EnumValue):Array<Dynamic>

Returns a list of the constructor arguments of enum instance e.

If e has no arguments, the result is [].

Otherwise the result are the values that were used as arguments to e, in the order of their declaration.

If e is null, the result is unspecified.

staticgetInstanceFields (c:Class<Dynamic>):Array<String>

Returns a list of the instance fields of class c.

This only includes fields which are known at compile-time. In particular, using getInstanceFields(getClass(obj)) will not include any fields which were added to obj at runtime.

The order of the fields in the returned Array is unspecified.

If c is null, the result is unspecified.

(As3) This method only returns instance fields that are public.

statictypeof (v:Dynamic):ValueType

Returns the runtime type of value v.

The result corresponds to the type v has at runtime, which may vary per platform. Assumptions regarding this should be minimized to avoid surprises.