ReflectedInterfaceMethod

Represents information about an interface method recorded in a ReflectedInterface.


$struct+ ReflectedInterfaceMethod
{
    $bool IsConst() const { return m_isConst; }
    $ConstStringZ GetName() const { return m_name; }
    $ssize_t GetNumArgs() const { return m_numArgs; }
    $const ReflectedArg& GetArg(ssize_t i) const { return m_args[i]; }

    //////////////// State //////////////////
    ConstStringZ m_name;
    ReflectedReturnType m_returnType;
    const ReflectedArg* m_args;
    ssize_t m_numArgs;
    const octet_t* m_metaData;
    bool m_isConst;
};

const ReflectedFunction& AsReflectedFunction(const ReflectedInterfaceMethod& rim);


ConstStringZ m_name

The name of the method represented as a pointer to a UTF-8 encoded null-terminated string (see ConstStringZ).


ReflectedReturnType m_returnType

The ReflectedReturnType records the method return type.


const ReflectedArg* m_args

Pointer to an array of ReflectedArg to record the names and types of the method arguments, or null if there are zero arguments.


ssize_t m_numArgs

The number of elements in the m_args array.


const octet_t* m_metaData

Pointer to metadata byte code on the method or null if no metadata declared.


bool m_isConst

If true then the method was declared with the 'const' qualifier. A const method doesn't mutate the underlying object.