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 { Expression apply(SimplificationContext context, Type[] typeParameters, EApply apply); }