public class CurryExp extends ApplyExp
SourceLocator.Simple
firstKeywordArgIndex, firstSpliceArg, INLINE_IF_CONSTANT, IS_SUPER_INIT, MAY_CONTAIN_BACK_JUMP, nextCall, numKeywordArgs, TAILCALL
applyMethodExpression, flags, NEXT_AVAIL_FLAG, noExpressions, type, VALIDATED
applyMethodType, applyToConsumerDefault, applyToConsumerMethod, applyToObjectDefault, applyToObjectMethod, compilerKey, compilerXKey, inlineIfConstantSymbol, validateApplyKey, validateXApplyKey
nameKey
Constructor and Description |
---|
CurryExp(Procedure currier,
Procedure actual,
Expression... initial) |
Modifier and Type | Method and Description |
---|---|
protected Type |
calculateType() |
Expression |
validateApply(ApplyExp exp,
InlineCalls visitor,
Type required,
Declaration decl)
Apply inlining transformations on a given ApplyExp.
|
adjustSplice, apply, compile, compile, compileArgsToContext, deepCopy, getArg, getArgCount, getArgs, getFunction, getFunctionValue, hasSpliceAllowingKeywords, inlineIfConstant, inlineIfConstant, isAppendValues, isInlineable, isSimple, isSimple, isSimple, isTailCall, mustCompile, print, setArg, setArgs, setFuncArgs, setFuncArgs, setFunction, setFunction, setTailCall, side_effects, spliceCount, toString, visit, visitArgs, visitArgs, visitChildren
applyMethodExpression, checkLiteralKeyword, compile, compile, compileWithPosition, compileWithPosition, deepCopy, deepCopy, deepCopy, eval, eval, getColumnNumber, getEndColumn, getEndLine, getFileName, getFlag, getFlags, getLineNumber, getPublicId, getStartColumn, getStartLine, getSystemId, getType, getTypeRaw, isSingleValue, isStableSourceLocation, makeWhile, maybeSetLine, neverReturns, numArgs, print, printLineColumn, setFile, setFlag, setFlag, setLine, setLine, setLine, setLine, setLine, setLocation, setType, valueIfConstant
apply0, apply1, apply2, apply3, apply4, applyL, applyN, applyToConsumerDefault, applyToObjectDefault, checkArgCount, checkBadCode, getApplyMethod, getApplyToConsumerMethod, getApplyToObjectMethod, getReturnType, getSetter, getSourceLocation, isSideEffectFree, lookupApplyHandle, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation
getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
public CurryExp(Procedure currier, Procedure actual, Expression... initial)
protected Type calculateType()
calculateType
in class ApplyExp
public Expression validateApply(ApplyExp exp, InlineCalls visitor, Type required, Declaration decl)
Expression
validateApply
in class Expression
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.