Package gnu.kawa.reflect
Class SlotSet
java.lang.Object
gnu.mapping.PropertySet
gnu.mapping.Procedure
gnu.mapping.Procedure3
gnu.kawa.reflect.SlotSet
- All Implemented Interfaces:
Inlineable
,Named
-
Field Summary
FieldsFields inherited from class gnu.mapping.Procedure3
applyToObject
Fields inherited from class gnu.mapping.Procedure
applyMethodType, applyToConsumerDefault, applyToConsumerMethod, applyToObjectDefault, applyToObjectMethod, compilerKey, compilerXKey, inlineIfConstantSymbol, validateApplyKey, validateXApplyKey
Fields inherited from class gnu.mapping.PropertySet
nameKey
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic void
void
compile
(ApplyExp exp, Compilation comp, Target target) static Member
lookupMember
(ObjectType clas, String name, ClassType caller) Get a setter property - field or 'set' accessor method.static void
static void
setStaticField
(Object obj, String name, Object value) Methods inherited from class gnu.mapping.Procedure3
apply0, apply1, apply2, apply4, applyN, applyToObject, numArgs
Methods inherited from class gnu.mapping.Procedure
applyL, applyToConsumerDefault, applyToObjectDefault, checkArgCount, checkBadCode, getApplyMethod, getApplyToConsumerMethod, getApplyToObjectMethod, getReturnType, getSetter, getSourceLocation, isSideEffectFree, lookupApplyHandle, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation, toString
Methods inherited from class gnu.mapping.PropertySet
getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
-
Field Details
-
setField
-
setStaticField
-
-
Constructor Details
-
SlotSet
-
-
Method Details
-
setField
-
setStaticField
-
apply
-
apply3
- Specified by:
apply3
in classProcedure3
-
lookupMember
Get a setter property - field or 'set' accessor method.- Parameters:
clas
- the class type declaring the property.name
- the source (unmangled) name of the property. Note if a method is returned it may not be the most specific/appropriate, since we don't take the setter value into account here. Therefore it is best to just use the method name, and do a second lookup that takes arguments into account, as in CompileReflect#makeSetterCall.
-
compile
- Specified by:
compile
in interfaceInlineable
-