-package org.simantics.scl.compiler.internal.codegen.ssa.statements;\r
-\r
-import org.simantics.scl.compiler.internal.codegen.references.BoundVar;\r
-import org.simantics.scl.compiler.internal.codegen.ssa.SSAStatement;\r
-import org.simantics.scl.compiler.internal.codegen.ssa.binders.BoundVarBinder;\r
-import org.simantics.scl.compiler.internal.codegen.utils.SSASimplificationContext;\r
-import org.simantics.scl.compiler.internal.codegen.utils.SSAValidationContext;\r
-\r
-public abstract class LetStatement extends SSAStatement implements BoundVarBinder {\r
- BoundVar target;\r
-\r
- public LetStatement(BoundVar target) {\r
- setTarget(target);\r
- }\r
- \r
- @Override\r
- public void simplify(SSASimplificationContext context) {\r
- if(target.hasNoOccurences()) {\r
- remove();\r
- context.markModified("dead-let-statement");\r
- } \r
- }\r
- \r
- public BoundVar getTarget() {\r
- return target;\r
- }\r
- \r
- public void setTarget(BoundVar target) {\r
- this.target = target;\r
- target.parent = this;\r
- }\r
- \r
- @Override\r
- public void addBoundVariablesTo(SSAValidationContext context) {\r
- context.validBoundVariables.add(target); \r
- }\r
-\r
-}\r
+package org.simantics.scl.compiler.internal.codegen.ssa.statements;
+
+import org.simantics.scl.compiler.internal.codegen.references.BoundVar;
+import org.simantics.scl.compiler.internal.codegen.ssa.SSAStatement;
+import org.simantics.scl.compiler.internal.codegen.ssa.binders.BoundVarBinder;
+import org.simantics.scl.compiler.internal.codegen.utils.SSASimplificationContext;
+import org.simantics.scl.compiler.internal.codegen.utils.SSAValidationContext;
+
+public abstract class LetStatement extends SSAStatement implements BoundVarBinder {
+ BoundVar target;
+
+ public LetStatement(BoundVar target) {
+ setTarget(target);
+ }
+
+ @Override
+ public void simplify(SSASimplificationContext context) {
+ if(target.hasNoOccurences()) {
+ remove();
+ context.markModified("dead-let-statement");
+ }
+ }
+
+ public BoundVar getTarget() {
+ return target;
+ }
+
+ public void setTarget(BoundVar target) {
+ this.target = target;
+ target.parent = this;
+ }
+
+ @Override
+ public void addBoundVariablesTo(SSAValidationContext context) {
+ context.validBoundVariables.add(target);
+ }
+
+}