getterCode = compiled.getExpression().toGetSourceString(context, compiled.getRoot()); } catch (NullPointerException e) && !ASTVarRef.class.isAssignableFrom(compiled.getExpression().getClass())) String rootExpr = !getterCode.equals("null") ? getRootExpression(compiled.getExpression(), compiled.getRoot(), context) : ""; if (OrderedReturn.class.isInstance(compiled.getExpression()) && ((OrderedReturn) compiled.getExpression()).getLastExpression() != null) + (ASTMethod.class.isInstance(compiled.getExpression()) || ASTChain.class.isInstance(compiled.getExpression()) ? rootExpr : "") + (castExpression != null ? castExpression : "") + ((OrderedReturn) compiled.getExpression()).getCoreExpression() + " return " + pre + ((OrderedReturn) compiled.getExpression()).getLastExpression() + post + ";}";
getterCode = compiled.getExpression().toGetSourceString(context, compiled.getRoot()); } catch (NullPointerException e) && !ASTVarRef.class.isAssignableFrom(compiled.getExpression().getClass())) String rootExpr = !getterCode.equals("null") ? getRootExpression(compiled.getExpression(), compiled.getRoot(), context) : ""; if (OrderedReturn.class.isInstance(compiled.getExpression()) && ((OrderedReturn) compiled.getExpression()).getLastExpression() != null) + (ASTMethod.class.isInstance(compiled.getExpression()) || ASTChain.class.isInstance(compiled.getExpression()) ? rootExpr : "") + (castExpression != null ? castExpression : "") + ((OrderedReturn) compiled.getExpression()).getCoreExpression() + " return " + pre + ((OrderedReturn) compiled.getExpression()).getLastExpression() + post + ";}";
ClassFab generateClassFab(CompiledExpression compiled) throws Exception { if (compiled.getGeneratedClass() != null) return compiled.getGeneratedClass(); ClassFab classFab = _classFactory.newClass(ClassFabUtils.generateClassName(compiled.getExpression().getClass()), Object.class); classFab.addInterface(ExpressionAccessor.class); compiled.setGeneratedClass(classFab); return classFab; }
ClassFab generateClassFab(CompiledExpression compiled) throws Exception { if (compiled.getGeneratedClass() != null) return compiled.getGeneratedClass(); ClassFab classFab = _classFactory.newClass(ClassFabUtils.generateClassName(compiled.getExpression().getClass()), Object.class); classFab.addInterface(ExpressionAccessor.class); compiled.setGeneratedClass(classFab); return classFab; }
protected String generateSetter(OgnlContext context, CompiledExpression compiled) throws Exception if (ExpressionNode.class.isInstance(compiled.getExpression()) || ASTConst.class.isInstance(compiled.getExpression())) throw new UnsupportedCompilationException("Can't compile expression/constant setters."); String setterCode = compiled.getExpression().toSetSourceString(context, compiled.getRoot()); String castExpression = (String) context.get(PRE_CAST); throw new UnsupportedCompilationException("Can't compile setters with a null root object."); String pre = getRootExpression(compiled.getExpression(), compiled.getRoot(), context);
protected String generateSetter(OgnlContext context, CompiledExpression compiled) throws Exception if (ExpressionNode.class.isInstance(compiled.getExpression()) || ASTConst.class.isInstance(compiled.getExpression())) throw new UnsupportedCompilationException("Can't compile expression/constant setters."); String setterCode = compiled.getExpression().toSetSourceString(context, compiled.getRoot()); String castExpression = (String) context.get(PRE_CAST); throw new UnsupportedCompilationException("Can't compile setters with a null root object."); String pre = getRootExpression(compiled.getExpression(), compiled.getRoot(), context);