tapestry-5 git commit: upgrade Gradle wrapper
Repository: tapestry-5 Updated Branches: refs/heads/master 52e2b7b38 -> 0f000e6ab upgrade Gradle wrapper Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/0f000e6a Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/0f000e6a Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/0f000e6a Branch: refs/heads/master Commit: 0f000e6ab32a167cf15b61f3436fda54af60c7e5 Parents: 52e2b7b Author: Jochen KemnadeAuthored: Fri Oct 6 16:51:52 2017 +0200 Committer: Jochen Kemnade Committed: Fri Oct 6 16:51:52 2017 +0200 -- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.jar| Bin 54208 -> 54708 bytes gradle/wrapper/gradle-wrapper.properties | 5 ++--- gradlew | 6 +++--- 4 files changed, 6 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/0f000e6a/build.gradle -- diff --git a/build.gradle b/build.gradle index 56d1b28..e0a8184 100755 --- a/build.gradle +++ b/build.gradle @@ -424,7 +424,7 @@ task continuousIntegration { } task wrapper(type: Wrapper) { -gradleVersion = '3.4' +gradleVersion = '3.5.1' description "Regenerates the Gradle Wrapper files" } http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/0f000e6a/gradle/wrapper/gradle-wrapper.jar -- diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index e1508cd..7a3265e 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/0f000e6a/gradle/wrapper/gradle-wrapper.properties -- diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index f5f87ea..651f764 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Fri Mar 03 06:51:16 CET 2017 +distributionUrl=https\://services.gradle.org/distributions/gradle-3.5.1-bin.zip distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.4-bin.zip +zipStoreBase=GRADLE_USER_HOME http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/0f000e6a/gradlew -- diff --git a/gradlew b/gradlew index 4453cce..cccdd3d 100755 --- a/gradlew +++ b/gradlew @@ -33,11 +33,11 @@ DEFAULT_JVM_OPTS="" # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" -warn ( ) { +warn () { echo "$*" } -die ( ) { +die () { echo echo "$*" echo @@ -155,7 +155,7 @@ if $cygwin ; then fi # Escape application args -save ( ) { +save () { for i do printf %s\\n "$i" | sed "s/'/'''/g;1s/^/'/;\$s/\$/' /" ; done echo " " }
[jira] [Commented] (TAP5-2588) Does not work with Java 9
[ https://issues.apache.org/jira/browse/TAP5-2588?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16194661#comment-16194661 ] Hudson commented on TAP5-2588: -- FAILURE: Integrated in Jenkins build tapestry-trunk-freestyle #1634 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/1634/]) TAP5-2588: upgrade ASM to 6.0 (jkemnade: rev 74324b3130c9f74c1684a08171b7a2ca56532fe1) * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/tree/InvokeDynamicInsnNode.java * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/xml/SAXAnnotationAdapter.java * (delete) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/optimizer/JarOptimizer.java * (delete) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/optimizer/shrink-annotations.properties * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/util/TraceAnnotationVisitor.java * (delete) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/optimizer/MethodOptimizer.java * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/MethodVisitor.java * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/commons/RemappingClassAdapter.java * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/commons/JSRInlinerAdapter.java * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/ClassVisitor.java * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/tree/ClassNode.java * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/tree/FieldInsnNode.java * (add) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/commons/AnnotationRemapper.java * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/commons/RemappingMethodAdapter.java * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/tree/AnnotationNode.java * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/signature/SignatureWriter.java * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/util/CheckMethodAdapter.java * (edit) plastic/src/main/java/org/apache/tapestry5/internal/plastic/AbstractAnnotationBuilder.java * (add) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/commons/SignatureRemapper.java * (add) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/tree/ModuleNode.java * (add) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/tree/ModuleRequireNode.java * (add) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/commons/ClassRemapper.java * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/xml/SAXCodeAdapter.java * (delete) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/optimizer/ClassConstantsCollector.java * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/util/CheckSignatureAdapter.java * (add) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/tree/ModuleProvideNode.java * (add) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/commons/ModuleResolutionAttribute.java * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/xml/asm-xml.dtd * (add) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/ModuleVisitor.java * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/util/CheckAnnotationAdapter.java * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/Frame.java * (delete) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/optimizer/shrink-resize.properties * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/tree/analysis/BasicVerifier.java * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/signature/SignatureReader.java * (delete) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/optimizer/shrink.properties * (add) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/commons/ModuleTargetAttribute.java * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/tree/FieldNode.java * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/Opcodes.java * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/commons/Remapper.java * (add) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/commons/FieldRemapper.java * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/MethodWriter.java * (edit) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/tree/ParameterNode.java * (add) plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/util/TraceModuleVisitor.java * (edit)
[jira] [Commented] (TAP5-2588) Does not work with Java 9
[ https://issues.apache.org/jira/browse/TAP5-2588?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16194657#comment-16194657 ] ASF subversion and git services commented on TAP5-2588: --- Commit 74324b3130c9f74c1684a08171b7a2ca56532fe1 in tapestry-5's branch refs/heads/master from [~jkemnade] [ https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;h=74324b3 ] TAP5-2588: upgrade ASM to 6.0 > Does not work with Java 9 > - > > Key: TAP5-2588 > URL: https://issues.apache.org/jira/browse/TAP5-2588 > Project: Tapestry 5 > Issue Type: Bug > Components: plastic >Affects Versions: 5.4.3 >Reporter: Jochen Kemnade >Priority: Critical > > You cannot use Tapestry with Java 9 because of an outdated ASM version in > plastic (5.0.4). AFAICT, we'll need to upgrade to 6.0. My attempt do do so > results in a {{ClassCastException}} in > {{org.apache.tapestry5.plastic.ArrayAttributeAnnotations.explicit values for > array attributes}}. > {noformat} > java.lang.ClassCastException: [I cannot be cast to > java.base/[Ljava.lang.Object; > at > org.apache.tapestry5.internal.plastic.AbstractAnnotationBuilder$2.visitEnd(AbstractAnnotationBuilder.java:134) > at > org.apache.tapestry5.internal.plastic.asm.tree.AnnotationNode.accept(AnnotationNode.java:284) > at > org.apache.tapestry5.internal.plastic.asm.tree.AnnotationNode.accept(AnnotationNode.java:251) > at > org.apache.tapestry5.internal.plastic.PlasticClassPool.createAnnotation(PlasticClassPool.java:307) > at > org.apache.tapestry5.internal.plastic.PlasticClassPool$4.buildAnnotation(PlasticClassPool.java:286) > at > org.apache.tapestry5.internal.plastic.PlasticClassPool$4.getAnnotation(PlasticClassPool.java:270) > at > org.apache.tapestry5.internal.plastic.DelegatingAnnotationAccess.getAnnotation(DelegatingAnnotationAccess.java:42) > at > org.apache.tapestry5.internal.plastic.PlasticClassImpl.getAnnotation(PlasticClassImpl.java:342) > at org.apache.tapestry5.plastic.ArrayAttributeAnnotations.explicit > values for array attributes(ArrayAttributeAnnotations.groovy:27) > {noformat} > The {{AbstractAnnotationBuilder}} subclass tries to cast an {{int[]}} to an > {{Object[]}}. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[9/9] tapestry-5 git commit: TAP-2588: also test with JDK 9
TAP-2588: also test with JDK 9 Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/52e2b7b3 Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/52e2b7b3 Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/52e2b7b3 Branch: refs/heads/master Commit: 52e2b7b38b3d502c4eb71db62c2b08797f53de36 Parents: 74324b3 Author: Jochen KemnadeAuthored: Fri Oct 6 16:17:08 2017 +0200 Committer: Jochen Kemnade Committed: Fri Oct 6 16:17:08 2017 +0200 -- .travis.yml | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/52e2b7b3/.travis.yml -- diff --git a/.travis.yml b/.travis.yml index d3708bb..c9a9a10 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,7 @@ language: java jdk: + - oraclejdk9 - oraclejdk8 before_install:
[6/9] tapestry-5 git commit: TAP5-2588: upgrade ASM to 6.0
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/74324b31/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/ModuleWriter.java -- diff --git a/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/ModuleWriter.java b/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/ModuleWriter.java new file mode 100644 index 000..5ab0b3c --- /dev/null +++ b/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/ModuleWriter.java @@ -0,0 +1,293 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2011 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + *notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + *notice, this list of conditions and the following disclaimer in the + *documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + *contributors may be used to endorse or promote products derived from + *this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.apache.tapestry5.internal.plastic.asm; + +/** + * @author Remi Forax + */ +final class ModuleWriter extends ModuleVisitor { +/** + * The class writer to which this Module attribute must be added. + */ +private final ClassWriter cw; + +/** + * size in byte of the Module attribute. + */ +int size; + +/** + * Number of attributes associated with the current module + * (Version, ConcealPackages, etc) + */ +int attributeCount; + +/** + * Size in bytes of the attributes associated with the current module + */ +int attributesSize; + +/** + * module name index in the constant pool + */ +private final int name; + +/** + * module access flags + */ +private final int access; + +/** + * module version index in the constant pool or 0 + */ +private final int version; + +/** + * module main class index in the constant pool or 0 + */ +private int mainClass; + +/** + * number of packages + */ +private int packageCount; + +/** + * The packages in bytecode form. This byte vector only contains + * the items themselves, the number of items is store in packageCount + */ +private ByteVector packages; + +/** + * number of requires items + */ +private int requireCount; + +/** + * The requires items in bytecode form. This byte vector only contains + * the items themselves, the number of items is store in requireCount + */ +private ByteVector requires; + +/** + * number of exports items + */ +private int exportCount; + +/** + * The exports items in bytecode form. This byte vector only contains + * the items themselves, the number of items is store in exportCount + */ +private ByteVector exports; + +/** + * number of opens items + */ +private int openCount; + +/** + * The opens items in bytecode form. This byte vector only contains + * the items themselves, the number of items is store in openCount + */ +private ByteVector opens; + +/** + * number of uses items + */ +private int useCount; + +/** + * The uses items in bytecode form. This byte vector only contains + * the items themselves, the number of items is store in useCount + */ +private ByteVector uses; + +/** + * number of provides items + */ +private int provideCount; + +/** + * The uses provides in bytecode form. This byte vector only contains + * the items themselves, the number of items is store in provideCount + */ +
[2/9] tapestry-5 git commit: TAP5-2588: upgrade ASM to 6.0
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/74324b31/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/util/Printer.java -- diff --git a/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/util/Printer.java b/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/util/Printer.java index a849298..2dd644a 100644 --- a/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/util/Printer.java +++ b/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/util/Printer.java @@ -53,14 +53,14 @@ public abstract class Printer { /** * The names of the for operand parameter values of the - * {@link org.apache.tapestry5.internal.plastic.asm.MethodVisitor#visitIntInsn} method when + * {@link org.objectweb.asm.MethodVisitor#visitIntInsn} method when * opcode is NEWARRAY. */ public static final String[] TYPES; /** * The names of the tag field values for - * {@link org.apache.tapestry5.internal.plastic.asm.Handle}. + * {@link org.objectweb.asm.Handle}. */ public static final String[] HANDLE_TAG; @@ -117,7 +117,7 @@ public abstract class Printer { /** * The ASM API version implemented by this class. The value of this field - * must be one of {@link Opcodes#ASM4} or {@link Opcodes#ASM5}. + * must be one of {@link Opcodes#ASM4}, {@link Opcodes#ASM5} or {@link Opcodes#ASM6}. */ protected final int api; @@ -142,6 +142,10 @@ public abstract class Printer { /** * Constructs a new {@link Printer}. + * + * @param api + *the ASM API version implemented by this printer. Must be one + *of {@link Opcodes#ASM4}, {@link Opcodes#ASM5} or {@link Opcodes#ASM6}. */ protected Printer(final int api) { this.api = api; @@ -150,34 +154,121 @@ public abstract class Printer { } /** - * Class header. See {@link org.apache.tapestry5.internal.plastic.asm.ClassVisitor#visit}. + * Class header. + * See {@link org.objectweb.asm.ClassVisitor#visit}. + * + * @param version + *the class version. + * @param access + *the class's access flags (see {@link Opcodes}). This parameter + *also indicates if the class is deprecated. + * @param name + *the internal name of the class (see + *{@link org.objectweb.asm.Type#getInternalName() getInternalName}). + * @param signature + *the signature of this class. May be null if the class + *is not a generic one, and does not extend or implement generic + *classes or interfaces. + * @param superName + *the internal of name of the super class (see + *{@link org.objectweb.asm.Type#getInternalName() getInternalName}). + *For interfaces, the super class is {@link Object}. May be + *null, but only for the {@link Object} class. + * @param interfaces + *the internal names of the class's interfaces (see + *{@link org.objectweb.asm.Type#getInternalName() getInternalName}). + *May be null. */ public abstract void visit(final int version, final int access, final String name, final String signature, final String superName, final String[] interfaces); /** - * Class source. See {@link org.apache.tapestry5.internal.plastic.asm.ClassVisitor#visitSource}. + * Class source. + * See {@link org.objectweb.asm.ClassVisitor#visitSource}. + * + * @param source + *the name of the source file from which the class was compiled. + *May be null. + * @param debug + *additional debug information to compute the correspondance + *between source and compiled elements of the class. May be + *null. */ -public abstract void visitSource(final String file, final String debug); +public abstract void visitSource(final String source, final String debug); + /** - * Class outer class. See - * {@link org.apache.tapestry5.internal.plastic.asm.ClassVisitor#visitOuterClass}. + * Module. + * See {@link org.objectweb.asm.ClassVisitor#visitModule(String, int)}. + * + * @param name + *module name. + * @param access + *module flags, among {@code ACC_OPEN}, {@code ACC_SYNTHETIC} + *and {@code ACC_MANDATED}. + * @param version + *module version or null. + * @return + */ +public Printer visitModule(String name, int access, String version) { +throw new RuntimeException("Must be overriden"); +} + +/** + * Class outer class. + * See {@link
[4/9] tapestry-5 git commit: TAP5-2588: upgrade ASM to 6.0
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/74324b31/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/optimizer/NameMapping.java -- diff --git a/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/optimizer/NameMapping.java b/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/optimizer/NameMapping.java deleted file mode 100644 index 70d74f7..000 --- a/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/optimizer/NameMapping.java +++ /dev/null @@ -1,114 +0,0 @@ -/*** - * ASM: a very small and fast Java bytecode manipulation framework - * Copyright (c) 2000-2011 INRIA, France Telecom - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - *notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - *notice, this list of conditions and the following disclaimer in the - *documentation and/or other materials provided with the distribution. - * 3. Neither the name of the copyright holders nor the names of its - *contributors may be used to endorse or promote products derived from - *this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ -package org.apache.tapestry5.internal.plastic.asm.optimizer; - -import java.io.BufferedInputStream; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.HashSet; -import java.util.Properties; -import java.util.Set; - -import org.apache.tapestry5.internal.plastic.asm.Type; - -/** - * A MAPPING from names to names, used to rename classes, fields and methods. - * - * @author Eric Bruneton - */ -public class NameMapping { - -public final Properties mapping; - -public final Set unused; - -public NameMapping(final String file) throws IOException { -mapping = new Properties(); -InputStream is = null; -try { -is = new BufferedInputStream(new FileInputStream(file)); -mapping.load(is); -unused = new HashSet(mapping.keySet()); -} finally { -if (is != null) { -is.close(); -} -} -} - -public String map(final String name) { -String s = (String) mapping.get(name); -if (s == null) { -int p = name.indexOf('.'); -if (p == -1) { -s = name; -} else { -int q = name.indexOf('('); -if (q == -1) { -s = name.substring(p + 1); -} else { -s = name.substring(p + 1, q); -} -} -} else { -unused.remove(name); -} -return s; -} - -public String fix(final String desc) { -if (desc.startsWith("(")) { -Type[] arguments = Type.getArgumentTypes(desc); -Type result = Type.getReturnType(desc); -for (int i = 0; i < arguments.length; ++i) { -arguments[i] = fix(arguments[i]); -} -result = fix(result); -return Type.getMethodDescriptor(result, arguments); -} else { -return fix(Type.getType(desc)).getDescriptor(); -} -} - -private Type fix(final Type t) { -if (t.getSort() == Type.OBJECT) { -return Type.getObjectType(map(t.getInternalName())); -} else if (t.getSort() == Type.ARRAY) { -String s = fix(t.getElementType()).getDescriptor(); -for (int i = 0; i < t.getDimensions(); ++i) { -s = '[' + s; -} -return Type.getType(s); -} else { -return t; -} -} -} http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/74324b31/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/optimizer/Shrinker.java
[3/9] tapestry-5 git commit: TAP5-2588: upgrade ASM to 6.0
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/74324b31/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/tree/LocalVariableAnnotationNode.java -- diff --git a/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/tree/LocalVariableAnnotationNode.java b/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/tree/LocalVariableAnnotationNode.java index 27f6e09..8da8627 100644 --- a/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/tree/LocalVariableAnnotationNode.java +++ b/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/tree/LocalVariableAnnotationNode.java @@ -93,7 +93,7 @@ public class LocalVariableAnnotationNode extends TypeAnnotationNode { */ public LocalVariableAnnotationNode(int typeRef, TypePath typePath, LabelNode[] start, LabelNode[] end, int[] index, String desc) { -this(Opcodes.ASM5, typeRef, typePath, start, end, index, desc); +this(Opcodes.ASM6, typeRef, typePath, start, end, index, desc); } /** @@ -101,7 +101,7 @@ public class LocalVariableAnnotationNode extends TypeAnnotationNode { * * @param api *the ASM API version implemented by this visitor. Must be one - *of {@link Opcodes#ASM4} or {@link Opcodes#ASM5}. + *of {@link Opcodes#ASM4}, {@link Opcodes#ASM5} or {@link Opcodes#ASM6}. * @param typeRef *a reference to the annotated type. See {@link TypeReference}. * @param start @@ -152,6 +152,6 @@ public class LocalVariableAnnotationNode extends TypeAnnotationNode { index[i] = this.index.get(i); } accept(mv.visitLocalVariableAnnotation(typeRef, typePath, start, end, -index, desc, true)); +index, desc, visible)); } } http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/74324b31/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/tree/MethodInsnNode.java -- diff --git a/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/tree/MethodInsnNode.java b/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/tree/MethodInsnNode.java index bc90ddd..8d86df7 100644 --- a/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/tree/MethodInsnNode.java +++ b/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/tree/MethodInsnNode.java @@ -44,7 +44,7 @@ public class MethodInsnNode extends AbstractInsnNode { /** * The internal name of the method's owner class (see - * {@link org.apache.tapestry5.internal.plastic.asm.Type#getInternalName() getInternalName}). + * {@link org.objectweb.asm.Type#getInternalName() getInternalName}). */ public String owner; @@ -54,7 +54,7 @@ public class MethodInsnNode extends AbstractInsnNode { public String name; /** - * The method's descriptor (see {@link org.apache.tapestry5.internal.plastic.asm.Type}). + * The method's descriptor (see {@link org.objectweb.asm.Type}). */ public String desc; @@ -72,12 +72,12 @@ public class MethodInsnNode extends AbstractInsnNode { *INVOKEINTERFACE. * @param owner *the internal name of the method's owner class (see - *{@link org.apache.tapestry5.internal.plastic.asm.Type#getInternalName() + *{@link org.objectweb.asm.Type#getInternalName() *getInternalName}). * @param name *the method's name. * @param desc - *the method's descriptor (see {@link org.apache.tapestry5.internal.plastic.asm.Type}). + *the method's descriptor (see {@link org.objectweb.asm.Type}). */ @Deprecated public MethodInsnNode(final int opcode, final String owner, @@ -94,12 +94,12 @@ public class MethodInsnNode extends AbstractInsnNode { *INVOKEINTERFACE. * @param owner *the internal name of the method's owner class (see - *{@link org.apache.tapestry5.internal.plastic.asm.Type#getInternalName() + *{@link org.objectweb.asm.Type#getInternalName() *getInternalName}). * @param name *the method's name. * @param desc - *the method's descriptor (see {@link org.apache.tapestry5.internal.plastic.asm.Type}). + *the method's descriptor (see {@link org.objectweb.asm.Type}). * @param itf *if the method's owner class is an interface. */ http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/74324b31/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/tree/MethodNode.java --
[7/9] tapestry-5 git commit: TAP5-2588: upgrade ASM to 6.0
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/74324b31/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/FieldWriter.java -- diff --git a/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/FieldWriter.java b/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/FieldWriter.java index 4a5f406..f7bbe98 100644 --- a/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/FieldWriter.java +++ b/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/FieldWriter.java @@ -118,7 +118,7 @@ final class FieldWriter extends FieldVisitor { */ FieldWriter(final ClassWriter cw, final int access, final String name, final String desc, final String signature, final Object value) { -super(Opcodes.ASM5); +super(Opcodes.ASM6); if (cw.firstField == null) { cw.firstField = this; } else { @@ -129,7 +129,7 @@ final class FieldWriter extends FieldVisitor { this.access = access; this.name = cw.newUTF8(name); this.desc = cw.newUTF8(desc); -if (ClassReader.SIGNATURES && signature != null) { +if (signature != null) { this.signature = cw.newUTF8(signature); } if (value != null) { @@ -144,9 +144,6 @@ final class FieldWriter extends FieldVisitor { @Override public AnnotationVisitor visitAnnotation(final String desc, final boolean visible) { -if (!ClassReader.ANNOTATIONS) { -return null; -} ByteVector bv = new ByteVector(); // write type, and reserve space for values count bv.putShort(cw.newUTF8(desc)).putShort(0); @@ -164,9 +161,6 @@ final class FieldWriter extends FieldVisitor { @Override public AnnotationVisitor visitTypeAnnotation(final int typeRef, final TypePath typePath, final String desc, final boolean visible) { -if (!ClassReader.ANNOTATIONS) { -return null; -} ByteVector bv = new ByteVector(); // write target_type and target_info AnnotationWriter.putTarget(typeRef, typePath, bv); @@ -220,23 +214,23 @@ final class FieldWriter extends FieldVisitor { cw.newUTF8("Deprecated"); size += 6; } -if (ClassReader.SIGNATURES && signature != 0) { +if (signature != 0) { cw.newUTF8("Signature"); size += 8; } -if (ClassReader.ANNOTATIONS && anns != null) { +if (anns != null) { cw.newUTF8("RuntimeVisibleAnnotations"); size += 8 + anns.getSize(); } -if (ClassReader.ANNOTATIONS && ianns != null) { +if (ianns != null) { cw.newUTF8("RuntimeInvisibleAnnotations"); size += 8 + ianns.getSize(); } -if (ClassReader.ANNOTATIONS && tanns != null) { +if (tanns != null) { cw.newUTF8("RuntimeVisibleTypeAnnotations"); size += 8 + tanns.getSize(); } -if (ClassReader.ANNOTATIONS && itanns != null) { +if (itanns != null) { cw.newUTF8("RuntimeInvisibleTypeAnnotations"); size += 8 + itanns.getSize(); } @@ -270,19 +264,19 @@ final class FieldWriter extends FieldVisitor { if ((access & Opcodes.ACC_DEPRECATED) != 0) { ++attributeCount; } -if (ClassReader.SIGNATURES && signature != 0) { +if (signature != 0) { ++attributeCount; } -if (ClassReader.ANNOTATIONS && anns != null) { +if (anns != null) { ++attributeCount; } -if (ClassReader.ANNOTATIONS && ianns != null) { +if (ianns != null) { ++attributeCount; } -if (ClassReader.ANNOTATIONS && tanns != null) { +if (tanns != null) { ++attributeCount; } -if (ClassReader.ANNOTATIONS && itanns != null) { +if (itanns != null) { ++attributeCount; } if (attrs != null) { @@ -302,23 +296,23 @@ final class FieldWriter extends FieldVisitor { if ((access & Opcodes.ACC_DEPRECATED) != 0) { out.putShort(cw.newUTF8("Deprecated")).putInt(0); } -if (ClassReader.SIGNATURES && signature != 0) { +if (signature != 0) { out.putShort(cw.newUTF8("Signature")); out.putInt(2).putShort(signature); } -if (ClassReader.ANNOTATIONS && anns != null) { +if (anns != null) { out.putShort(cw.newUTF8("RuntimeVisibleAnnotations")); anns.put(out); } -if (ClassReader.ANNOTATIONS && ianns != null) { +if (ianns != null) { out.putShort(cw.newUTF8("RuntimeInvisibleAnnotations")); ianns.put(out); } -if
[8/9] tapestry-5 git commit: TAP5-2588: upgrade ASM to 6.0
TAP5-2588: upgrade ASM to 6.0 Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/74324b31 Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/74324b31 Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/74324b31 Branch: refs/heads/master Commit: 74324b3130c9f74c1684a08171b7a2ca56532fe1 Parents: 95a548e Author: Jochen KemnadeAuthored: Fri Oct 6 15:20:03 2017 +0200 Committer: Jochen Kemnade Committed: Fri Oct 6 15:59:01 2017 +0200 -- .../internal/plastic/asm/AnnotationVisitor.java | 10 +- .../internal/plastic/asm/AnnotationWriter.java | 2 +- .../internal/plastic/asm/ClassReader.java | 480 --- .../internal/plastic/asm/ClassVisitor.java | 32 +- .../internal/plastic/asm/ClassWriter.java | 295 --- .../internal/plastic/asm/CurrentFrame.java | 56 ++ .../internal/plastic/asm/FieldVisitor.java | 8 +- .../internal/plastic/asm/FieldWriter.java | 40 +- .../tapestry5/internal/plastic/asm/Frame.java | 118 ++- .../tapestry5/internal/plastic/asm/Handle.java | 62 +- .../tapestry5/internal/plastic/asm/Item.java| 5 + .../tapestry5/internal/plastic/asm/Label.java | 15 +- .../internal/plastic/asm/MethodVisitor.java | 8 +- .../internal/plastic/asm/MethodWriter.java | 830 -- .../internal/plastic/asm/ModuleVisitor.java | 190 + .../internal/plastic/asm/ModuleWriter.java | 293 +++ .../tapestry5/internal/plastic/asm/Opcodes.java | 29 +- .../tapestry5/internal/plastic/asm/Type.java| 25 +- .../plastic/asm/commons/AdviceAdapter.java | 16 +- .../plastic/asm/commons/AnalyzerAdapter.java| 8 +- .../plastic/asm/commons/AnnotationRemapper.java | 79 ++ .../plastic/asm/commons/ClassRemapper.java | 158 .../plastic/asm/commons/CodeSizeEvaluator.java | 2 +- .../plastic/asm/commons/FieldRemapper.java | 71 ++ .../plastic/asm/commons/GeneratorAdapter.java | 6 +- .../plastic/asm/commons/InstructionAdapter.java | 4 +- .../plastic/asm/commons/JSRInlinerAdapter.java | 6 +- .../asm/commons/LocalVariablesSorter.java | 20 +- .../plastic/asm/commons/MethodRemapper.java | 225 + .../asm/commons/ModuleHashesAttribute.java | 126 +++ .../plastic/asm/commons/ModuleRemapper.java | 106 +++ .../asm/commons/ModuleResolutionAttribute.java | 106 +++ .../asm/commons/ModuleTargetAttribute.java | 81 ++ .../internal/plastic/asm/commons/Remapper.java | 45 +- .../asm/commons/RemappingAnnotationAdapter.java | 4 +- .../asm/commons/RemappingClassAdapter.java | 10 +- .../asm/commons/RemappingFieldAdapter.java | 4 +- .../asm/commons/RemappingMethodAdapter.java | 28 +- .../asm/commons/RemappingSignatureAdapter.java | 4 +- .../asm/commons/SerialVersionUIDAdder.java | 11 +- .../plastic/asm/commons/SignatureRemapper.java | 159 .../plastic/asm/commons/StaticInitMerger.java | 2 +- .../asm/commons/TryCatchBlockSorter.java| 2 +- .../optimizer/AnnotationConstantsCollector.java | 147 .../asm/optimizer/ClassConstantsCollector.java | 198 - .../plastic/asm/optimizer/ClassOptimizer.java | 260 -- .../plastic/asm/optimizer/Constant.java | 323 --- .../plastic/asm/optimizer/ConstantPool.java | 251 -- .../asm/optimizer/FieldConstantsCollector.java | 89 -- .../plastic/asm/optimizer/JarOptimizer.java | 235 - .../asm/optimizer/MethodConstantsCollector.java | 224 - .../plastic/asm/optimizer/MethodOptimizer.java | 178 .../plastic/asm/optimizer/NameMapping.java | 114 --- .../plastic/asm/optimizer/Shrinker.java | 282 -- .../plastic/asm/optimizer/jdk1.2.2_017.txt.gz | Bin 113814 -> 0 bytes .../plastic/asm/optimizer/jdk1.3.1_19.txt.gz| Bin 128067 -> 0 bytes .../asm/optimizer/shrink-annotations.properties | 53 -- .../asm/optimizer/shrink-frames.properties | 62 -- .../asm/optimizer/shrink-resize.properties | 37 - .../asm/optimizer/shrink-signatures.properties | 43 - .../asm/optimizer/shrink-writer.properties | 66 -- .../plastic/asm/optimizer/shrink.properties | 381 - .../plastic/asm/signature/SignatureReader.java | 8 +- .../plastic/asm/signature/SignatureVisitor.java | 6 +- .../plastic/asm/signature/SignatureWriter.java | 6 +- .../plastic/asm/tree/AbstractInsnNode.java | 4 +- .../plastic/asm/tree/AnnotationNode.java| 82 +- .../internal/plastic/asm/tree/ClassNode.java| 92 +- .../plastic/asm/tree/FieldInsnNode.java | 8 +- .../internal/plastic/asm/tree/FieldNode.java| 28 +- .../plastic/asm/tree/InnerClassNode.java| 8 +- .../internal/plastic/asm/tree/InsnList.java | 23 +- .../plastic/asm/tree/InvokeDynamicInsnNode.java | 2 +-
[5/9] tapestry-5 git commit: TAP5-2588: upgrade ASM to 6.0
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/74324b31/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/commons/SerialVersionUIDAdder.java -- diff --git a/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/commons/SerialVersionUIDAdder.java b/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/commons/SerialVersionUIDAdder.java index b8030df..1f9b7cb 100644 --- a/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/commons/SerialVersionUIDAdder.java +++ b/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/commons/SerialVersionUIDAdder.java @@ -170,7 +170,7 @@ public class SerialVersionUIDAdder extends ClassVisitor { * If a subclass calls this constructor. */ public SerialVersionUIDAdder(final ClassVisitor cv) { -this(Opcodes.ASM5, cv); +this(Opcodes.ASM6, cv); if (getClass() != SerialVersionUIDAdder.class) { throw new IllegalStateException(); } @@ -181,7 +181,7 @@ public class SerialVersionUIDAdder extends ClassVisitor { * * @param api *the ASM API version implemented by this visitor. Must be one - *of {@link Opcodes#ASM4} or {@link Opcodes#ASM5}. + *of {@link Opcodes#ASM4}, {@link Opcodes#ASM5} or {@link Opcodes#ASM6}. * @param cv *a {@link ClassVisitor} to which this visitor will delegate *calls. @@ -205,7 +205,7 @@ public class SerialVersionUIDAdder extends ClassVisitor { public void visit(final int version, final int access, final String name, final String signature, final String superName, final String[] interfaces) { -computeSVUID = (access & Opcodes.ACC_INTERFACE) == 0; +computeSVUID = (access & Opcodes.ACC_ENUM) == 0; if (computeSVUID) { this.name = name; @@ -367,6 +367,11 @@ public class SerialVersionUIDAdder extends ClassVisitor { /* * 2. The class modifiers written as a 32-bit integer. */ +int access = this.access; +if ((access & Opcodes.ACC_INTERFACE) != 0) { +access = (svuidMethods.size() > 0) ? (access | Opcodes.ACC_ABSTRACT) +: (access & ~Opcodes.ACC_ABSTRACT); +} dos.writeInt(access & (Opcodes.ACC_PUBLIC | Opcodes.ACC_FINAL | Opcodes.ACC_INTERFACE | Opcodes.ACC_ABSTRACT)); http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/74324b31/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/commons/SignatureRemapper.java -- diff --git a/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/commons/SignatureRemapper.java b/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/commons/SignatureRemapper.java new file mode 100644 index 000..b16e028 --- /dev/null +++ b/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/commons/SignatureRemapper.java @@ -0,0 +1,159 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2011 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + *notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + *notice, this list of conditions and the following disclaimer in the + *documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + *contributors may be used to endorse or promote products derived from + *this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ + +package
[1/9] tapestry-5 git commit: TAP5-2588: upgrade ASM to 6.0
Repository: tapestry-5 Updated Branches: refs/heads/master 95a548ec4 -> 52e2b7b38 http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/74324b31/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/xml/SAXAnnotationAdapter.java -- diff --git a/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/xml/SAXAnnotationAdapter.java b/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/xml/SAXAnnotationAdapter.java index 76e5b8e..76ad91e 100644 --- a/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/xml/SAXAnnotationAdapter.java +++ b/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/xml/SAXAnnotationAdapter.java @@ -48,20 +48,20 @@ public final class SAXAnnotationAdapter extends AnnotationVisitor { public SAXAnnotationAdapter(final SAXAdapter sa, final String elementName, final int visible, final String name, final String desc) { -this(Opcodes.ASM5, sa, elementName, visible, desc, name, -1, -1, null, +this(Opcodes.ASM6, sa, elementName, visible, desc, name, -1, -1, null, null, null, null); } public SAXAnnotationAdapter(final SAXAdapter sa, final String elementName, final int visible, final int parameter, final String desc) { -this(Opcodes.ASM5, sa, elementName, visible, desc, null, parameter, -1, +this(Opcodes.ASM6, sa, elementName, visible, desc, null, parameter, -1, null, null, null, null); } public SAXAnnotationAdapter(final SAXAdapter sa, final String elementName, final int visible, final String name, final String desc, final int typeRef, final TypePath typePath) { -this(Opcodes.ASM5, sa, elementName, visible, desc, name, -1, typeRef, +this(Opcodes.ASM6, sa, elementName, visible, desc, name, -1, typeRef, typePath, null, null, null); } @@ -69,7 +69,7 @@ public final class SAXAnnotationAdapter extends AnnotationVisitor { final int visible, final String name, final String desc, int typeRef, TypePath typePath, final String[] start, final String[] end, final int[] index) { -this(Opcodes.ASM5, sa, elementName, visible, desc, name, -1, typeRef, +this(Opcodes.ASM6, sa, elementName, visible, desc, name, -1, typeRef, typePath, start, end, index); } @@ -113,24 +113,24 @@ public final class SAXAnnotationAdapter extends AnnotationVisitor { typePath.toString()); } if (start != null) { -StringBuffer value = new StringBuffer(start[0]); +StringBuilder value = new StringBuilder(start[0]); for (int i = 1; i < start.length; ++i) { -value.append(' ').append(start[i]); +value.append(" ").append(start[i]); } att.addAttribute("", "start", "start", "", value.toString()); } if (end != null) { -StringBuffer value = new StringBuffer(end[0]); +StringBuilder value = new StringBuilder(end[0]); for (int i = 1; i < end.length; ++i) { -value.append(' ').append(end[i]); +value.append(" ").append(end[i]); } att.addAttribute("", "end", "end", "", value.toString()); } if (index != null) { -StringBuffer value = new StringBuffer(); +StringBuilder value = new StringBuilder(); value.append(index[0]); for (int i = 1; i < index.length; ++i) { -value.append(' ').append(index[i]); +value.append(" ").append(index[i]); } att.addAttribute("", "index", "index", "", value.toString()); } http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/74324b31/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/xml/SAXClassAdapter.java -- diff --git a/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/xml/SAXClassAdapter.java b/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/xml/SAXClassAdapter.java index dc4cb66..8e41508 100644 --- a/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/xml/SAXClassAdapter.java +++ b/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/xml/SAXClassAdapter.java @@ -33,19 +33,20 @@ import org.apache.tapestry5.internal.plastic.asm.AnnotationVisitor; import org.apache.tapestry5.internal.plastic.asm.ClassVisitor; import org.apache.tapestry5.internal.plastic.asm.FieldVisitor; import org.apache.tapestry5.internal.plastic.asm.MethodVisitor; +import org.apache.tapestry5.internal.plastic.asm.ModuleVisitor; import org.apache.tapestry5.internal.plastic.asm.Opcodes; import
[jira] [Commented] (TAP5-2588) Does not work with Java 9
[ https://issues.apache.org/jira/browse/TAP5-2588?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16194592#comment-16194592 ] Jochen Kemnade commented on TAP5-2588: -- Probably related to https://gitlab.ow2.org/asm/asm/commit/d214e658675e8c0da8cf72aa0f3788d0442b8b99 > Does not work with Java 9 > - > > Key: TAP5-2588 > URL: https://issues.apache.org/jira/browse/TAP5-2588 > Project: Tapestry 5 > Issue Type: Bug > Components: plastic >Affects Versions: 5.4.3 >Reporter: Jochen Kemnade >Priority: Critical > > You cannot use Tapestry with Java 9 because of an outdated ASM version in > plastic (5.0.4). AFAICT, we'll need to upgrade to 6.0. My attempt do do so > results in a {{ClassCastException}} in > {{org.apache.tapestry5.plastic.ArrayAttributeAnnotations.explicit values for > array attributes}}. > {noformat} > java.lang.ClassCastException: [I cannot be cast to > java.base/[Ljava.lang.Object; > at > org.apache.tapestry5.internal.plastic.AbstractAnnotationBuilder$2.visitEnd(AbstractAnnotationBuilder.java:134) > at > org.apache.tapestry5.internal.plastic.asm.tree.AnnotationNode.accept(AnnotationNode.java:284) > at > org.apache.tapestry5.internal.plastic.asm.tree.AnnotationNode.accept(AnnotationNode.java:251) > at > org.apache.tapestry5.internal.plastic.PlasticClassPool.createAnnotation(PlasticClassPool.java:307) > at > org.apache.tapestry5.internal.plastic.PlasticClassPool$4.buildAnnotation(PlasticClassPool.java:286) > at > org.apache.tapestry5.internal.plastic.PlasticClassPool$4.getAnnotation(PlasticClassPool.java:270) > at > org.apache.tapestry5.internal.plastic.DelegatingAnnotationAccess.getAnnotation(DelegatingAnnotationAccess.java:42) > at > org.apache.tapestry5.internal.plastic.PlasticClassImpl.getAnnotation(PlasticClassImpl.java:342) > at org.apache.tapestry5.plastic.ArrayAttributeAnnotations.explicit > values for array attributes(ArrayAttributeAnnotations.groovy:27) > {noformat} > The {{AbstractAnnotationBuilder}} subclass tries to cast an {{int[]}} to an > {{Object[]}}. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (TAP5-2588) Does not work with Java 9
Jochen Kemnade created TAP5-2588: Summary: Does not work with Java 9 Key: TAP5-2588 URL: https://issues.apache.org/jira/browse/TAP5-2588 Project: Tapestry 5 Issue Type: Bug Components: plastic Affects Versions: 5.4.3 Reporter: Jochen Kemnade Priority: Critical You cannot use Tapestry with Java 9 because of an outdated ASM version in plastic (5.0.4). AFAICT, we'll need to upgrade to 6.0. My attempt do do so results in a {{ClassCastException}} in {{org.apache.tapestry5.plastic.ArrayAttributeAnnotations.explicit values for array attributes}}. {noformat} java.lang.ClassCastException: [I cannot be cast to java.base/[Ljava.lang.Object; at org.apache.tapestry5.internal.plastic.AbstractAnnotationBuilder$2.visitEnd(AbstractAnnotationBuilder.java:134) at org.apache.tapestry5.internal.plastic.asm.tree.AnnotationNode.accept(AnnotationNode.java:284) at org.apache.tapestry5.internal.plastic.asm.tree.AnnotationNode.accept(AnnotationNode.java:251) at org.apache.tapestry5.internal.plastic.PlasticClassPool.createAnnotation(PlasticClassPool.java:307) at org.apache.tapestry5.internal.plastic.PlasticClassPool$4.buildAnnotation(PlasticClassPool.java:286) at org.apache.tapestry5.internal.plastic.PlasticClassPool$4.getAnnotation(PlasticClassPool.java:270) at org.apache.tapestry5.internal.plastic.DelegatingAnnotationAccess.getAnnotation(DelegatingAnnotationAccess.java:42) at org.apache.tapestry5.internal.plastic.PlasticClassImpl.getAnnotation(PlasticClassImpl.java:342) at org.apache.tapestry5.plastic.ArrayAttributeAnnotations.explicit values for array attributes(ArrayAttributeAnnotations.groovy:27) {noformat} The {{AbstractAnnotationBuilder}} tries to cast an {{int[]}} to an {{Object[]}}. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (TAP5-2588) Does not work with Java 9
[ https://issues.apache.org/jira/browse/TAP5-2588?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jochen Kemnade updated TAP5-2588: - Description: You cannot use Tapestry with Java 9 because of an outdated ASM version in plastic (5.0.4). AFAICT, we'll need to upgrade to 6.0. My attempt do do so results in a {{ClassCastException}} in {{org.apache.tapestry5.plastic.ArrayAttributeAnnotations.explicit values for array attributes}}. {noformat} java.lang.ClassCastException: [I cannot be cast to java.base/[Ljava.lang.Object; at org.apache.tapestry5.internal.plastic.AbstractAnnotationBuilder$2.visitEnd(AbstractAnnotationBuilder.java:134) at org.apache.tapestry5.internal.plastic.asm.tree.AnnotationNode.accept(AnnotationNode.java:284) at org.apache.tapestry5.internal.plastic.asm.tree.AnnotationNode.accept(AnnotationNode.java:251) at org.apache.tapestry5.internal.plastic.PlasticClassPool.createAnnotation(PlasticClassPool.java:307) at org.apache.tapestry5.internal.plastic.PlasticClassPool$4.buildAnnotation(PlasticClassPool.java:286) at org.apache.tapestry5.internal.plastic.PlasticClassPool$4.getAnnotation(PlasticClassPool.java:270) at org.apache.tapestry5.internal.plastic.DelegatingAnnotationAccess.getAnnotation(DelegatingAnnotationAccess.java:42) at org.apache.tapestry5.internal.plastic.PlasticClassImpl.getAnnotation(PlasticClassImpl.java:342) at org.apache.tapestry5.plastic.ArrayAttributeAnnotations.explicit values for array attributes(ArrayAttributeAnnotations.groovy:27) {noformat} The {{AbstractAnnotationBuilder}} subclass tries to cast an {{int[]}} to an {{Object[]}}. was: You cannot use Tapestry with Java 9 because of an outdated ASM version in plastic (5.0.4). AFAICT, we'll need to upgrade to 6.0. My attempt do do so results in a {{ClassCastException}} in {{org.apache.tapestry5.plastic.ArrayAttributeAnnotations.explicit values for array attributes}}. {noformat} java.lang.ClassCastException: [I cannot be cast to java.base/[Ljava.lang.Object; at org.apache.tapestry5.internal.plastic.AbstractAnnotationBuilder$2.visitEnd(AbstractAnnotationBuilder.java:134) at org.apache.tapestry5.internal.plastic.asm.tree.AnnotationNode.accept(AnnotationNode.java:284) at org.apache.tapestry5.internal.plastic.asm.tree.AnnotationNode.accept(AnnotationNode.java:251) at org.apache.tapestry5.internal.plastic.PlasticClassPool.createAnnotation(PlasticClassPool.java:307) at org.apache.tapestry5.internal.plastic.PlasticClassPool$4.buildAnnotation(PlasticClassPool.java:286) at org.apache.tapestry5.internal.plastic.PlasticClassPool$4.getAnnotation(PlasticClassPool.java:270) at org.apache.tapestry5.internal.plastic.DelegatingAnnotationAccess.getAnnotation(DelegatingAnnotationAccess.java:42) at org.apache.tapestry5.internal.plastic.PlasticClassImpl.getAnnotation(PlasticClassImpl.java:342) at org.apache.tapestry5.plastic.ArrayAttributeAnnotations.explicit values for array attributes(ArrayAttributeAnnotations.groovy:27) {noformat} The {{AbstractAnnotationBuilder}} tries to cast an {{int[]}} to an {{Object[]}}. > Does not work with Java 9 > - > > Key: TAP5-2588 > URL: https://issues.apache.org/jira/browse/TAP5-2588 > Project: Tapestry 5 > Issue Type: Bug > Components: plastic >Affects Versions: 5.4.3 >Reporter: Jochen Kemnade >Priority: Critical > > You cannot use Tapestry with Java 9 because of an outdated ASM version in > plastic (5.0.4). AFAICT, we'll need to upgrade to 6.0. My attempt do do so > results in a {{ClassCastException}} in > {{org.apache.tapestry5.plastic.ArrayAttributeAnnotations.explicit values for > array attributes}}. > {noformat} > java.lang.ClassCastException: [I cannot be cast to > java.base/[Ljava.lang.Object; > at > org.apache.tapestry5.internal.plastic.AbstractAnnotationBuilder$2.visitEnd(AbstractAnnotationBuilder.java:134) > at > org.apache.tapestry5.internal.plastic.asm.tree.AnnotationNode.accept(AnnotationNode.java:284) > at > org.apache.tapestry5.internal.plastic.asm.tree.AnnotationNode.accept(AnnotationNode.java:251) > at > org.apache.tapestry5.internal.plastic.PlasticClassPool.createAnnotation(PlasticClassPool.java:307) > at > org.apache.tapestry5.internal.plastic.PlasticClassPool$4.buildAnnotation(PlasticClassPool.java:286) > at > org.apache.tapestry5.internal.plastic.PlasticClassPool$4.getAnnotation(PlasticClassPool.java:270) > at > org.apache.tapestry5.internal.plastic.DelegatingAnnotationAccess.getAnnotation(DelegatingAnnotationAccess.java:42) > at > org.apache.tapestry5.internal.plastic.PlasticClassImpl.getAnnotation(PlasticClassImpl.java:342) > at