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, deepCopy, deepCopy, deepCopy, eval, eval, getColumnNumber, getFileName, getFlag, getFlags, getLineNumber, getPublicId, getSystemId, isSingleValue, isStableSourceLocation, makeWhile, match0, print, printLineColumn, setFile, setFlag, setFlag, setLine, setLine, setLine, setLine, setLocation, visitChildren |
Methods inherited from class gnu.mapping.Procedure |
apply, check0, check1, check2, check3, check4, checkArgCount, checkN, getReturnType, getSetter, getSourceLocation, isSideEffectFree, match1, match2, match3, match4, matchN, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
EXPLICITLY_TYPED
public static final int EXPLICITLY_TYPED
- See Also:
- Constant Field Values
SHARED_CONSTANT
public static final int SHARED_CONSTANT
- See Also:
- Constant Field Values
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
getRawType
public final Type getRawType()
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
setType
public void setType(Type type)
isExplicitlyTyped
public boolean isExplicitlyTyped()
isSharedConstant
public boolean isSharedConstant()
getInstance
public static QuoteExp getInstance(java.lang.Object value)
getInstance
public static QuoteExp getInstance(java.lang.Object value,
SourceLocator position)
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
deepCopy
public Expression deepCopy(IdentityHashTable mapper)
- Overrides:
deepCopy
in class Expression
visit
protected <R,D> R visit(ExpVisitor<R,D> visitor,
D d)
- Overrides:
visit
in class Expression
validateApply
public Expression validateApply(ApplyExp exp,
InlineCalls visitor,
Type required,
Declaration decl)
- 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:
validateApply
in class Expression
- Parameters:
exp
- an application whose function expression can be simplified
to this expression.visitor
- the context for the current inlining passdecl
- if non-null, a Declaration bound to this expression.
- 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