@Override public void visit(InvocationExpr expr) { try { switch (expr.getType()) { case CONSTRUCTOR: output.writeByte(13); break; case STATIC: output.writeByte(14); break; case SPECIAL: output.writeByte(15); break; case DYNAMIC: output.writeByte(16); break; } output.writeInt(symbolTable.lookup(expr.getMethod().getClassName())); output.writeInt(symbolTable.lookup(expr.getMethod().getDescriptor().toString())); output.writeShort(expr.getArguments().size()); for (int i = 0; i < expr.getArguments().size(); ++i) { writeExpr(expr.getArguments().get(i)); } } catch (IOException e) { throw new IOExceptionWrapper(e); } }
@Override public void visit(InvocationExpr expr) { super.visit(expr); if (injectedMethods.contains(expr.getMethod())) { return; } switch (expr.getType()) { case SPECIAL: case STATIC: consumer.consume(expr.getMethod()); break; case CONSTRUCTOR: consumer.consumeInit(expr.getMethod()); break; case DYNAMIC: consumer.consume(expr.getMethod().getDescriptor()); break; } }
injector.generate(new InjectorContextImpl(expr.getArguments()), expr.getMethod()); } else { if (expr.getType() == InvocationType.DYNAMIC) { precedence = Precedence.MEMBER_ACCESS; expr.getArguments().get(0).acceptVisitor(this); switch (expr.getType()) { case STATIC: writer.appendMethodBody(method).append("(");
switch (expr.getType()) { case CONSTRUCTOR: { String receiver = allocTemporaryVariable(CVariableType.PTR);
@Override public void visit(InvocationExpr expr) { try { switch (expr.getType()) { case CONSTRUCTOR: output.writeByte(13); break; case STATIC: output.writeByte(14); break; case SPECIAL: output.writeByte(15); break; case DYNAMIC: output.writeByte(16); break; } output.writeInt(symbolTable.lookup(expr.getMethod().getClassName())); output.writeInt(symbolTable.lookup(expr.getMethod().getDescriptor().toString())); output.writeShort(expr.getArguments().size()); for (int i = 0; i < expr.getArguments().size(); ++i) { writeExpr(expr.getArguments().get(i)); } } catch (IOException e) { throw new IOExceptionWrapper(e); } }
@Override public void visit(InvocationExpr expr) { super.visit(expr); if (injectedMethods.contains(expr.getMethod())) { return; } switch (expr.getType()) { case SPECIAL: case STATIC: consumer.consume(expr.getMethod()); break; case CONSTRUCTOR: consumer.consumeInit(expr.getMethod()); break; case DYNAMIC: consumer.consume(expr.getMethod().getDescriptor()); break; } }
injector.generate(new InjectorContextImpl(expr.getArguments()), expr.getMethod()); } else { if (expr.getType() == InvocationType.DYNAMIC) { precedence = Precedence.MEMBER_ACCESS; expr.getArguments().get(0).acceptVisitor(this); switch (expr.getType()) { case STATIC: writer.append(naming.getFullNameFor(method)).append("(");