tapestry-5 git commit: upgrade Gradle wrapper

2017-10-06 Thread jkemnade
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 Kemnade 
Authored: 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

2017-10-06 Thread Hudson (JIRA)

[ 
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

2017-10-06 Thread ASF subversion and git services (JIRA)

[ 
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

2017-10-06 Thread jkemnade
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 Kemnade 
Authored: 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

2017-10-06 Thread jkemnade
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

2017-10-06 Thread jkemnade
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

2017-10-06 Thread jkemnade
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

2017-10-06 Thread jkemnade
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

2017-10-06 Thread jkemnade
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

2017-10-06 Thread jkemnade
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 Kemnade 
Authored: 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

2017-10-06 Thread jkemnade
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

2017-10-06 Thread jkemnade
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

2017-10-06 Thread Jochen Kemnade (JIRA)

[ 
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

2017-10-06 Thread Jochen Kemnade (JIRA)
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

2017-10-06 Thread Jochen Kemnade (JIRA)

 [ 
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