kawa.lang
Class AutoloadProcedure
java.lang.Object
gnu.mapping.PropertySet
gnu.mapping.Procedure
kawa.lang.AutoloadProcedure
- All Implemented Interfaces:
- Named, java.io.Externalizable, java.io.Serializable
public class AutoloadProcedure
- extends Procedure
- implements java.io.Externalizable
Implement autoloading of Procedures.
A named class is loaded, and apply requests are forwarded to it.
- See Also:
- Serialized Form
|
Method Summary |
java.lang.Object |
apply0()
|
java.lang.Object |
apply1(java.lang.Object arg1)
|
java.lang.Object |
apply2(java.lang.Object arg1,
java.lang.Object arg2)
|
java.lang.Object |
apply3(java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3)
|
java.lang.Object |
apply4(java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4)
|
java.lang.Object |
applyN(java.lang.Object[] args)
|
Procedure |
getLoaded()
|
java.lang.Object |
getProperty(java.lang.Object key,
java.lang.Object defaultValue)
|
Procedure |
getSetter()
|
int |
numArgs()
Return minArgs()|(maxArgs<<12). |
void |
print(java.io.PrintWriter ps)
|
void |
readExternal(java.io.ObjectInput in)
|
void |
writeExternal(java.io.ObjectOutput out)
|
| Methods inherited from class gnu.mapping.Procedure |
apply, apply, check0, check1, check2, check3, check4, checkArgCount, checkN, getReturnType, getSourceLocation, isSideEffectFree, match0, match1, match2, match3, match4, matchN, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation, toString |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
AutoloadProcedure
public AutoloadProcedure()
AutoloadProcedure
public AutoloadProcedure(java.lang.String name,
java.lang.String className)
AutoloadProcedure
public AutoloadProcedure(java.lang.String name,
java.lang.String className,
Language language)
print
public void print(java.io.PrintWriter ps)
getLoaded
public Procedure getLoaded()
numArgs
public int numArgs()
- Description copied from class:
Procedure
- Return
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.
- Overrides:
numArgs in class Procedure
apply0
public java.lang.Object apply0()
throws java.lang.Throwable
- Specified by:
apply0 in class Procedure
- Throws:
java.lang.Throwable
apply1
public java.lang.Object apply1(java.lang.Object arg1)
throws java.lang.Throwable
- Specified by:
apply1 in class Procedure
- Throws:
java.lang.Throwable
apply2
public java.lang.Object apply2(java.lang.Object arg1,
java.lang.Object arg2)
throws java.lang.Throwable
- Specified by:
apply2 in class Procedure
- Throws:
java.lang.Throwable
apply3
public java.lang.Object apply3(java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3)
throws java.lang.Throwable
- Specified by:
apply3 in class Procedure
- Throws:
java.lang.Throwable
apply4
public java.lang.Object apply4(java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4)
throws java.lang.Throwable
- Specified by:
apply4 in class Procedure
- Throws:
java.lang.Throwable
applyN
public java.lang.Object applyN(java.lang.Object[] args)
throws java.lang.Throwable
- Specified by:
applyN in class Procedure
- Throws:
java.lang.Throwable
getSetter
public Procedure getSetter()
- Overrides:
getSetter in class Procedure
writeExternal
public void writeExternal(java.io.ObjectOutput out)
throws java.io.IOException
- Specified by:
writeExternal in interface java.io.Externalizable
- Throws:
java.io.IOException
readExternal
public void readExternal(java.io.ObjectInput in)
throws java.io.IOException,
java.lang.ClassNotFoundException
- Specified by:
readExternal in interface java.io.Externalizable
- Throws:
java.io.IOException
java.lang.ClassNotFoundException
getProperty
public java.lang.Object getProperty(java.lang.Object key,
java.lang.Object defaultValue)
- Overrides:
getProperty in class PropertySet