gnu.expr
Class QuoteExp
java.lang.Object
gnu.mapping.PropertySet
gnu.mapping.Procedure
gnu.mapping.Procedure0
gnu.expr.Expression
gnu.expr.QuoteExp
- All Implemented Interfaces:
- Named, Printable, javax.xml.transform.SourceLocator, org.xml.sax.Locator
public class QuoteExp
- extends Expression
An Expression that evaluates to a constant value.
Methods inherited from class gnu.expr.Expression |
apply0, compile, compile, compileButFirst, compileNotePosition, compileWithPosition, compileWithPosition, eval, eval, getColumnNumber, getFileName, getFlag, getFlags, getLineNumber, getPublicId, getSystemId, isStableSourceLocation, makeWhile, match0, print, printLineColumn, setFile, setFlag, setFlag, setLine, setLine, setLine, setLine, setLocation, walkChildren |
Methods inherited from class gnu.mapping.Procedure |
apply, check0, check1, check2, check3, check4, checkArgCount, checkN, getSetter, getSourceLocation, match1, match2, match3, match4, matchN, maxArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
type
protected Type type
undefined_exp
public static QuoteExp undefined_exp
abstractExp
public static QuoteExp abstractExp
voidExp
public static QuoteExp voidExp
trueExp
public static QuoteExp trueExp
falseExp
public static QuoteExp falseExp
nullExp
public static QuoteExp nullExp
classObjectExp
public static final QuoteExp classObjectExp
QuoteExp
public QuoteExp(java.lang.Object val)
QuoteExp
public QuoteExp(java.lang.Object val,
Type type)
getValue
public final java.lang.Object getValue()
valueIfConstant
public final java.lang.Object valueIfConstant()
- Description copied from class:
Expression
- Return value if it is constant, or null if non-constant or unknown.
- Overrides:
valueIfConstant
in class Expression
getType
public final Type getType()
- Description copied from class:
Expression
- Return the Type used to represent the values of this Expression.
- Overrides:
getType
in class Expression
getInstance
public static QuoteExp getInstance(java.lang.Object value)
mustCompile
protected boolean mustCompile()
- Specified by:
mustCompile
in class Expression
apply
public void apply(CallContext ctx)
- Description copied from class:
Expression
- Evaluate the expression.
This is named apply rather than eval so it is compatible with the
full-tail-call calling convention, and we can stash an Expression in
CallContext's proc field. FIXME - are we making use of this?
- Overrides:
apply
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
inline
public Expression inline(ApplyExp exp,
InlineCalls walker,
Declaration decl,
boolean argsInlined)
- Description copied from class:
Expression
- Apply inlining transformations on a given ApplyExp.
Assumes the ApplyExp's function is this expression,
or can be optimized to this expression.
- Overrides:
inline
in class Expression
- Parameters:
exp
- an application whose function expression can be simplified
to this expression.walker
- the context for the current inlining passdecl
- if non-null, a Declaration bound to this expression.argsInlined
- true iff exp.getArgs()
have been walked.
- Returns:
- an Expression equivalent to the passed-in exp.
side_effects
public boolean side_effects()
- Description copied from class:
Expression
- True if evaluating may have side-effects.
- Overrides:
side_effects
in class Expression
toString
public java.lang.String toString()
- Overrides:
toString
in class Expression
print
public void print(OutPort out)
- Specified by:
print
in class Expression