Package gnu.kawa.functions
Class NamedPart
- java.lang.Object
-
- gnu.mapping.PropertySet
-
- gnu.mapping.Procedure
-
- gnu.mapping.ProcedureN
-
- gnu.kawa.functions.NamedPart
-
public class NamedPart extends ProcedureN implements HasSetter, java.io.Externalizable
A reference to a named feature/part of a specific object.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classNamedPart.Setter
-
Field Summary
-
Fields inherited from class gnu.mapping.ProcedureN
applyToObject, noArgs
-
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 Constructor Description NamedPart(java.lang.Object container, java.lang.Object member, char kind)NamedPart(java.lang.Object container, java.lang.String mname, char kind, MethodProc methods)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.ObjectapplyN(java.lang.Object[] args)ProceduregetSetter()intnumArgs()ReturnminArgs()|(maxArgs<<12).voidreadExternal(java.io.ObjectInput in)voidset0(java.lang.Object value)If HasSetter, the Procedure is called in the LHS of an assignment.voidset1(java.lang.Object object, java.lang.Object value)voidwriteExternal(java.io.ObjectOutput out)-
Methods inherited from class gnu.mapping.ProcedureN
applyToObject
-
Methods inherited from class gnu.mapping.Procedure
apply0, apply1, apply2, apply3, apply4, applyL, applyToConsumerDefault, applyToObjectDefault, checkArgCount, checkBadCode, getApplyMethod, getApplyToConsumerMethod, getApplyToObjectMethod, getReturnType, getSourceLocation, isSideEffectFree, lookupApplyHandle, maxArgs, maxArgs, minArgs, minArgs, setN, setSetter, setSourceLocation, toString
-
Methods inherited from class gnu.mapping.PropertySet
getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
-
-
-
-
Constructor Detail
-
NamedPart
public NamedPart(java.lang.Object container, java.lang.Object member, char kind)
-
NamedPart
public NamedPart(java.lang.Object container, java.lang.String mname, char kind, MethodProc methods)
-
-
Method Detail
-
numArgs
public int numArgs()
Description copied from class:ProcedureReturnminArgs()|(maxArgs<<12). We use a single virtual function to reduce the number of methods in the system, as well as the number of virtual method table entries. We shift by 12 so the number can normally be represented using a sipush instruction, without requiring a constant pool entry.
-
applyN
public java.lang.Object applyN(java.lang.Object[] args) throws java.lang.Throwable
-
getSetter
public Procedure getSetter()
-
set0
public void set0(java.lang.Object value) throws java.lang.ThrowableDescription copied from class:ProcedureIf HasSetter, the Procedure is called in the LHS of an assignment.
-
set1
public void set1(java.lang.Object object, java.lang.Object value) throws java.lang.Throwable
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException- Specified by:
writeExternalin interfacejava.io.Externalizable- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException- Specified by:
readExternalin interfacejava.io.Externalizable- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
-