Package kawa.lang
Class RecordConstructor
- java.lang.Object
-
- gnu.mapping.PropertySet
-
- gnu.mapping.Procedure
-
- gnu.mapping.ProcedureN
-
- kawa.lang.RecordConstructor
-
- All Implemented Interfaces:
Named
public class RecordConstructor extends ProcedureN
-
-
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 RecordConstructor(ClassType type)
RecordConstructor(ClassType type, Field[] fields)
RecordConstructor(ClassType type, Object fieldsList)
RecordConstructor(Class clas)
RecordConstructor(Class clas, Field[] fields)
RecordConstructor(Class clas, Object fieldsList)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
applyN(Object[] args)
String
getName()
int
numArgs()
ReturnminArgs()|(maxArgs<<12)
.-
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, getSetter, getSourceLocation, isSideEffectFree, lookupApplyHandle, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation, toString
-
Methods inherited from class gnu.mapping.PropertySet
getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
-
-
-
-
Method Detail
-
numArgs
public int numArgs()
Description copied from class:Procedure
ReturnminArgs()|(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.
-
getName
public String getName()
- Specified by:
getName
in interfaceNamed
- Overrides:
getName
in classPropertySet
-
-