org.mvel2.optimizers.impl.asm
Class ASMAccessorOptimizer
java.lang.Object
org.mvel2.compiler.AbstractParser
org.mvel2.optimizers.AbstractOptimizer
org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer
- All Implemented Interfaces:
- java.io.Serializable, AccessorOptimizer
public class ASMAccessorOptimizer
- extends AbstractOptimizer
- implements AccessorOptimizer
Implementation of the MVEL Just-in-Time (JIT) compiler for Property Accessors using the ASM bytecode
engineering library.
- See Also:
- Serialized Form
Fields inherited from class org.mvel2.compiler.AbstractParser |
compileMode, 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 |
Method Summary |
void |
arrayStore(java.lang.Class cls)
|
java.lang.Class |
getEgressType()
|
static MVELClassLoader |
getMVELClassLoader()
|
java.lang.String |
getName()
|
java.lang.Object |
getResultOptPass()
|
void |
init()
|
boolean |
isLiteralOnly()
|
Accessor |
optimizeAccessor(ParserContext pCtx,
char[] property,
java.lang.Object staticContext,
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)
|
static void |
setMVELClassLoader(MVELClassLoader cl)
|
void |
wrapRuntimeConverstion(java.lang.Class toType)
|
Methods inherited from class org.mvel2.compiler.AbstractParser |
addFatalError, 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, trimWhitespace |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ASMAccessorOptimizer
public ASMAccessorOptimizer()
optimizeAccessor
public Accessor optimizeAccessor(ParserContext pCtx,
char[] property,
java.lang.Object staticContext,
java.lang.Object thisRef,
VariableResolverFactory factory,
boolean root,
java.lang.Class ingressType)
- Specified by:
optimizeAccessor
in interface AccessorOptimizer
optimizeSetAccessor
public 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)
- Specified by:
optimizeSetAccessor
in interface AccessorOptimizer
setMVELClassLoader
public static void setMVELClassLoader(MVELClassLoader cl)
getMVELClassLoader
public static MVELClassLoader getMVELClassLoader()
init
public void init()
- Specified by:
init
in interface AccessorOptimizer
getName
public java.lang.String getName()
getResultOptPass
public java.lang.Object getResultOptPass()
- Specified by:
getResultOptPass
in interface AccessorOptimizer
arrayStore
public void arrayStore(java.lang.Class cls)
wrapRuntimeConverstion
public void wrapRuntimeConverstion(java.lang.Class toType)
optimizeCollection
public Accessor optimizeCollection(ParserContext pCtx,
java.lang.Object o,
java.lang.Class type,
char[] property,
java.lang.Object ctx,
java.lang.Object thisRef,
VariableResolverFactory factory)
- Specified by:
optimizeCollection
in interface AccessorOptimizer
optimizeObjectCreation
public Accessor optimizeObjectCreation(ParserContext pCtx,
char[] property,
java.lang.Object ctx,
java.lang.Object thisRef,
VariableResolverFactory factory)
- Specified by:
optimizeObjectCreation
in interface AccessorOptimizer
getEgressType
public java.lang.Class getEgressType()
- Specified by:
getEgressType
in interface AccessorOptimizer
isLiteralOnly
public boolean isLiteralOnly()
- Specified by:
isLiteralOnly
in interface AccessorOptimizer
Copyright © 2011. All Rights Reserved.