java-commons/muscript/src/main/java/io/gitlab/jfronny/muscript/data/dynamic/additional/DCallableObject.java

33 lines
822 B
Java

package io.gitlab.jfronny.muscript.data.dynamic.additional;
import io.gitlab.jfronny.muscript.compiler.ExprWriter;
import io.gitlab.jfronny.muscript.data.dynamic.*;
import java.io.IOException;
import java.util.Map;
public record DCallableObject(Map<String, Dynamic<?>> value, DCallable callable) implements DObject {
@Override
public Map<String, Dynamic<?>> getValue() {
return value;
}
@Override
public DCallable asCallable() {
return callable;
}
@Override
public void serialize(ExprWriter writer) throws IOException {
DObject.super.serialize(writer);
writer.append("::callableObject(");
callable.serialize(writer);
writer.append(')');
}
@Override
public String toString() {
return Dynamic.serialize(this);
}
}