]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/block/Statement.java
Merge "List the unsatisfied dependencies in CanvasContext"
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / elaboration / expressions / block / Statement.java
1 package org.simantics.scl.compiler.elaboration.expressions.block;\r
2 \r
3 import org.simantics.scl.compiler.common.exceptions.InternalCompilerError;\r
4 import org.simantics.scl.compiler.elaboration.contexts.EnvironmentalContext;\r
5 import org.simantics.scl.compiler.elaboration.contexts.ReplaceContext;\r
6 import org.simantics.scl.compiler.elaboration.contexts.TranslationContext;\r
7 import org.simantics.scl.compiler.elaboration.expressions.Expression;\r
8 import org.simantics.scl.compiler.internal.parsing.Symbol;\r
9 \r
10 public abstract class Statement extends Symbol {\r
11 \r
12     public abstract Expression toExpression(EnvironmentalContext context, boolean monadic, Expression in);\r
13     public abstract void setLocationDeep(long loc);\r
14     public abstract void resolvePattern(TranslationContext context);\r
15     public abstract boolean mayBeRecursive();\r
16     \r
17     public Statement replace(ReplaceContext context) {\r
18         throw new InternalCompilerError(getClass().getSimpleName() + " does not support replace.");\r
19     }\r
20     \r
21     public Statement copy() {\r
22         return replace(new ReplaceContext(null));\r
23     }\r
24     \r
25     public abstract void accept(StatementVisitor visitor);\r
26     public abstract StatementGroup getStatementGroup();\r
27     \r
28 }\r