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
public class SlotSet extends Procedure3 implements Inlineable
-
-
Field Summary
Fields Modifier and Type Field Description static SlotSet
setField
static SlotSet
setStaticField
-
Fields 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
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static void
apply(boolean isStatic, Object obj, Object member, Object value)
Object
apply3(Object obj, Object fname, Object value)
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
setField(Object obj, String name, Object value)
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
-
-
-
-
Constructor Detail
-
SlotSet
public SlotSet(String name, boolean isStatic)
-
-
Method Detail
-
apply3
public Object apply3(Object obj, Object fname, Object value)
- Specified by:
apply3
in classProcedure3
-
lookupMember
public static Member lookupMember(ObjectType clas, String name, ClassType caller)
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
public void compile(ApplyExp exp, Compilation comp, Target target)
- Specified by:
compile
in interfaceInlineable
-
-