public class ReflectiveAccessorOptimizer extends AbstractOptimizer implements AccessorOptimizer
BEAN, COL, collection, currType, METH, nullSafe, start, WITHcompileMode, cursor, debugSymbols, dStack, expr, fields, GET, GET_OR_CREATE, greedy, lastLineStart, lastNode, lastWasComment, lastWasIdentifier, lastWasLineLabel, length, LEVEL_0_PROPERTY_ONLY, LEVEL_1_BASIC_LANG, LEVEL_2_MULTI_STATEMENT, LEVEL_3_ITERATION, LEVEL_4_ASSIGNMENT, LEVEL_5_CONTROL_FLOW, line, literalOnly, LITERALS, OP_CONTINUE, OP_OVERFLOW, OP_RESET_FRAME, OP_TERMINATE, OPERATORS, parserContext, pCtx, REMOVE, SET, splitAccumulator, stk| Constructor and Description |
|---|
ReflectiveAccessorOptimizer() |
| Modifier and Type | Method and Description |
|---|---|
AccessorNode |
compileConstructor(char[] expression,
java.lang.Object ctx,
VariableResolverFactory vars) |
static java.lang.Object |
get(java.lang.String expression,
java.lang.Object ctx) |
java.lang.Class |
getEgressType() |
java.lang.Object |
getResultOptPass() |
java.lang.Object |
getValue(java.lang.Object ctx,
java.lang.Object elCtx,
VariableResolverFactory variableFactory) |
void |
init() |
boolean |
isLiteralOnly() |
Accessor |
optimizeAccessor(ParserContext pCtx,
char[] property,
java.lang.Object ctx,
java.lang.Object thisRef,
VariableResolverFactory factory,
boolean root,
java.lang.Class ingressType) |
Accessor |
optimizeCollection(ParserContext pCtx,
java.lang.Object o,
java.lang.Class type,
char[] property,
java.lang.Object ctx,
java.lang.Object thisRef,
VariableResolverFactory factory) |
Accessor |
optimizeObjectCreation(ParserContext pCtx,
char[] property,
java.lang.Object ctx,
java.lang.Object thisRef,
VariableResolverFactory factory) |
Accessor |
optimizeSetAccessor(ParserContext pCtx,
char[] property,
java.lang.Object ctx,
java.lang.Object thisRef,
VariableResolverFactory factory,
boolean rootThisRef,
java.lang.Object value,
java.lang.Class ingressType) |
void |
propHandlerSet(java.lang.String property,
java.lang.Object ctx,
java.lang.Class handler,
java.lang.Object value) |
capture, findLastUnion, nextSubToken, scanTo, tryStaticAccess, whiteSpaceSkipaddFatalError, addFatalError, addWarning, arithmeticFunctionReduction, captureIdentifier, captureToEOL, captureToEOS, captureToEOSorEOL, captureToEOT, captureToNextTokenJunction, contextControl, expectEOS, expectNextChar_IW, getCurrentSourceFileName, getCurrentThreadParserContext, getParserContext, getPCtx, handleSubstatement, handleUnion, ifThenElseBlockContinues, incNextNonBlank, isArithmeticOperator, isNextIdentifier, isNextIdentifierOrLiteral, isStatementNotManuallyTerminated, lastNonWhite, loadLanguageFeaturesByLevel, lookAhead, lookAhead, lookBehind, lookToLast, newContext, newContext, nextNonBlank, nextToken, nextTokenSkipSymbols, reduce, removeContext, resetParserContext, setCurrentThreadParserContext, setExpression, setExpression, setLanguageLevel, setPCtx, setupParser, skipWhitespace, tokenContinues, trimLeft, trimRight, trimWhitespacepublic void init()
init in interface AccessorOptimizerpublic static java.lang.Object get(java.lang.String expression,
java.lang.Object ctx)
public Accessor optimizeAccessor(ParserContext pCtx, char[] property, java.lang.Object ctx, java.lang.Object thisRef, VariableResolverFactory factory, boolean root, java.lang.Class ingressType)
optimizeAccessor in interface AccessorOptimizerpublic Accessor optimizeSetAccessor(ParserContext pCtx, char[] property, java.lang.Object ctx, java.lang.Object thisRef, VariableResolverFactory factory, boolean rootThisRef, java.lang.Object value, java.lang.Class ingressType)
optimizeSetAccessor in interface AccessorOptimizerpublic java.lang.Object getValue(java.lang.Object ctx,
java.lang.Object elCtx,
VariableResolverFactory variableFactory)
throws java.lang.Exception
java.lang.Exceptionpublic Accessor optimizeCollection(ParserContext pCtx, java.lang.Object o, java.lang.Class type, char[] property, java.lang.Object ctx, java.lang.Object thisRef, VariableResolverFactory factory)
optimizeCollection in interface AccessorOptimizerpublic Accessor optimizeObjectCreation(ParserContext pCtx, char[] property, java.lang.Object ctx, java.lang.Object thisRef, VariableResolverFactory factory)
optimizeObjectCreation in interface AccessorOptimizerpublic java.lang.Object getResultOptPass()
getResultOptPass in interface AccessorOptimizerpublic AccessorNode compileConstructor(char[] expression, java.lang.Object ctx, VariableResolverFactory vars) throws java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.ClassNotFoundException, java.lang.NoSuchMethodException
java.lang.InstantiationExceptionjava.lang.IllegalAccessExceptionjava.lang.reflect.InvocationTargetExceptionjava.lang.ClassNotFoundExceptionjava.lang.NoSuchMethodExceptionpublic java.lang.Class getEgressType()
getEgressType in interface AccessorOptimizerpublic boolean isLiteralOnly()
isLiteralOnly in interface AccessorOptimizerpublic void propHandlerSet(java.lang.String property,
java.lang.Object ctx,
java.lang.Class handler,
java.lang.Object value)
Copyright © 2012. All Rights Reserved.