I do not have privileges to close the PR https://github.com/apache/netbeans/pull/1108
Jose Contreras El jue., 7 nov. 2019 a las 17:20, Jose Ch (<[email protected]>) escribió: > I will, thanks for bringing it to my attention. > > Jose Contreras > > El jue., 7 nov. 2019 a las 16:28, Laszlo Kishalmi (< > [email protected]>) escribió: > >> When you create your PR for 7.2, please close this one in favor of that: >> https://github.com/apache/netbeans/pull/1108 >> >> >> On 11/7/19 1:41 PM, Jose Ch wrote: >> > Thanks for your help Peter. >> > >> > I tested the PR and it works for both the asm5.2 and the asm7.2 >> branches. I >> > also compare the output from the original asm5.0.1 with the new ones >> > (ams5.2-asm7.2) and it was the same. >> > >> > I also tested using ASM API v6 & v7, the output was the same and I >> worked >> > without problems my daily projects. I will prepare the PR today. >> > >> > Jose Contreras >> > >> > El jue., 7 nov. 2019 a las 3:58, Peter Hull (<[email protected]>) >> > escribió: >> > >> >> On Wed, 6 Nov 2019 at 22:24, Jose Ch <[email protected]> wrote: >> >>> I will test the PR and do as you suggest Pete. >> >> For what it's worth my implementation was a bit different: >> >> private static class CtorDelVisitor extends AnnotationVisitor { >> >> int[] indices; >> >> /** >> >> * Constructs a new {@link AnnotationVisitor}. >> >> * >> >> * @param api the ASM API version implemented by this >> visitor. Must >> >> be one of {@link >> >> * Opcodes#ASM4}, {@link Opcodes#ASM5}, {@link >> Opcodes#ASM6} or >> >> {@link Opcodes#ASM7}. >> >> */ >> >> public CtorDelVisitor(int api) { >> >> super(api); >> >> } >> >> @Override >> >> public AnnotationVisitor visitArray(String name) { >> >> if ("delegateParams".equals(name)) { // NOI18N >> >> return new AnnotationVisitor(api) { >> >> List<Integer> list = new ArrayList<>(); >> >> @Override >> >> public void visit(String name, Object value) { >> >> list.add((Integer) value); >> >> } >> >> @Override >> >> public void visitEnd() { >> >> int[] indices = new int[list.size()]; >> >> for (int i = 0; i < indices.length; ++i) { >> >> indices[i] = list.get(i); >> >> } >> >> CtorDelVisitor.this.indices = indices; >> >> } >> >> }; >> >> } else { >> >> return super.visitArray(name); // Not interested >> >> } >> >> } >> >> } >> >> I guess Svata's will be more efficient. >> >> >> >> It's a bit frustrating that the AnnotationNode forces us to visit each >> >> array element in turn when all we need is the complete list, but I >> think >> >> there's no way around that. Visitor pattern makes my head spin, it >> always >> >> seems inside-out to me. >> >> >> >> Pete >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> For further information about the NetBeans mailing lists, visit: >> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists >> >> >> >>
