feat(muscript): add ExtensibleExpr.optimize in preparation for muscript-optimizer
ci/woodpecker/push/woodpecker Pipeline was successful
Details
ci/woodpecker/push/woodpecker Pipeline was successful
Details
This commit is contained in:
parent
4205297661
commit
f40ed3e4e7
|
@ -3,4 +3,8 @@ package io.gitlab.jfronny.muscript.ast.extensible;
|
|||
import io.gitlab.jfronny.muscript.ast.BoolExpr;
|
||||
|
||||
public non-sealed interface ExtensibleBoolExpr extends BoolExpr, ExtensibleExpr {
|
||||
@Override
|
||||
default BoolExpr optimize() {
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,4 +3,8 @@ package io.gitlab.jfronny.muscript.ast.extensible;
|
|||
import io.gitlab.jfronny.muscript.ast.DynamicExpr;
|
||||
|
||||
public non-sealed interface ExtensibleDynamicExpr extends DynamicExpr, ExtensibleExpr {
|
||||
@Override
|
||||
default DynamicExpr optimize() {
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
package io.gitlab.jfronny.muscript.ast.extensible;
|
||||
|
||||
import io.gitlab.jfronny.muscript.ast.Expr;
|
||||
import io.gitlab.jfronny.muscript.core.ExprWriter;
|
||||
|
||||
public interface ExtensibleExpr {
|
||||
public sealed interface ExtensibleExpr permits ExtensibleBoolExpr, ExtensibleDynamicExpr, ExtensibleNumberExpr, ExtensibleStringExpr {
|
||||
void decompile(ExprWriter writer);
|
||||
Expr optimize();
|
||||
}
|
||||
|
|
|
@ -3,4 +3,8 @@ package io.gitlab.jfronny.muscript.ast.extensible;
|
|||
import io.gitlab.jfronny.muscript.ast.NumberExpr;
|
||||
|
||||
public non-sealed interface ExtensibleNumberExpr extends NumberExpr, ExtensibleExpr {
|
||||
@Override
|
||||
default NumberExpr optimize() {
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,4 +3,8 @@ package io.gitlab.jfronny.muscript.ast.extensible;
|
|||
import io.gitlab.jfronny.muscript.ast.StringExpr;
|
||||
|
||||
public non-sealed interface ExtensibleStringExpr extends StringExpr, ExtensibleExpr {
|
||||
@Override
|
||||
default StringExpr optimize() {
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue