public ProtoInstance(Proto protoType, Object ctx, Object thisCtx, VariableResolverFactory factory) { this.protoType = protoType; receivers = new SimpleIndexHashMapWrapper<String, Receiver>(); for (Map.Entry<String, Receiver> entry : protoType.receivers.entrySet()) { receivers.put(entry.getKey(), entry.getValue().init(this, ctx, thisCtx, factory)); } instanceStates = new ProtoContextFactory(receivers); }
@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); } else { addResolver(name, vr = new ProtoResolver(variables, name, type)).setValue(value); return vr; } }
@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; } }
@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; } }
@Override public VariableResolver createVariable(String name, Object value) { VariableResolver vr; try { (vr = getVariableResolver(name)).setValue(value); return vr; } catch (UnresolveablePropertyException e) { addResolver(name, vr = new ProtoResolver(variables, name)).setValue(value); return vr; } }
@Override public VariableResolver createIndexedVariable(int index, String name, Object value, Class<?> type) { VariableResolver vr = this.variableResolvers != null ? this.variableResolvers.getByIndex(index) : null; if (vr != null && vr.getType() != null) { throw new CompileException("variable already defined within scope: " + vr.getType() + " " + name); } else { return createIndexedVariable(variableIndexOf(name), name, value); } }
@Override public VariableResolver createIndexedVariable(int index, String name, Object value, Class<?> type) { VariableResolver vr = this.variableResolvers != null ? this.variableResolvers.getByIndex(index) : null; if (vr != null && vr.getType() != null) { throw new CompileException("variable already defined within scope: " + vr.getType() + " " + name, expr, start); } else { return createIndexedVariable(variableIndexOf(name), name, value); } }
public ProtoInstance(Proto protoType, Object ctx, Object thisCtx, VariableResolverFactory factory) { this.protoType = protoType; receivers = new SimpleIndexHashMapWrapper<String, Receiver>(); for (Map.Entry<String, Receiver> entry : protoType.receivers.entrySet()) { receivers.put(entry.getKey(), entry.getValue().init(this, ctx, thisCtx, factory)); } instanceStates = new ProtoContextFactory(receivers); }
@Override public VariableResolver createVariable(String name, Object value) { VariableResolver vr; try { (vr = getVariableResolver(name)).setValue(value); return vr; } catch (UnresolveablePropertyException e) { addResolver(name, vr = new ProtoResolver(variables, name)).setValue(value); return vr; } }
@Override public VariableResolver createVariable(String name, Object value) { VariableResolver vr; try { (vr = getVariableResolver(name)).setValue(value); return vr; } catch (UnresolveablePropertyException e) { addResolver(name, vr = new ProtoResolver(variables, name)).setValue(value); return vr; } }
@Override public VariableResolver createIndexedVariable(int index, String name, Object value, Class<?> type) { VariableResolver vr = this.variableResolvers != null ? this.variableResolvers.getByIndex(index) : null; if (vr != null && vr.getType() != null) { throw new CompileException("variable already defined within scope: " + vr.getType() + " " + name, expr, start); } else { return createIndexedVariable(variableIndexOf(name), name, value); } }
public ProtoInstance(Proto protoType, Object ctx, Object thisCtx, VariableResolverFactory factory) { this.protoType = protoType; receivers = new SimpleIndexHashMapWrapper<String, Receiver>(); for (Map.Entry<String, Receiver> entry : protoType.receivers.entrySet()) { receivers.put(entry.getKey(), entry.getValue().init(this, ctx, thisCtx, factory)); } instanceStates = new ProtoContextFactory(receivers); }