Package it.unive.lisa.imp.constructs
Class StringReplace.IMPStringReplace
- java.lang.Object
-
- it.unive.lisa.program.cfg.statement.Statement
-
- it.unive.lisa.program.cfg.statement.Expression
-
- it.unive.lisa.program.cfg.statement.NaryExpression
-
- it.unive.lisa.program.cfg.statement.TernaryExpression
-
- it.unive.lisa.program.cfg.statement.string.Replace
-
- it.unive.lisa.imp.constructs.StringReplace.IMPStringReplace
-
- 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:
- StringReplace
public static class StringReplace.IMPStringReplace extends it.unive.lisa.program.cfg.statement.string.Replace implements it.unive.lisa.program.cfg.statement.PluggableStatementAn expression modeling the string replace operation. The type of all three operands must beStringType. The type of this expression is theStringType.
-
-
Constructor Summary
Constructors Constructor Description IMPStringReplace(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 middle, it.unive.lisa.program.cfg.statement.Expression right)Builds the replace.IMPStringReplace(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 middle, it.unive.lisa.program.cfg.statement.Expression right)Builds the replace.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static StringReplace.IMPStringReplacebuild(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 thePluggableStatementcontract.voidsetOriginatingStatement(it.unive.lisa.program.cfg.statement.Statement st)-
Methods inherited from class it.unive.lisa.program.cfg.statement.TernaryExpression
expressionSemantics, getLeft, getMiddle, getRight
-
Methods inherited from class it.unive.lisa.program.cfg.statement.NaryExpression
accept, equals, getConstructName, getOrder, getStatementEvaluatedBefore, getSubExpressions, hashCode, semantics, setOffset, 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, getLocation, getOffset, stopsExecution, throwsError
-
-
-
-
Constructor Detail
-
IMPStringReplace
public IMPStringReplace(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 middle, it.unive.lisa.program.cfg.statement.Expression right)Builds the replace.- Parameters:
cfg- theCFGwhere this operation liessourceFile- the source file name where this operation is definedline- the line number where this operation is definedcol- the column where this operation is definedleft- the left-hand side of this operationmiddle- the middle operand of this operationright- the right-hand side of this operation
-
IMPStringReplace
public IMPStringReplace(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 middle, it.unive.lisa.program.cfg.statement.Expression right)Builds the replace.- Parameters:
cfg- theCFGwhere this operation lieslocation- the code location where this operation is definedleft- the left-hand side of this operationmiddle- the middle operand of this operationright- the right-hand side of this operation
-
-
Method Detail
-
build
public static StringReplace.IMPStringReplace 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 thePluggableStatementcontract.- Parameters:
cfg- the cfg where the native call happenslocation- the location where the native call happensparams- 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:
setOriginatingStatementin interfaceit.unive.lisa.program.cfg.statement.PluggableStatement
-
-