org.snapscript.tree.define.EnumKey Maven / Gradle / Ivy
package org.snapscript.tree.define;
import org.snapscript.core.Evaluation;
import org.snapscript.core.Scope;
import org.snapscript.core.Value;
import org.snapscript.core.ValueType;
import org.snapscript.tree.literal.TextLiteral;
public class EnumKey implements Evaluation {
protected final TextLiteral literal;
public EnumKey(TextLiteral literal) {
this.literal = literal;
}
@Override
public Value evaluate(Scope scope, Object left) throws Exception{
Value value = literal.evaluate(scope, left);
String name = value.getValue();
return ValueType.getTransient(name);
}
}