package io.gitlab.jfronny.muscript.ast; import io.gitlab.jfronny.muscript.ast.dynamic.DynamicCoerce; import io.gitlab.jfronny.muscript.compiler.Order; import io.gitlab.jfronny.muscript.compiler.Type; public abstract non-sealed class BoolExpr extends Expr { protected BoolExpr(Order order, int chStart, int chEnd) { super(order, chStart, chEnd); } @Override public Type getResultType() { return Type.Boolean; } @Override public abstract BoolExpr optimize(); @Override public DynamicExpr asDynamicExpr() { return new DynamicCoerce(chStart, chEnd, this); } }