Package com.tonic.analysis.query.eval
Interface Subject
-
- All Known Implementing Classes:
Subject.ArgSubject,Subject.BootstrapArgSubject,Subject.CallSubject,Subject.ClassSubject,Subject.DynamicSubject,Subject.FieldAccessSubject,Subject.InstructionSubject,Subject.MethodSubject,Subject.ParamSubject
public interface SubjectThe polymorphic evaluation cursor.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classSubject.ArgSubjectstatic classSubject.BootstrapArgSubjectA non-dynamic static bootstrap argument, identified by its constant-pool index.static classSubject.CallSubjectAn invocation site;invokeimplementsInvokeInsn.static classSubject.ClassSubjectstatic classSubject.DynamicSubjectA dynamic site: an invokedynamic call site (site == "indy"), aCONSTANT_Dynamicload, or a nested condy bootstrap argument.static classSubject.FieldAccessSubjectA field read/write site;instructionis a GetField/PutField instruction.static classSubject.InstructionSubjectstatic classSubject.MethodSubjectstatic classSubject.ParamSubjectA declared method parameter, identified by position;typeis its descriptor from the method signature.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description EvalContextcontext()SubjectKindkind()
-
-
-
Method Detail
-
kind
SubjectKind kind()
- Returns:
- which variant this subject is, selecting the attributes that apply to it
-
context
EvalContext context()
- Returns:
- the evaluation context shared across every subject in a run
-
-