Class Subject.CallSubject

  • All Implemented Interfaces:
    Subject
    Enclosing interface:
    Subject

    public static final class Subject.CallSubject
    extends Object
    implements Subject
    An invocation site; invoke implements InvokeInsn.
    • Constructor Detail

      • CallSubject

        public CallSubject​(Instruction invoke,
                           int index,
                           EvalContext context)
        Binds the cursor to a call site.
        Parameters:
        invoke - the invoke instruction
        index - its position in the body
        context - the shared evaluation context
    • Method Detail

      • invoke

        public Instruction invoke()
        Returns:
        the invoke instruction at this call site
      • index

        public int index()
        Returns:
        the invoke's position in the method body
      • kind

        public SubjectKind kind()
        Specified by:
        kind in interface Subject
        Returns:
        which variant this subject is, selecting the attributes that apply to it
      • context

        public EvalContext context()
        Specified by:
        context in interface Subject
        Returns:
        the evaluation context shared across every subject in a run