// Type 2: a reference to a static member of a class. // * type is STATIC or FUNCTION (FUNCTION implying non-static function) // * ix is index into the given ClassDef's _statics or _memberFuncs public MemberRef(ClassDef staticOwnerIn, ClassDef.MemberType typeIn, int ixIn) { Pb.Assert(ClassDef.MemberType.STATIC == typeIn || ClassDef.MemberType.FUNCTION == typeIn); memberType = typeIn; ix = ixIn; classDef = staticOwnerIn; }
// Type 0: Use this to indicate an invalid MemberRef. Used as error return values. // Don't create these, just use "invalid". private MemberRef(bool bad) { memberType = ClassDef.MemberType.NORMAL; ix = -1; classDef = null; }
// Type 1: a reference to a non-static member. // * NORMAL type is implied (functions can be looked up from the ClassDef) // * ix is index into _fields public MemberRef(int ixIn) { memberType = ClassDef.MemberType.NORMAL; ix = ixIn; classDef = null; }