gnu.expr
Class ReferenceExp
java.lang.Object
gnu.mapping.Procedure
gnu.mapping.Procedure0
gnu.expr.Expression
gnu.expr.AccessExp
gnu.expr.ReferenceExp
- All Implemented Interfaces:
- Named, Printable
- Direct Known Subclasses:
- ThisExp
public class ReferenceExp
- extends AccessExp
This class represents a variable reference (an identifier).
Methods inherited from class gnu.expr.Expression |
apply, apply0, compile, compileButFirst, compileNotePosition, compileWithPosition, compileWithPosition, eval, getColumn, getFile, getFlag, getFlags, getLine, makeWhile, match0, print, printLineColumn, setFile, setFlag, setFlag, setLine, setLine, setLine, setLine, walkChildren |
Methods inherited from class gnu.mapping.Procedure |
apply, check0, check1, check2, check3, check4, checkArgCount, checkN, getProperty, getSetter, match1, match2, match3, match4, matchN, maxArgs, minArgs, name, removeProperty, set0, set1, setN, setName, setProperty, setProperty, setSetter, setSymbol |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
DONT_DEREFERENCE
public static final int DONT_DEREFERENCE
- See Also:
- Constant Field Values
PROCEDURE_NAME
public static final int PROCEDURE_NAME
- See Also:
- Constant Field Values
PREFER_BINDING2
public static final int PREFER_BINDING2
- See Also:
- Constant Field Values
CREATE_FIELD_REFERENCE
public static final int CREATE_FIELD_REFERENCE
- Create a FieldLocation referencing the binding.
- See Also:
- Constant Field Values
ReferenceExp
public ReferenceExp(java.lang.Object symbol)
ReferenceExp
public ReferenceExp(java.lang.Object symbol,
Declaration binding)
ReferenceExp
public ReferenceExp(Declaration binding)
getDontDereference
public final boolean getDontDereference()
setDontDereference
public final void setDontDereference(boolean setting)
isProcedureName
public final boolean isProcedureName()
- True if this identifier appears in "function call position".
If so, it should be interpreted as a function name, which makes a
difference for languages (like Common Lisp) that have two name spaces.
setProcedureName
public final void setProcedureName(boolean setting)
- Note if this identifier appears in "function call position".
eval
public java.lang.Object eval(Environment env)
- Overrides:
eval
in class Expression
compile
public void compile(Compilation comp,
Target target)
- Specified by:
compile
in class Expression
walk
protected Expression walk(ExpWalker walker)
- Overrides:
walk
in class Expression
print
public void print(OutPort ps)
- Specified by:
print
in class Expression
getType
public Type getType()
- Description copied from class:
Expression
- Return the Type used to represent the values of this Expression.
- Overrides:
getType
in class Expression
toString
public java.lang.String toString()
- Overrides:
toString
in class Procedure