@Override public void emit(InjectorContext context) throws IOException { AstWriter astWriter = new AstWriter(context.getWriter()); int paramIndex = 0; if (!isStatic) { int index = paramIndex++; astWriter.declareNameEmitter("this", prec -> context.writeExpr(context.getArgument(index), convert(prec))); } for (int i = 0; i < parameterNames.length; ++i) { int index = paramIndex++; astWriter.declareNameEmitter(parameterNames[i], prec -> context.writeExpr(context.getArgument(index), convert(prec))); } astWriter.hoist(ast); astWriter.print(ast, convert(context.getPrecedence())); }
break; case "instantiate": if (context.getPrecedence().ordinal() >= Precedence.FUNCTION_CALL.ordinal()) { writer.append("("); if (context.getPrecedence().ordinal() >= Precedence.FUNCTION_CALL.ordinal()) { writer.append(")"); writer.append(")"); } else if (methodRef.getDescriptor().parameterType(0) == ValueType.BOOLEAN) { if (context.getPrecedence().ordinal() >= Precedence.UNARY.ordinal()) { writer.append("("); if (context.getPrecedence().ordinal() >= Precedence.UNARY.ordinal()) { writer.append(")"); context.writeExpr(context.getArgument(0), context.getPrecedence()); break; case "unwrapBoolean": if (context.getPrecedence().ordinal() >= Precedence.CONDITIONAL.ordinal()) { writer.append("("); if (context.getPrecedence().ordinal() >= Precedence.CONDITIONAL.ordinal()) { writer.append(")"); default: if (methodRef.getName().startsWith("unwrap")) { context.writeExpr(context.getArgument(0), context.getPrecedence());
@Override public void emit(InjectorContext context) throws IOException { AstWriter astWriter = new AstWriter(context.getWriter()); int paramIndex = 0; if (!isStatic) { int index = paramIndex++; astWriter.declareNameEmitter("this", prec -> context.writeExpr(context.getArgument(index), convert(prec))); } for (int i = 0; i < parameterNames.length; ++i) { int index = paramIndex++; astWriter.declareNameEmitter(parameterNames[i], prec -> context.writeExpr(context.getArgument(index), convert(prec))); } astWriter.hoist(ast); astWriter.print(ast, convert(context.getPrecedence())); }
break; case "instantiate": if (context.getPrecedence().ordinal() >= Precedence.FUNCTION_CALL.ordinal()) { writer.append("("); if (context.getPrecedence().ordinal() >= Precedence.FUNCTION_CALL.ordinal()) { writer.append(")"); writer.append(")"); } else if (methodRef.getDescriptor().parameterType(0) == ValueType.BOOLEAN) { if (context.getPrecedence().ordinal() >= Precedence.UNARY.ordinal()) { writer.append("("); if (context.getPrecedence().ordinal() >= Precedence.UNARY.ordinal()) { writer.append(")"); context.writeExpr(context.getArgument(0), context.getPrecedence()); break; case "unwrapBoolean": if (context.getPrecedence().ordinal() >= Precedence.CONDITIONAL.ordinal()) { writer.append("("); if (context.getPrecedence().ordinal() >= Precedence.CONDITIONAL.ordinal()) { writer.append(")"); default: if (methodRef.getName().startsWith("unwrap")) { context.writeExpr(context.getArgument(0), context.getPrecedence());