Class CFGCall

    • Constructor Detail

      • CFGCall

        public CFGCall​(CFG cfg,
                       CodeLocation location,
                       Call.CallType callType,
                       java.lang.String qualifier,
                       java.lang.String targetName,
                       java.util.Collection<CFG> targets,
                       Expression... parameters)
        Builds the CFG call, happening at the given location in the program. The EvaluationOrder of the parameter is LeftToRightEvaluation. The static type of this call is the common supertype of the return types of all targets.
        Parameters:
        cfg - the cfg that this expression belongs to
        location - the location where this expression is defined within program
        callType - the call type of this call
        qualifier - the optional qualifier of the call (can be null or empty - see Call.getFullTargetName() for more info)
        targetName - the qualified name of the static target of this call
        targets - the CFGs that are targeted by this CFG call
        parameters - the parameters of this call
      • CFGCall

        public CFGCall​(CFG cfg,
                       CodeLocation location,
                       Call.CallType callType,
                       java.lang.String qualifier,
                       java.lang.String targetName,
                       EvaluationOrder order,
                       java.util.Collection<CFG> targets,
                       Expression... parameters)
        Builds the CFG call, happening at the given location in the program. The static type of this call is the common supertype of the return types of all targets.
        Parameters:
        cfg - the cfg that this expression belongs to
        location - the location where this expression is defined within program
        callType - the call type of this call
        qualifier - the optional qualifier of the call (can be null or empty - see Call.getFullTargetName() for more info)
        targetName - the qualified name of the static target of this call
        order - the evaluation order of the sub-expressions
        targets - the CFGs that are targeted by this CFG call
        parameters - the parameters of this call
      • CFGCall

        public CFGCall​(UnresolvedCall source,
                       java.util.Collection<CFG> targets)
        Creates a cfg call as the resolved version of the given source call, copying all its data.
        Parameters:
        source - the unresolved call to copy
        targets - the CFGs that the call has been resolved against
    • Method Detail

      • getTargetedCFGs

        public java.util.Collection<CFG> getTargetedCFGs()
        Yields the CFGs that are targeted by this CFG call.
        Returns:
        the target CFG
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Call
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class Call
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class Call
      • getMetaVariable

        public final Identifier getMetaVariable()
        Description copied from interface: MetaVariableCreator
        Yields the meta variable that is introduced during the evaluation of the semantics of this object to store information about the value produced by this object. Since the meta variable simulates a value pushed on the stack, it should be forgotten after it is consumed.
        Specified by:
        getMetaVariable in interface MetaVariableCreator
        Returns:
        the meta variable introduced by this object