}
}
@Override
public VariableResolver createVariable(String name, Object value, Class<?> type) {
VariableResolver vr;
try {
vr = getVariableResolver(name);
}
catch (UnresolveablePropertyException e) {
vr = null;
}
if (vr != null && vr.getType() != null) {
throw new CompileException("variable already defined within scope: " + vr.getType() + " " + name, expr, start);
}
else {
addResolver(name, vr = new ProtoResolver(variables, name, type)).setValue(value);
return vr;
}