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; } }