Class AbstractReflectionInterpreter.SpecializedMethod

    • Field Detail

      • typesAllocated

        protected final HashSet<TypeReference> typesAllocated
        Set of types that we have already inserted an allocation for.
      • allocations

        protected final ArrayList<SSAInstruction> allocations
        List of synthetic allocation statements we model for this specialized instance
      • calls

        protected final ArrayList<SSAInstruction> calls
        List of synthetic invoke instructions we model for this specialized instance.
    • Constructor Detail

      • SpecializedMethod

        public SpecializedMethod​(MethodReference method,
                                 IClass declaringClass,
                                 boolean isStatic,
                                 boolean isFactory)
      • SpecializedMethod

        public SpecializedMethod​(IMethod method,
                                 IClass declaringClass,
                                 boolean isStatic,
                                 boolean isFactory)
    • Method Detail

      • addInstruction

        protected void addInstruction​(TypeReference T,
                                      SSAInstruction instr,
                                      boolean isAllocation)
        Parameters:
        T - type allocated by the instruction.
      • addStatementsForConcreteSimpleType

        protected int addStatementsForConcreteSimpleType​(TypeReference t)
        Parameters:
        t - type of object to allocate
        Returns:
        value number of the newly allocated object
      • addCtorInvokeInstruction

        protected void addCtorInvokeInstruction​(TypeReference t,
                                                int alloc)
        Add an instruction to invoke the default constructor on the object of value number alloc of type t.