gnu.kawa.functions

Class GetNamedInstancePart

Implemented Interfaces:
Externalizable, CanInline, HasSetter, Named

public class GetNamedInstancePart
extends ProcedureN
implements Externalizable, CanInline, HasSetter

The value of the Kawa Scehem expression '*:PART-NAME'. This function invokes a method or accesses a field, if the PART-NAME starts with a '.'. This syntax is semi-depecated, since instead of (*:method-name instance args ...) you can now write (instance:method-name args ...), and instead of (*:.field-name instance) you can write instance:field-name (without the parentheses).

Field Summary

Fields inherited from class gnu.mapping.ProcedureN

noArgs

Constructor Summary

GetNamedInstancePart()
GetNamedInstancePart(String name)

Method Summary

Object
applyN(Object[] args)
Procedure
getSetter()
Expression
inline(ApplyExp exp, ExpWalker walker)
Inline an application of this Procedure and return result.
static Expression
makeExp(Expression member)
int
numArgs()
Return minArgs()|(maxArgs<<12).
void
readExternal(ObjectInput in)
void
setPartName(String name)
void
writeExternal(ObjectOutput out)

Methods inherited from class gnu.mapping.ProcedureN

apply0, apply1, apply2, apply3, apply4, applyN

Methods inherited from class gnu.mapping.Procedure

apply, apply, apply0, apply1, apply2, apply3, apply4, applyN, check0, check1, check2, check3, check4, checkArgCount, checkN, getSetter, getSourceLocation, match0, match1, match2, match3, match4, matchN, maxArgs, minArgs, numArgs, set0, set1, setN, setSetter, setSourceLocation, toString

Methods inherited from class gnu.mapping.PropertySet

getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol

Constructor Details

GetNamedInstancePart

public GetNamedInstancePart()

GetNamedInstancePart

public GetNamedInstancePart(String name)

Method Details

applyN

public Object applyN(Object[] args)
            throws Throwable
Overrides:
applyN in interface ProcedureN

getSetter

public Procedure getSetter()
Specified by:
getSetter in interface HasSetter
Overrides:
getSetter in interface Procedure

inline

public Expression inline(ApplyExp exp,
                         ExpWalker walker)
Inline an application of this Procedure and return result. Can return original expression.
Specified by:
inline in interface CanInline

makeExp

public static Expression makeExp(Expression member)

numArgs

public int numArgs()
Return minArgs()|(maxArgs<<12).
Overrides:
numArgs in interface Procedure

readExternal

public void readExternal(ObjectInput in)
            throws IOException,
                   ClassNotFoundException

setPartName

public void setPartName(String name)

writeExternal

public void writeExternal(ObjectOutput out)
            throws IOException