Package org.mvel2.optimizers.dynamic
Class DynamicOptimizer
java.lang.Object
org.mvel2.compiler.AbstractParser
org.mvel2.optimizers.AbstractOptimizer
org.mvel2.optimizers.dynamic.DynamicOptimizer
- All Implemented Interfaces:
Serializable,Parser,AccessorOptimizer
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic intstatic final intstatic final intstatic final intstatic intstatic longstatic intFields inherited from class org.mvel2.optimizers.AbstractOptimizer
BEAN, COL, collection, currType, METH, nullSafe, staticAccess, tkStart, WITHFields inherited from class org.mvel2.compiler.AbstractParser
CLASS_LITERALS, compileMode, ctx, cursor, debugSymbols, dStack, end, expr, fields, GET, GET_OR_CREATE, greedy, lastLineStart, lastNode, lastWasComment, lastWasIdentifier, lastWasLineLabel, lastWasVar, 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_NOT_LITERAL, OP_OVERFLOW, OP_RESET_FRAME, OP_TERMINATE, OPERATORS, pCtx, REMOVE, SET, splitAccumulator, st, start, stk, variableFactory -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidvoidinit()booleanstatic booleanoptimizeAccessor(ParserContext pCtx, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory, boolean rootThisRef, Class ingressType) optimizeCollection(ParserContext pCtx, Object rootObject, Class type, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory) optimizeObjectCreation(ParserContext pCtx, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory) optimizeSetAccessor(ParserContext pCtx, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory, boolean rootThisRef, Object value, Class valueType) Methods inherited from class org.mvel2.optimizers.AbstractOptimizer
capture, findLastUnion, nextSubToken, scanTo, tryStaticAccess, whiteSpaceSkipMethods inherited from class org.mvel2.compiler.AbstractParser
addFatalError, addFatalError, arithmeticFunctionReduction, captureIdentifier, captureToEOS, captureToEOSorEOL, captureToEOT, captureToNextTokenJunction, expectEOS, expectNextChar_IW, getCursor, getExpression, handleSubstatement, handleUnion, ifThenElseBlockContinues, incNextNonBlank, isArithmeticOperator, isNextIdentifier, isNextIdentifierOrLiteral, isStatementNotManuallyTerminated, lastNonWhite, loadLanguageFeaturesByLevel, lookAhead, lookAhead, lookBehind, lookToLast, nextNonBlank, nextToken, nextTokenSkipSymbols, reduce, setExpression, setExpression, setLanguageLevel, setupParser, skipWhitespace, tokenContinues, trimLeft, trimRight, trimWhitespace
-
Field Details
-
tenuringThreshold
public static int tenuringThreshold -
timeSpan
public static long timeSpan -
maximumTenure
public static int maximumTenure -
totalRecycled
public static int totalRecycled -
REGULAR_ACCESSOR
public static final int REGULAR_ACCESSOR- See Also:
-
SET_ACCESSOR
public static final int SET_ACCESSOR- See Also:
-
COLLECTION
public static final int COLLECTION- See Also:
-
OBJ_CREATION
public static final int OBJ_CREATION- See Also:
-
-
Constructor Details
-
DynamicOptimizer
public DynamicOptimizer()
-
-
Method Details
-
init
public void init()- Specified by:
initin interfaceAccessorOptimizer
-
enforceTenureLimit
public static void enforceTenureLimit() -
optimizeAccessor
public Accessor optimizeAccessor(ParserContext pCtx, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory, boolean rootThisRef, Class ingressType) - Specified by:
optimizeAccessorin interfaceAccessorOptimizer
-
optimizeSetAccessor
public Accessor optimizeSetAccessor(ParserContext pCtx, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory, boolean rootThisRef, Object value, Class valueType) - Specified by:
optimizeSetAccessorin interfaceAccessorOptimizer
-
optimizeCollection
public Accessor optimizeCollection(ParserContext pCtx, Object rootObject, Class type, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory) - Specified by:
optimizeCollectionin interfaceAccessorOptimizer
-
optimizeObjectCreation
public Accessor optimizeObjectCreation(ParserContext pCtx, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory) - Specified by:
optimizeObjectCreationin interfaceAccessorOptimizer
-
isOverloaded
public static boolean isOverloaded() -
getResultOptPass
- Specified by:
getResultOptPassin interfaceAccessorOptimizer
-
getEgressType
- Specified by:
getEgressTypein interfaceAccessorOptimizer
-
isLiteralOnly
public boolean isLiteralOnly()- Specified by:
isLiteralOnlyin interfaceAccessorOptimizer
-