Class StringConcat.IMPStringConcat

  • All Implemented Interfaces:
    it.unive.lisa.program.cfg.ProgramPoint, it.unive.lisa.program.cfg.statement.PluggableStatement, it.unive.lisa.program.CodeElement, it.unive.lisa.util.datastructures.graph.code.CodeNode<it.unive.lisa.program.cfg.CFG,​it.unive.lisa.program.cfg.statement.Statement,​it.unive.lisa.program.cfg.edge.Edge>, it.unive.lisa.util.datastructures.graph.Node<it.unive.lisa.program.cfg.CFG,​it.unive.lisa.program.cfg.statement.Statement,​it.unive.lisa.program.cfg.edge.Edge>, java.lang.Comparable<it.unive.lisa.program.cfg.statement.Statement>
    Enclosing class:
    StringConcat

    public static class StringConcat.IMPStringConcat
    extends it.unive.lisa.program.cfg.statement.string.Concat
    implements it.unive.lisa.program.cfg.statement.PluggableStatement
    An expression modeling the string contains operation. The type of both operands must be StringType. The type of this expression is the BoolType.
    • Field Summary

      • Fields inherited from class it.unive.lisa.program.cfg.statement.string.Concat

        originating
    • Constructor Summary

      Constructors 
      Constructor Description
      IMPStringConcat​(it.unive.lisa.program.cfg.CFG cfg, it.unive.lisa.program.cfg.CodeLocation location, it.unive.lisa.program.cfg.statement.Expression left, it.unive.lisa.program.cfg.statement.Expression right)
      Builds the concat.
      IMPStringConcat​(it.unive.lisa.program.cfg.CFG cfg, java.lang.String sourceFile, int line, int col, it.unive.lisa.program.cfg.statement.Expression left, it.unive.lisa.program.cfg.statement.Expression right)
      Builds the concat.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static StringConcat.IMPStringConcat build​(it.unive.lisa.program.cfg.CFG cfg, it.unive.lisa.program.cfg.CodeLocation location, it.unive.lisa.program.cfg.statement.Expression... params)
      Builds a new instance of this native call, according to the PluggableStatement contract.
      void setOriginatingStatement​(it.unive.lisa.program.cfg.statement.Statement st)  
      • Methods inherited from class it.unive.lisa.program.cfg.statement.string.Concat

        compareSameClassAndParams, fwdBinarySemantics
      • Methods inherited from class it.unive.lisa.program.cfg.statement.BinaryExpression

        backwardSemanticsAux, bwdBinarySemantics, forwardSemanticsAux, getLeft, getRight
      • Methods inherited from class it.unive.lisa.program.cfg.statement.NaryExpression

        accept, backwardSemantics, compareSameClass, equals, forwardSemantics, getConstructName, getOrder, getStatementEvaluatedAfter, getStatementEvaluatedBefore, getSubExpressions, hashCode, toString
      • Methods inherited from class it.unive.lisa.program.cfg.statement.Expression

        getMetaVariables, getParentStatement, getRootStatement, getStaticType, setParentStatement
      • Methods inherited from class it.unive.lisa.program.cfg.statement.Statement

        compareTo, getCFG, getEvaluationPredecessor, getEvaluationSuccessor, getLocation, stopsExecution, throwsError
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface it.unive.lisa.program.cfg.ProgramPoint

        getProgram
    • Constructor Detail

      • IMPStringConcat

        public IMPStringConcat​(it.unive.lisa.program.cfg.CFG cfg,
                               java.lang.String sourceFile,
                               int line,
                               int col,
                               it.unive.lisa.program.cfg.statement.Expression left,
                               it.unive.lisa.program.cfg.statement.Expression right)
        Builds the concat.
        Parameters:
        cfg - the CFG where this operation lies
        sourceFile - the source file name where this operation is defined
        line - the line number where this operation is defined
        col - the column where this operation is defined
        left - the left-hand side of this operation
        right - the right-hand side of this operation
      • IMPStringConcat

        public IMPStringConcat​(it.unive.lisa.program.cfg.CFG cfg,
                               it.unive.lisa.program.cfg.CodeLocation location,
                               it.unive.lisa.program.cfg.statement.Expression left,
                               it.unive.lisa.program.cfg.statement.Expression right)
        Builds the concat.
        Parameters:
        cfg - the CFG where this operation lies
        location - the code location where this operation is defined
        left - the left-hand side of this operation
        right - the right-hand side of this operation
    • Method Detail

      • build

        public static StringConcat.IMPStringConcat build​(it.unive.lisa.program.cfg.CFG cfg,
                                                         it.unive.lisa.program.cfg.CodeLocation location,
                                                         it.unive.lisa.program.cfg.statement.Expression... params)
        Builds a new instance of this native call, according to the PluggableStatement contract.
        Parameters:
        cfg - the cfg where the native call happens
        location - the location where the native call happens
        params - the parameters of the native call
        Returns:
        the newly-built call
      • setOriginatingStatement

        public void setOriginatingStatement​(it.unive.lisa.program.cfg.statement.Statement st)
        Specified by:
        setOriginatingStatement in interface it.unive.lisa.program.cfg.statement.PluggableStatement