
org.snapscript.core.IdentityEvaluation Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of snap-all Show documentation
Show all versions of snap-all Show documentation
Dynamic scripting for the JVM
The newest version!
package org.snapscript.core;
import static org.snapscript.core.constraint.Constraint.NONE;
import org.snapscript.core.constraint.Constraint;
import org.snapscript.core.scope.Scope;
import org.snapscript.core.variable.Value;
public class IdentityEvaluation extends Evaluation {
private final Constraint type;
private final Object value;
public IdentityEvaluation(Object value) {
this(value, NONE);
}
public IdentityEvaluation(Object value, Constraint type) {
this.value = value;
this.type = type;
}
@Override
public Constraint compile(Scope scope, Constraint left) throws Exception {
return type;
}
@Override
public Value evaluate(Scope scope, Value left) throws Exception {
return Value.getTransient(value, type);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy