public class NamedPart extends ProcedureN implements HasSetter, java.io.Externalizable
Modifier and Type | Class and Description |
---|---|
static class |
NamedPart.Setter |
applyToObject, noArgs
applyMethodType, applyToConsumerDefault, applyToConsumerMethod, applyToObjectDefault, applyToObjectMethod, compilerKey, compilerXKey, inlineIfConstantSymbol, validateApplyKey, validateXApplyKey
nameKey
Constructor and 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) |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
applyN(java.lang.Object[] args) |
Procedure |
getSetter() |
int |
numArgs()
Return
minArgs()|(maxArgs<<12) . |
void |
readExternal(java.io.ObjectInput in) |
void |
set0(java.lang.Object value)
If HasSetter, the Procedure is called in the LHS of an assignment.
|
void |
set1(java.lang.Object object,
java.lang.Object value) |
void |
writeExternal(java.io.ObjectOutput out) |
applyToObject
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
getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
public NamedPart(java.lang.Object container, java.lang.Object member, char kind)
public NamedPart(java.lang.Object container, java.lang.String mname, char kind, MethodProc methods)
public int numArgs()
Procedure
minArgs()|(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.public java.lang.Object applyN(java.lang.Object[] args) throws java.lang.Throwable
public Procedure getSetter()
public void set0(java.lang.Object value) throws java.lang.Throwable
Procedure
public void set1(java.lang.Object object, java.lang.Object value) throws java.lang.Throwable
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
writeExternal
in interface java.io.Externalizable
java.io.IOException
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException
readExternal
in interface java.io.Externalizable
java.io.IOException
java.lang.ClassNotFoundException