public class ExpressionTranslator extends DepthFirstAdapter
ValueX.asFoo()we now write:
asFoo(ValueX)This is actually very important because it means that as we optimize the expressions to return fundamental types, we just have different versions of the
asFoo() methods that take the
appropriate types. The user of the expression is responsible for casting it and the producer of
the expression is now free to produce optimized expressions.| Constructor and Description |
|---|
ExpressionTranslator() |
caseAAltCommand, caseAAutoescapeCommand, caseACallCommand, caseACommaExpression, caseACommentCommand, caseAContentTypeCommand, caseACsOpenPosition, caseADataCommand, caseADecNumberVariable, caseADefCommand, caseADescendVariable, caseAEachCommand, caseAEscapeCommand, caseAEvarCommand, caseAExpandVariable, caseAHardIncludeCommand, caseAHardLincludeCommand, caseAHexNumberVariable, caseAIfCommand, caseAIncludeCommand, caseAInlineCommand, caseALincludeCommand, caseALoopCommand, caseALoopIncCommand, caseALoopToCommand, caseALvarCommand, caseAMultipleCommand, caseANameCommand, caseANameVariable, caseANoopCommand, caseANoopExpression, caseASequenceExpression, caseASetCommand, caseAUvarCommand, caseAVarCommand, caseAWithCommand, caseStart, defaultIn, defaultOut, inAAddExpression, inAAltCommand, inAAndExpression, inAAutoescapeCommand, inACallCommand, inACommaExpression, inACommentCommand, inAContentTypeCommand, inACsOpenPosition, inADataCommand, inADecimalExpression, inADecNumberVariable, inADefCommand, inADescendVariable, inADivideExpression, inAEachCommand, inAEqExpression, inAEscapeCommand, inAEvarCommand, inAExistsExpression, inAExpandVariable, inAFunctionExpression, inAGteExpression, inAGtExpression, inAHardIncludeCommand, inAHardLincludeCommand, inAHexExpression, inAHexNumberVariable, inAIfCommand, inAIncludeCommand, inAInlineCommand, inALincludeCommand, inALoopCommand, inALoopIncCommand, inALoopToCommand, inALteExpression, inALtExpression, inALvarCommand, inAModuloExpression, inAMultipleCommand, inAMultiplyExpression, inANameCommand, inANameVariable, inANeExpression, inANegativeExpression, inANoopCommand, inANoopExpression, inANotExpression, inANumericAddExpression, inANumericEqExpression, inANumericExpression, inANumericNeExpression, inAOrExpression, inASequenceExpression, inASetCommand, inAStringExpression, inASubtractExpression, inAUvarCommand, inAVarCommand, inAVariableExpression, inAWithCommand, inStart, outAAddExpression, outAAltCommand, outAAndExpression, outAAutoescapeCommand, outACallCommand, outACommaExpression, outACommentCommand, outAContentTypeCommand, outACsOpenPosition, outADataCommand, outADecimalExpression, outADecNumberVariable, outADefCommand, outADescendVariable, outADivideExpression, outAEachCommand, outAEqExpression, outAEscapeCommand, outAEvarCommand, outAExistsExpression, outAExpandVariable, outAFunctionExpression, outAGteExpression, outAGtExpression, outAHardIncludeCommand, outAHardLincludeCommand, outAHexExpression, outAHexNumberVariable, outAIfCommand, outAIncludeCommand, outAInlineCommand, outALincludeCommand, outALoopCommand, outALoopIncCommand, outALoopToCommand, outALteExpression, outALtExpression, outALvarCommand, outAModuloExpression, outAMultipleCommand, outAMultiplyExpression, outANameCommand, outANameVariable, outANeExpression, outANegativeExpression, outANoopCommand, outANoopExpression, outANotExpression, outANumericAddExpression, outANumericEqExpression, outANumericExpression, outANumericNeExpression, outAOrExpression, outASequenceExpression, outASetCommand, outAStringExpression, outASubtractExpression, outAUvarCommand, outAVarCommand, outAVariableExpression, outAWithCommand, outStartcaseEOF, caseTAlt, caseTAnd, caseTArgWhitespace, caseTAssignment, caseTAutoescape, caseTBang, caseTBracketClose, caseTBracketOpen, caseTCall, caseTComma, caseTCommandDelimiter, caseTComment, caseTCommentStart, caseTContentType, caseTCsClose, caseTCsOpen, caseTData, caseTDecNumber, caseTDef, caseTDollar, caseTDot, caseTEach, caseTElse, caseTElseIf, caseTEq, caseTEscape, caseTEvar, caseTGt, caseTGte, caseTHardDelimiter, caseTHash, caseTHexNumber, caseTIf, caseTInclude, caseTInline, caseTLinclude, caseTLoop, caseTLt, caseTLte, caseTLvar, caseTMinus, caseTName, caseTNe, caseTOr, caseTParenClose, caseTParenOpen, caseTPercent, caseTPlus, caseTQuestion, caseTSet, caseTSlash, caseTStar, caseTString, caseTUvar, caseTVar, caseTWith, caseTWord, defaultCase, getIn, getOut, setIn, setOutpublic JavaExpression translateToString(PExpression csExpression)
public JavaExpression translateToBoolean(PExpression csExpression)
public JavaExpression translateToNumber(PExpression csExpression)
public JavaExpression translateToData(PExpression csExpression)
public JavaExpression translateToVarName(PExpression csExpression)
public JavaExpression translateToValue(PExpression csExpression)
public JavaExpression declareAsVariable(String name, PExpression csExpression)
public JavaExpression translateUntyped(PExpression csExpression)
public void caseAVariableExpression(AVariableExpression node)
caseAVariableExpression in interface AnalysiscaseAVariableExpression in class DepthFirstAdapterpublic void caseAStringExpression(AStringExpression node)
caseAStringExpression in interface AnalysiscaseAStringExpression in class DepthFirstAdapterpublic void caseADecimalExpression(ADecimalExpression node)
caseADecimalExpression in interface AnalysiscaseADecimalExpression in class DepthFirstAdapterpublic void caseAHexExpression(AHexExpression node)
caseAHexExpression in interface AnalysiscaseAHexExpression in class DepthFirstAdapterpublic void caseANumericExpression(ANumericExpression node)
caseANumericExpression in interface AnalysiscaseANumericExpression in class DepthFirstAdapterpublic void caseANotExpression(ANotExpression node)
caseANotExpression in interface AnalysiscaseANotExpression in class DepthFirstAdapterpublic void caseAExistsExpression(AExistsExpression node)
caseAExistsExpression in interface AnalysiscaseAExistsExpression in class DepthFirstAdapterpublic void caseAEqExpression(AEqExpression node)
caseAEqExpression in interface AnalysiscaseAEqExpression in class DepthFirstAdapterpublic void caseANumericEqExpression(ANumericEqExpression node)
caseANumericEqExpression in interface AnalysiscaseANumericEqExpression in class DepthFirstAdapterpublic void caseANeExpression(ANeExpression node)
caseANeExpression in interface AnalysiscaseANeExpression in class DepthFirstAdapterpublic void caseANumericNeExpression(ANumericNeExpression node)
caseANumericNeExpression in interface AnalysiscaseANumericNeExpression in class DepthFirstAdapterpublic void caseALtExpression(ALtExpression node)
caseALtExpression in interface AnalysiscaseALtExpression in class DepthFirstAdapterpublic void caseAGtExpression(AGtExpression node)
caseAGtExpression in interface AnalysiscaseAGtExpression in class DepthFirstAdapterpublic void caseALteExpression(ALteExpression node)
caseALteExpression in interface AnalysiscaseALteExpression in class DepthFirstAdapterpublic void caseAGteExpression(AGteExpression node)
caseAGteExpression in interface AnalysiscaseAGteExpression in class DepthFirstAdapterpublic void caseAAndExpression(AAndExpression node)
caseAAndExpression in interface AnalysiscaseAAndExpression in class DepthFirstAdapterpublic void caseAOrExpression(AOrExpression node)
caseAOrExpression in interface AnalysiscaseAOrExpression in class DepthFirstAdapterpublic void caseAAddExpression(AAddExpression node)
caseAAddExpression in interface AnalysiscaseAAddExpression in class DepthFirstAdapterpublic void caseANumericAddExpression(ANumericAddExpression node)
caseANumericAddExpression in interface AnalysiscaseANumericAddExpression in class DepthFirstAdapterpublic void caseASubtractExpression(ASubtractExpression node)
caseASubtractExpression in interface AnalysiscaseASubtractExpression in class DepthFirstAdapterpublic void caseAMultiplyExpression(AMultiplyExpression node)
caseAMultiplyExpression in interface AnalysiscaseAMultiplyExpression in class DepthFirstAdapterpublic void caseADivideExpression(ADivideExpression node)
caseADivideExpression in interface AnalysiscaseADivideExpression in class DepthFirstAdapterpublic void caseAModuloExpression(AModuloExpression node)
caseAModuloExpression in interface AnalysiscaseAModuloExpression in class DepthFirstAdapterpublic void caseANegativeExpression(ANegativeExpression node)
caseANegativeExpression in interface AnalysiscaseANegativeExpression in class DepthFirstAdapterpublic void caseAFunctionExpression(AFunctionExpression node)
caseAFunctionExpression in interface AnalysiscaseAFunctionExpression in class DepthFirstAdapterCopyright © 2010-2012 Google. All Rights Reserved.