1 package org.simantics.scl.compiler.elaboration.expressions;
3 public interface ExpressionTransformer {
5 Expression transform(EAmbiguous expression);
6 Expression transform(EApply expression);
7 Expression transform(EApplyType expression);
8 Expression transform(EAsPattern expression);
9 Expression transform(EBinary expression);
10 Expression transform(EBind expression);
11 Expression transform(EBlock expression);
12 Expression transform(ECHRSelect expression);
13 Expression transform(ECHRRuleset expression);
14 Expression transform(ECHRRulesetConstructor expression);
15 Expression transform(EConstant expression);
16 Expression transform(ECoveringBranchPoint expression);
17 Expression transform(EEnforce expression);
18 Expression transform(EEquations expression);
19 Expression transform(EError expression);
20 Expression transform(EExternalConstant expression);
21 Expression transform(EFieldAccess expression);
22 Expression transform(EGetConstraint expression);
23 Expression transform(EIf expression);
24 Expression transform(EIntegerLiteral expression);
25 Expression transform(ELambda expression);
26 Expression transform(ELambdaType expression);
27 Expression transform(ELet expression);
28 Expression transform(EListComprehension expression);
29 Expression transform(EListLiteral expression);
30 Expression transform(ELiteral expression);
31 Expression transform(EMatch expression);
32 Expression transform(EPlaceholder expression);
33 Expression transform(EPreLet expression);
34 Expression transform(EPreRuleset expression);
35 Expression transform(ERange expression);
36 Expression transform(ERealLiteral expression);
37 Expression transform(ERecord expression);
38 Expression transform(ERuleset expression);
39 Expression transform(ESelect expression);
40 Expression transform(ESimpleLambda expression);
41 Expression transform(ESimpleLet expression);
42 Expression transform(EStringLiteral expression);
43 Expression transform(ETransformation expression);
44 Expression transform(ETypeAnnotation expression);
45 Expression transform(EVar expression);
46 Expression transform(EVariable expression);
47 Expression transform(EViewPattern expression);
48 Expression transform(EWhen expression);
49 Expression transform(GuardedExpressionGroup expression);