-package org.simantics.scl.compiler.elaboration.macros;\r
-\r
-import org.simantics.scl.compiler.elaboration.contexts.SimplificationContext;\r
-import org.simantics.scl.compiler.elaboration.expressions.EApply;\r
-import org.simantics.scl.compiler.elaboration.expressions.Expression;\r
-import org.simantics.scl.compiler.types.Type;\r
-\r
-public interface MacroRule {\r
-\r
- Expression apply(SimplificationContext context, Type[] typeParameters, EApply apply);\r
- \r
-}\r
+package org.simantics.scl.compiler.elaboration.macros;
+
+import org.simantics.scl.compiler.elaboration.contexts.SimplificationContext;
+import org.simantics.scl.compiler.elaboration.expressions.EApply;
+import org.simantics.scl.compiler.elaboration.expressions.Expression;
+import org.simantics.scl.compiler.types.Type;
+
+public interface MacroRule {
+
+ default Expression apply(SimplificationContext context, Type[] typeParameters, EApply apply) {
+ return null;
+ }
+
+ default Expression inline(SimplificationContext context, Type[] typeParameters) {
+ return null;
+ }
+
+}