feat(muscript): implement DelegateDynamic
ci/woodpecker/push/woodpecker Pipeline was successful Details

This commit is contained in:
Johannes Frohnmeyer 2023-08-14 16:17:22 +02:00
parent b41019c89d
commit 04dd1e4af0
Signed by: Johannes
GPG Key ID: E76429612C2929F4
1 changed files with 86 additions and 0 deletions

View File

@ -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<T> extends DynamicBase<T> {
Dynamic<T> 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();
}
}