This is an automated email from the ASF dual-hosted git repository.
sdedic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/master by this push:
new 7eb2c43 [NETBEANS-3346] -Upgrade asm-all-5.0.1 version to asm-7.2
-Add constructor parameter to use ASMv7 API -Visit @ConstructorDelegate
parameters as array. (by sdedic) -Use only one license file for both jars
new ef55a1a Merge pull request #1620 from pepness/asm72v3
7eb2c43 is described below
commit 7eb2c431c259e1b5eb37cc6061e8d23c2329778a
Author: Jose Contreras <[email protected]>
AuthorDate: Thu Nov 7 18:50:53 2019 -0600
[NETBEANS-3346]
-Upgrade asm-all-5.0.1 version to asm-7.2
-Add constructor parameter to use ASMv7 API
-Visit @ConstructorDelegate parameters as array. (by sdedic)
-Use only one license file for both jars
---
.../javaee/wildfly/WildflyDeploymentFactory.java | 2 +-
harness/apisupport.harness/build.xml | 4 +-
.../netbeans/lib/jshell/agent/NbJShellAgent.java | 4 +-
java/lib.jshell.agent/nbproject/project.properties | 2 +-
nbbuild/templates/common.xml | 6 +-
.../src/org/netbeans/core/startup/Asm.java | 67 ++++++++++++++++++----
...m-all-5.0.1-license.txt => asm-7.2-license.txt} | 16 +++---
platform/libs.asm/external/binaries-list | 3 +-
platform/libs.asm/nbproject/project.properties | 7 ++-
platform/libs.asm/nbproject/project.xml | 16 ++----
10 files changed, 83 insertions(+), 44 deletions(-)
diff --git
a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/WildflyDeploymentFactory.java
b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/WildflyDeploymentFactory.java
index 01e3246..4068b8c 100644
---
a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/WildflyDeploymentFactory.java
+++
b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/WildflyDeploymentFactory.java
@@ -153,7 +153,7 @@ public class WildflyDeploymentFactory implements
DeploymentFactory {
return super.getCommonSuperClass(string,
string1);
}
};
- ClassNode node = new ClassNode();
+ ClassNode node = new ClassNode(Opcodes.ASM7);
cr.accept(node, 0);
for (MethodNode m : (Collection<MethodNode>)
node.methods) {
diff --git a/harness/apisupport.harness/build.xml
b/harness/apisupport.harness/build.xml
index 548620f..d97a498 100644
--- a/harness/apisupport.harness/build.xml
+++ b/harness/apisupport.harness/build.xml
@@ -39,13 +39,13 @@
<pathelement location="${cluster}/tasks.jar"></pathelement>
</classpath>
</taskdef>
- <echo
file="build/binaries-list">2F7553F50B0D14ED811B849C282DA8C1FFC32AAE
org.ow2.asm:asm-all:5.0.1</echo>
+ <echo
file="build/binaries-list">FA637EB67EB7628C915D73762B681AE7FF0B9731
org.ow2.asm:asm:7.2</echo>
<TestDownload>
<manifest dir="build">
<include name="binaries-list"/>
</manifest>
</TestDownload>
- <delete file="build/asm-all-5.0.1.jar"/>
+ <delete file="build/asm-7.2.jar"/>
</target>
<target name="compile-jnlp-launcher" depends="init,compile">
diff --git
a/java/lib.jshell.agent/agentsrc/org/netbeans/lib/jshell/agent/NbJShellAgent.java
b/java/lib.jshell.agent/agentsrc/org/netbeans/lib/jshell/agent/NbJShellAgent.java
index 7282ae2..8fd0ee3 100644
---
a/java/lib.jshell.agent/agentsrc/org/netbeans/lib/jshell/agent/NbJShellAgent.java
+++
b/java/lib.jshell.agent/agentsrc/org/netbeans/lib/jshell/agent/NbJShellAgent.java
@@ -377,7 +377,7 @@ public class NbJShellAgent implements Runnable,
ClassFileTransformer {
*/
private void insertClassInit(String className, ClassNode target) {
// method void static clinit()
- MethodNode clinit = new MethodNode(Opcodes.ASM5,
+ MethodNode clinit = new MethodNode(Opcodes.ASM7,
Opcodes.ACC_STATIC | Opcodes.ACC_SYNTHETIC,
CLASS_INIT_NAME,
CLASS_INIT_DESC,
@@ -400,7 +400,7 @@ public class NbJShellAgent implements Runnable,
ClassFileTransformer {
istm = new ByteArrayInputStream(classfileBuffer);
ClassReader reader = new ClassReader(istm);
ClassWriter wr = new ClassWriter(reader, 0);
- ClassNode clazz = new ClassNode();
+ ClassNode clazz = new ClassNode(Opcodes.ASM7);
reader.accept(clazz, 0);
boolean found = false;
diff --git a/java/lib.jshell.agent/nbproject/project.properties
b/java/lib.jshell.agent/nbproject/project.properties
index 6641c35..0020ac6 100644
--- a/java/lib.jshell.agent/nbproject/project.properties
+++ b/java/lib.jshell.agent/nbproject/project.properties
@@ -21,5 +21,5 @@ javac.compilerargs=-Xlint -Xlint:-serial
extra.module.files=modules/ext/nb-custom-jshell-probe.jar,modules/ext/nb-mod-jshell-probe.jar
jnlp.indirect.jars=modules/ext/nb-custom-jshell-probe.jar,modules/ext/nb-mod-jshell-probe.jar
-agentsrc.asm.cp=${libs.asm.dir}/core/asm-all-5.0.1.jar
+agentsrc.asm.cp=${libs.asm.dir}/core/asm-7.2.jar
agentsrc.jshell.cp=${nb_all}/java/libs.jshell.compile/external/jshell-9.jar
diff --git a/nbbuild/templates/common.xml b/nbbuild/templates/common.xml
index e917424..8983eee 100644
--- a/nbbuild/templates/common.xml
+++ b/nbbuild/templates/common.xml
@@ -78,10 +78,10 @@
<tstamp>
<format property="module.build.started.time"
pattern="yyyy-MM-dd'T'HH:mm:ss.SSSZ"/>
</tstamp>
- <condition property="asm.jar"
value="${nbplatform.active.dir}/platform/core/asm-all-5.0.1.jar">
- <available
file="${nbplatform.active.dir}/platform/core/asm-all-5.0.1.jar"/>
+ <condition property="asm.jar"
value="${nbplatform.active.dir}/platform/core/asm-7.2.jar">
+ <available
file="${nbplatform.active.dir}/platform/core/asm-7.2.jar"/>
</condition>
- <property name="asm.jar"
location="${platform/libs.asm.dir}/core/asm-all-5.0.1.jar"/>
+ <property name="asm.jar"
location="${platform/libs.asm.dir}/core/asm-7.2.jar"/>
</target>
<target name="-release.dir">
diff --git a/platform/core.startup/src/org/netbeans/core/startup/Asm.java
b/platform/core.startup/src/org/netbeans/core/startup/Asm.java
index 6bc6af9..e752bdb 100644
--- a/platform/core.startup/src/org/netbeans/core/startup/Asm.java
+++ b/platform/core.startup/src/org/netbeans/core/startup/Asm.java
@@ -57,7 +57,7 @@ final class Asm {
// must analyze the extender class, as some annotations there may
trigger
ClassReader clr = new ClassReader(data);
ClassWriter wr = new ClassWriter(clr, 0);
- ClassNode theClass = new ClassNode();
+ ClassNode theClass = new ClassNode(Opcodes.ASM7);
clr.accept(theClass, 0);
@@ -74,7 +74,7 @@ final class Asm {
throw new IOException("Could not find classfile for extender
class"); // NOI18N
}
ClassReader extenderReader = new ClassReader(istm);
- ClassNode extenderClass = new ClassNode();
+ ClassNode extenderClass = new ClassNode(Opcodes.ASM7);
extenderReader.accept(extenderClass, ClassReader.SKIP_FRAMES);
// search for a no-arg ctor, replace all invokespecial calls in
ctors
@@ -145,7 +145,7 @@ final class Asm {
*/
private static class NullSignVisitor extends SignatureVisitor {
public NullSignVisitor() {
- super(Opcodes.ASM5);
+ super(Opcodes.ASM7);
}
}
@@ -168,13 +168,13 @@ final class Asm {
* @param firstSelf if true, assumes the first parameter is reference
to self and will generate aload_0
*/
public CallParametersWriter(MethodNode mn, boolean firstSelf) {
- super(Opcodes.ASM5);
+ super(Opcodes.ASM7);
this.mn = mn;
this.paramIndex = firstSelf ? 0 : 1;
}
public CallParametersWriter(MethodNode mn, int[] indices) {
- super(Opcodes.ASM5);
+ super(Opcodes.ASM7);
this.mn = mn;
this.paramIndices = indices;
}
@@ -291,20 +291,65 @@ final class Asm {
}
+ /**
+ * @@author Svatopluk Dedic
+ */
private static class CtorDelVisitor extends AnnotationVisitor {
- int[] indices;
-
- public CtorDelVisitor(int i) {
- super(i);
+
+ int[] indices;
+ int pos;
+ int level;
+
+ /**
+ * Constructs a new {@link AnnotationVisitor}.
+ *
+ * @param api the ASM API version implemented by this visitor. Must be
one of {@link
+ * Opcodes#ASM4}, {@link Opcodes#ASM5}, {@link Opcodes#ASM6} or
{@link Opcodes#ASM7}.
+ */
+ public CtorDelVisitor(int api) {
+ super(api);
}
@Override
public void visit(String string, Object o) {
+ if (level > 0) {
+ if (pos >= indices.length) {
+ indices = Arrays.copyOf(indices, indices.length * 2);
+ }
+ indices[pos++] = (Integer)o;
+ super.visit(string, o);
+ return;
+ }
if ("delegateParams".equals(string)) { // NOI18N
indices = (int[])o;
}
super.visit(string, o);
}
+
+ @Override
+ public void visitEnd() {
+ if (level > 0) {
+ if (--level == 0) {
+ if (pos < indices.length) {
+ indices = Arrays.copyOf(indices, pos);
+ }
+ }
+ }
+ super.visitEnd();
+ }
+
+ @Override
+ public AnnotationVisitor visitArray(String string) {
+ if ("delegateParams".equals(string)) { // NOI18N
+ indices = new int[4];
+ pos = 0;
+ level++;
+ return this;
+ } else {
+ return super.visitArray(string);
+ }
+ }
+
}
private static String[] splitDescriptor(String desc) {
@@ -342,11 +387,11 @@ final class Asm {
MethodNode noArgCtor
) {
String desc = targetMethod.desc;
- CtorDelVisitor v = new CtorDelVisitor(Opcodes.ASM5);
+ CtorDelVisitor v = new CtorDelVisitor(Opcodes.ASM7);
an.accept(v);
int nextPos = desc.indexOf(';', 2); // NOI18N
desc = "(" + desc.substring(nextPos + 1); // NOI18N
- MethodNode mn = new MethodNode(Opcodes.ASM5,
+ MethodNode mn = new MethodNode(Opcodes.ASM7,
targetMethod.access & (~Opcodes.ACC_STATIC), CONSTRUCTOR_NAME,
desc,
targetMethod.signature,
diff --git a/platform/libs.asm/external/asm-all-5.0.1-license.txt
b/platform/libs.asm/external/asm-7.2-license.txt
old mode 100644
new mode 100755
similarity index 76%
rename from platform/libs.asm/external/asm-all-5.0.1-license.txt
rename to platform/libs.asm/external/asm-7.2-license.txt
index bbcb7bc..c764c92
--- a/platform/libs.asm/external/asm-all-5.0.1-license.txt
+++ b/platform/libs.asm/external/asm-7.2-license.txt
@@ -1,8 +1,9 @@
Name: OW2 ASM
-Version: 5.0.1
+Version: 7.2
+Files: asm-tree-7.2.jar asm-7.2.jar
License: BSD-INRIA
Origin: OW2 Consortium
-URL: http://forge.ow2.org/project/download.php?group_id=23&file_id=19789
+URL:
https://repository.ow2.org/nexus/content/repositories/releases/org/ow2/asm/
Description: Bytecode manipulation library
*******************************************************************************
@@ -14,13 +15,13 @@ Description: Bytecode manipulation library
* 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.
+* 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.
+* 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.
+* 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
@@ -34,4 +35,3 @@ Description: Bytecode manipulation library
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*******************************************************************************
-
diff --git a/platform/libs.asm/external/binaries-list
b/platform/libs.asm/external/binaries-list
old mode 100644
new mode 100755
index 5986385..e0daa6f
--- a/platform/libs.asm/external/binaries-list
+++ b/platform/libs.asm/external/binaries-list
@@ -14,4 +14,5 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-2F7553F50B0D14ED811B849C282DA8C1FFC32AAE org.ow2.asm:asm-all:5.0.1
+FA637EB67EB7628C915D73762B681AE7FF0B9731 org.ow2.asm:asm:7.2
+3A23CC36EDAF8FC5A89CB100182758CCB5991487 org.ow2.asm:asm-tree:7.2
diff --git a/platform/libs.asm/nbproject/project.properties
b/platform/libs.asm/nbproject/project.properties
index 807b7c4..d822881 100644
--- a/platform/libs.asm/nbproject/project.properties
+++ b/platform/libs.asm/nbproject/project.properties
@@ -16,8 +16,9 @@
# under the License.
javac.compilerargs=-Xlint -Xlint:-serial
-javac.source=1.7
+javac.source=1.8
module.jar.dir=core
-release.external/asm-all-5.0.1.jar=core/asm-all-5.0.1.jar
-license.file=../external/asm-all-5.0.1-license.txt
+release.external/asm-7.2.jar=core/asm-7.2.jar
+release.external/asm-tree-7.2.jar=core/asm-tree-7.2.jar
+license.file=../external/asm-7.2-license.txt
diff --git a/platform/libs.asm/nbproject/project.xml
b/platform/libs.asm/nbproject/project.xml
index fd3a372..a4aa509 100644
--- a/platform/libs.asm/nbproject/project.xml
+++ b/platform/libs.asm/nbproject/project.xml
@@ -29,21 +29,13 @@
<subpackages>org</subpackages>
</public-packages>
<class-path-extension>
-
<runtime-relative-path>asm-all-5.0.1.jar</runtime-relative-path>
- <binary-origin>external/asm-all-5.0.1.jar</binary-origin>
- </class-path-extension>
-<!-- <class-path-extension>
-
<runtime-relative-path>ext/asm-5.0.1/asm-5.0.1.jar</runtime-relative-path>
- <binary-origin>external/asm-5.0.1.jar</binary-origin>
+ <runtime-relative-path>asm-7.2.jar</runtime-relative-path>
+ <binary-origin>external/asm-7.2.jar</binary-origin>
</class-path-extension>
<class-path-extension>
-
<runtime-relative-path>ext/asm-5.0.1/asm-commons-5.0.1.jar</runtime-relative-path>
- <binary-origin>external/asm-commons-5.0.1.jar</binary-origin>
+ <runtime-relative-path>asm-tree-7.2.jar</runtime-relative-path>
+ <binary-origin>external/asm-tree-7.2.jar</binary-origin>
</class-path-extension>
- <class-path-extension>
-
<runtime-relative-path>ext/asm-5.0.1/asm-util-5.0.1.jar</runtime-relative-path>
- <binary-origin>external/asm-util-5.0.1.jar</binary-origin>
- </class-path-extension>-->
</data>
</configuration>
</project>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists