33 lines
822 B
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);
|
|
}
|
|
}
|