Class ExpressionResolver
java.lang.Object
org.openjdk.jmc.agent.util.expression.ExpressionResolver
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Class<?> private final Stringprivate ReferenceChain -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidenterClassState(Class<?> targetClass) private voidenterFieldReferenceState(Class<?> memberingClass, Field field, boolean fromStaticContext) private voidenterIllegalState(String msg) private voidenterIllegalState(Throwable throwable) private voidenterInnerClassState(Class<?> targetClass) private voidenterNestedFieldReferenceState(Class<?> enclosingClass, Field field) private voidenterNestMateClass(Class<?> targetClass) private voidenterOuterClassState(Class<?> targetClass) private voidenterPackageState(Package pkg) private voidprivate voidprivate voidenterSuperState(Class<?> enclosingClass) private voidenterThisState(Class<?> enclosingClass) static ReferenceChainprivate booleantryEnterClassState(Class<?> currentClass, String simpleClassName) private booleantryEnterClassState(Package pkg, String simpleClassName) private booleantryEnterClassState(String simpleClassName) private booleantryEnterFieldReferenceState(Class<?> memberingClass, String fieldName, boolean fromStaticContext) private booleantryEnterInnerClassState(Class<?> currentClass, String simpleClassName) private booleantryEnterNestMateClass(Class<?> currentClass, String simpleClassName) private booleantryEnterOuterClassState(Class<?> currentClass, String simpleClassName) private booleantryEnterOuterClassState(Package pkg, String className) private booleantryEnterOuterClassState(String simpleClassName) private booleantryEnterPackageState(Package pkg, String pqpnPrefixedExpression) private booleantryEnterPackageState(String fqpnPrefixedExpression) private booleantryEnterSameClassState(Class<?> currentClass, String simpleClassName) private booleantryEnterSameClassState(Package pkg, String simpleClassName) private booleantryEnterSameClassState(String simpleClassName) private booleantryEnterSuperState(Class<?> targetClass, String superLiteral) private booleantryEnterThisState(Class<?> enclosingClass, String thisLiteral) private booleantryEntryNestedFieldReferenceState(String fieldName)
-
Field Details
-
caller
-
expression
-
tokens
-
iterator
-
referenceChain
-
-
Constructor Details
-
ExpressionResolver
-
-
Method Details
-
solve
public static ReferenceChain solve(Class<?> caller, String expression) throws IllegalSyntaxException - Throws:
IllegalSyntaxException
-
enterStartState
- Throws:
IllegalSyntaxException
-
tryEnterThisState
private boolean tryEnterThisState(Class<?> enclosingClass, String thisLiteral) throws IllegalSyntaxException - Throws:
IllegalSyntaxException
-
enterThisState
- Throws:
IllegalSyntaxException
-
tryEnterSuperState
private boolean tryEnterSuperState(Class<?> targetClass, String superLiteral) throws IllegalSyntaxException - Throws:
IllegalSyntaxException
-
enterSuperState
- Throws:
IllegalSyntaxException
-
tryEnterFieldReferenceState
private boolean tryEnterFieldReferenceState(Class<?> memberingClass, String fieldName, boolean fromStaticContext) throws IllegalSyntaxException - Throws:
IllegalSyntaxException
-
enterFieldReferenceState
private void enterFieldReferenceState(Class<?> memberingClass, Field field, boolean fromStaticContext) throws IllegalSyntaxException - Throws:
IllegalSyntaxException
-
tryEntryNestedFieldReferenceState
- Throws:
IllegalSyntaxException
-
enterNestedFieldReferenceState
private void enterNestedFieldReferenceState(Class<?> enclosingClass, Field field) throws IllegalSyntaxException - Throws:
IllegalSyntaxException
-
tryEnterOuterClassState
- Throws:
IllegalSyntaxException
-
tryEnterOuterClassState
private boolean tryEnterOuterClassState(Package pkg, String className) throws IllegalSyntaxException - Throws:
IllegalSyntaxException
-
tryEnterOuterClassState
private boolean tryEnterOuterClassState(Class<?> currentClass, String simpleClassName) throws IllegalSyntaxException - Throws:
IllegalSyntaxException
-
enterOuterClassState
- Throws:
IllegalSyntaxException
-
tryEnterInnerClassState
private boolean tryEnterInnerClassState(Class<?> currentClass, String simpleClassName) throws IllegalSyntaxException - Throws:
IllegalSyntaxException
-
enterInnerClassState
- Throws:
IllegalSyntaxException
-
tryEnterNestMateClass
private boolean tryEnterNestMateClass(Class<?> currentClass, String simpleClassName) throws IllegalSyntaxException - Throws:
IllegalSyntaxException
-
enterNestMateClass
- Throws:
IllegalSyntaxException
-
tryEnterSameClassState
- Throws:
IllegalSyntaxException
-
tryEnterSameClassState
private boolean tryEnterSameClassState(Package pkg, String simpleClassName) throws IllegalSyntaxException - Throws:
IllegalSyntaxException
-
tryEnterSameClassState
private boolean tryEnterSameClassState(Class<?> currentClass, String simpleClassName) throws IllegalSyntaxException - Throws:
IllegalSyntaxException
-
enterSameClassState
- Throws:
IllegalSyntaxException
-
tryEnterClassState
- Throws:
IllegalSyntaxException
-
tryEnterClassState
private boolean tryEnterClassState(Class<?> currentClass, String simpleClassName) throws IllegalSyntaxException - Throws:
IllegalSyntaxException
-
tryEnterClassState
private boolean tryEnterClassState(Package pkg, String simpleClassName) throws IllegalSyntaxException - Throws:
IllegalSyntaxException
-
enterClassState
- Throws:
IllegalSyntaxException
-
tryEnterPackageState
- Throws:
IllegalSyntaxException
-
tryEnterPackageState
private boolean tryEnterPackageState(Package pkg, String pqpnPrefixedExpression) throws IllegalSyntaxException - Throws:
IllegalSyntaxException
-
enterPackageState
- Throws:
IllegalSyntaxException
-
enterIllegalState
- Throws:
IllegalSyntaxException
-
enterIllegalState
- Throws:
IllegalSyntaxException
-