public DeclTypedVarNode(String name, char[] expr, int start, int offset, Class type, int fields, ParserContext pCtx) { super(pCtx); this.egressType = type; checkNameSafety(this.name = name); this.expr = expr; this.start = start; this.offset = offset; if ((fields & COMPILE_IMMEDIATE) != 0) { pCtx.addVariable(name, egressType, true); } }
public DeclTypedVarNode(String name, char[] expr, int start, int offset, Class type, int fields, ParserContext pCtx) { super(pCtx); this.egressType = type; checkNameSafety(this.name = name); this.expr = expr; this.start = start; this.offset = offset; if ((fields & COMPILE_IMMEDIATE) != 0) { pCtx.addVariable(name, egressType, true); } }
public DeclProtoVarNode(String name, Proto type, int fields, ParserContext pCtx) { super(pCtx); this.egressType = Proto.ProtoInstance.class; checkNameSafety(this.name = name); if ((fields & COMPILE_IMMEDIATE) != 0) { pCtx.addVariable(name, egressType, true); } }
public DeclProtoVarNode(String name, Proto type, int fields, ParserContext pCtx) { super(pCtx); this.egressType = Proto.ProtoInstance.class; checkNameSafety(this.name = name); if ((fields & COMPILE_IMMEDIATE) != 0) { pCtx.addVariable(name, egressType, true); } }
public DeclProtoVarNode(String name, Proto type, int fields, ParserContext pCtx) { this.egressType = Proto.ProtoInstance.class; checkNameSafety(this.name = name); if ((fields & COMPILE_IMMEDIATE) != 0) { pCtx.addVariable(name, egressType, true); } }
public DeclTypedVarNode(String name, Class type, int fields, ParserContext pCtx) { this.egressType = type; checkNameSafety(this.name = name); if ((fields & COMPILE_IMMEDIATE) != 0) { pCtx.addVariable(name, egressType, true); } }
public ProtoVarNode(char[] expr, int start, int offset, int fields, Proto type, ParserContext pCtx) { super(pCtx); this.egressType = Proto.ProtoInstance.class; this.expr = expr; this.start = start; this.offset = offset; this.fields = fields; int assignStart; if ((assignStart = find(super.expr = expr, start, offset, '=')) != -1) { checkNameSafety(name = createStringTrimmed(expr, 0, assignStart)); if (((fields |= ASSIGN) & COMPILE_IMMEDIATE) != 0) { statement = (ExecutableStatement) subCompileExpression(expr, assignStart + 1, offset, pCtx); } } else { checkNameSafety(name = new String(expr, start, offset)); } if ((fields & COMPILE_IMMEDIATE) != 0) { pCtx.addVariable(name, egressType, true); } }
public ProtoVarNode(char[] expr, int start, int offset, int fields, Proto type, ParserContext pCtx) { super(pCtx); this.egressType = Proto.ProtoInstance.class; this.expr = expr; this.start = start; this.offset = offset; this.fields = fields; int assignStart; if ((assignStart = find(super.expr = expr, start, offset, '=')) != -1) { checkNameSafety(name = createStringTrimmed(expr, 0, assignStart)); if (((fields |= ASSIGN) & COMPILE_IMMEDIATE) != 0) { statement = (ExecutableStatement) subCompileExpression(expr, assignStart + 1, offset, pCtx); } } else { checkNameSafety(name = new String(expr, start, offset)); } if ((fields & COMPILE_IMMEDIATE) != 0) { pCtx.addVariable(name, egressType, true); } }
public TypedVarNode(char[] expr, int start, int offset, int fields, Class type, ParserContext pCtx) { super(pCtx); this.egressType = type; this.fields = fields; this.expr = expr; this.start = start; this.offset = offset; int assignStart; if ((assignStart = find(this.expr = expr, start, offset, '=')) != -1) { checkNameSafety(name = createStringTrimmed(expr, start, assignStart - start)); this.offset -= (assignStart - start); this.start = assignStart + 1; if (((fields |= ASSIGN) & COMPILE_IMMEDIATE) != 0) { statement = (ExecutableStatement) subCompileExpression(expr, this.start, this.offset, pCtx); } } else { checkNameSafety(name = new String(expr, start, offset)); } if ((fields & COMPILE_IMMEDIATE) != 0) { Class x = pCtx.getVarOrInputType(name); if (x != null && x != Object.class && !x.isAssignableFrom(egressType)) { throw new RuntimeException("statically-typed variable already defined in scope: " + name); } pCtx.addVariable(name, egressType, false); } }
public TypedVarNode(char[] expr, int start, int offset, int fields, Class type, ParserContext pCtx) { super(pCtx); this.egressType = type; this.fields = fields; this.expr = expr; this.start = start; this.offset = offset; int assignStart; if ((assignStart = find(this.expr = expr, start, offset, '=')) != -1) { checkNameSafety(name = createStringTrimmed(expr, start, assignStart - start)); this.offset -= (assignStart - start); this.start = assignStart + 1; if (((fields |= ASSIGN) & COMPILE_IMMEDIATE) != 0) { statement = (ExecutableStatement) subCompileExpression(expr, this.start, this.offset, pCtx); } } else { checkNameSafety(name = new String(expr, start, offset)); } if ((fields & COMPILE_IMMEDIATE) != 0) { Class x = pCtx.getVarOrInputType(name); if (x != null && x != Object.class && !x.isAssignableFrom(egressType)) { throw new RuntimeException("statically-typed variable already defined in scope: " + name); } pCtx.addVariable(name, egressType, false); } }
public ProtoVarNode(char[] expr, int fields, Proto type, ParserContext pCtx) { this.egressType = Proto.ProtoInstance.class; this.fields = fields; int assignStart; if ((assignStart = find(super.name = expr, '=')) != -1) { checkNameSafety(name = createStringTrimmed(expr, 0, assignStart)); if (((fields |= ASSIGN) & COMPILE_IMMEDIATE) != 0) { statement = (ExecutableStatement) subCompileExpression(stmt = subset(expr, assignStart + 1), pCtx); } else { stmt = subset(expr, assignStart + 1); } } else { checkNameSafety(name = new String(expr)); } if ((fields & COMPILE_IMMEDIATE) != 0) { pCtx.addVariable(name, egressType, true); } }
public TypedVarNode(char[] expr, int fields, Class type, ParserContext pCtx) { this.egressType = type; this.fields = fields; int assignStart; if ((assignStart = find(super.name = expr, '=')) != -1) { checkNameSafety(name = createStringTrimmed(expr, 0, assignStart)); if (((fields |= ASSIGN) & COMPILE_IMMEDIATE) != 0) { statement = (ExecutableStatement) subCompileExpression(stmt = subset(expr, assignStart + 1), pCtx); } else { stmt = subset(expr, assignStart + 1); } } else { checkNameSafety(name = new String(expr)); } if ((fields & COMPILE_IMMEDIATE) != 0) { pCtx.addVariable(name, egressType, true); } }
public AssignmentNode(char[] expr, int fields, ParserContext pCtx) { this.name = expr; int assignStart; if ((assignStart = find(expr, '=')) != -1) { this.varName = createStringTrimmed(expr, 0, assignStart); stmt = subset(expr, assignStart + 1); if ((fields & COMPILE_IMMEDIATE) != 0) { this.egressType = (statement = (ExecutableStatement) subCompileExpression(stmt, pCtx)).getKnownEgressType(); } if (col = ((endOfName = findFirst('[', indexTarget = this.varName.toCharArray())) > 0)) { if (((this.fields |= COLLECTION) & COMPILE_IMMEDIATE) != 0) { accExpr = (CompiledAccExpression) compileSetExpression(indexTarget, pCtx); } this.varName = new String(expr, 0, endOfName); index = new String(indexTarget, endOfName, indexTarget.length - endOfName); } checkNameSafety(this.varName); } else { checkNameSafety(this.varName = new String(expr)); } if ((fields & COMPILE_IMMEDIATE) != 0) { pCtx.addVariable(this.varName, egressType); } this.name = this.varName.toCharArray(); }
public Object getReducedValue(Object ctx, Object thisValue, VariableResolverFactory factory) { checkNameSafety(name); if (col) { MVEL.setProperty(factory.getIndexedVariableResolver(register).getValue(), new String(index), ctx = MVEL.eval(stmt, ctx, factory)); } else { factory.createIndexedVariable(register, name, ctx = MVEL.eval(stmt, ctx, factory)); } return ctx; }
public Object getReducedValue(Object ctx, Object thisValue, VariableResolverFactory factory) { checkNameSafety(name); if (col) { MVEL.setProperty(factory.getIndexedVariableResolver(register).getValue(), new String(index), ctx = MVEL.eval(stmt, ctx, factory)); } else { factory.createIndexedVariable(register, name, ctx = MVEL.eval(stmt, ctx, factory)); } return ctx; }
public Object getReducedValue(Object ctx, Object thisValue, VariableResolverFactory factory) { checkNameSafety(name); if (col) { MVEL.setProperty(factory.getIndexedVariableResolver(register).getValue(), new String(index), ctx = MVEL.eval(stmt, ctx, factory)); } else { factory.createIndexedVariable(register, name, ctx = MVEL.eval(stmt, ctx, factory)); } return ctx; }
public IndexedAssignmentNode(char[] expr, int fields, int operation, String name, int register, ParserContext pCtx) { super.name = expr; this.register = register; int assignStart; if (operation != -1) { checkNameSafety(this.name = name); this.egressType = (statement = (ExecutableStatement) subCompileExpression(stmt = createShortFormOperativeAssignment(name, expr, operation), pCtx)).getKnownEgressType(); } else if ((assignStart = find(expr, '=')) != -1) { this.name = createStringTrimmed(expr, 0, assignStart); this.egressType = (statement = (ExecutableStatement) subCompileExpression(stmt = subset(expr, assignStart + 1), pCtx)) .getKnownEgressType(); if (col = ((endOfName = (short) findFirst('[', indexTarget = this.name.toCharArray())) > 0)) { if (((this.fields |= COLLECTION) & COMPILE_IMMEDIATE) != 0) { accExpr = (CompiledAccExpression) compileSetExpression(indexTarget, pCtx); } this.name = new String(expr, 0, endOfName); index = subset(indexTarget, endOfName, indexTarget.length - endOfName); } checkNameSafety(this.name); } else { checkNameSafety(this.name = new String(expr)); } if ((fields & COMPILE_IMMEDIATE) != 0) { pCtx.addVariable(name, egressType); } }
public Object getReducedValue(Object ctx, Object thisValue, VariableResolverFactory factory) { checkNameSafety(varName); if (col) { PropertyAccessor.set(factory.getVariableResolver(varName).getValue(), factory, index, ctx = MVEL.eval(stmt, ctx, factory)); } else { return factory.createVariable(varName, MVEL.eval(stmt, ctx, factory)).getValue(); } return ctx; }
public Object getReducedValue(Object ctx, Object thisValue, VariableResolverFactory factory) { checkNameSafety(varName); MVELInterpretedRuntime runtime = new MVELInterpretedRuntime(expr, start, offset, ctx, factory, pCtx); if (col) { PropertyAccessor.set(factory.getVariableResolver(varName).getValue(), factory, index, ctx = runtime.parse(), pCtx); } else { return factory.createVariable(varName, runtime.parse()).getValue(); } return ctx; }
public Object getReducedValue(Object ctx, Object thisValue, VariableResolverFactory factory) { checkNameSafety(varName); MVELInterpretedRuntime runtime = new MVELInterpretedRuntime(expr, start, offset, ctx, factory, pCtx); if (col) { PropertyAccessor.set(factory.getVariableResolver(varName).getValue(), factory, index, ctx = runtime.parse(), pCtx); } else { return factory.createVariable(varName, runtime.parse()).getValue(); } return ctx; }