diff --git a/muscript/src/main/java/io/gitlab/jfronny/muscript/data/dynamic/additional/DelegateDynamic.java b/muscript/src/main/java/io/gitlab/jfronny/muscript/data/dynamic/additional/DelegateDynamic.java new file mode 100644 index 0000000..5b0f1bb --- /dev/null +++ b/muscript/src/main/java/io/gitlab/jfronny/muscript/data/dynamic/additional/DelegateDynamic.java @@ -0,0 +1,86 @@ +package io.gitlab.jfronny.muscript.data.dynamic.additional; + +import io.gitlab.jfronny.muscript.ast.Expr; +import io.gitlab.jfronny.muscript.compiler.ExprWriter; +import io.gitlab.jfronny.muscript.data.dynamic.*; + +import java.io.IOException; + +public interface DelegateDynamic extends DynamicBase { + Dynamic getDelegate(); + + @Override + default void serialize(ExprWriter writer) throws IOException { + getDelegate().serialize(writer); + } + + @Override + default Expr toExpr() { + return getDelegate().toExpr(); + } + + @Override + default T getValue() { + return getDelegate().getValue(); + } + + @Override + default boolean isBool() { + return getDelegate().isBool(); + } + + @Override + default DBool asBool() { + return getDelegate().asBool(); + } + + @Override + default boolean isNumber() { + return getDelegate().isNumber(); + } + + @Override + default DNumber asNumber() { + return getDelegate().asNumber(); + } + + @Override + default boolean isString() { + return getDelegate().isString(); + } + + @Override + default DString asString() { + return getDelegate().asString(); + } + + @Override + default boolean isObject() { + return getDelegate().isObject(); + } + + @Override + default DObject asObject() { + return getDelegate().asObject(); + } + + @Override + default boolean isList() { + return getDelegate().isList(); + } + + @Override + default DList asList() { + return getDelegate().asList(); + } + + @Override + default boolean isCallable() { + return getDelegate().isCallable(); + } + + @Override + default DCallable asCallable() { + return getDelegate().asCallable(); + } +}