Bug #513574: Entity not recognized on JDK9
Signed-off-by: Jan Supol <jan.supol@oracle.com>
Reviewed-by: Lukas
diff --git a/antbuild.xml b/antbuild.xml
index bb41259..d3c15ca 100644
--- a/antbuild.xml
+++ b/antbuild.xml
@@ -90,7 +90,6 @@
It may require some configuration of the build.properties to run.
-->
<project name="trunk" default="build" basedir="." xmlns:jacoco="antlib:org.jacoco.ant" xmlns:sonar="antlib:org.sonar.ant">
-
<dirname property="trunk.build.location_temp" file="${ant.file.trunk}"/>
<pathconvert targetos="unix" property="trunk.build.location">
<path>
diff --git a/dbws/org.eclipse.persistence.dbws/.classpath b/dbws/org.eclipse.persistence.dbws/.classpath
index 661b579..e34a74d 100644
--- a/dbws/org.eclipse.persistence.dbws/.classpath
+++ b/dbws/org.eclipse.persistence.dbws/.classpath
@@ -3,9 +3,9 @@
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="resource"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
- <classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar"/>
+ <classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar"/>
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/javax.ws.rs_2.0.1.v201504171603.jar"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.eclipse.persistence.core"/>
<classpathentry kind="output" path="target/classes"/>
-</classpath>
+</classpath>
\ No newline at end of file
diff --git a/dbws/org.eclipse.persistence.dbws/META-INF/MANIFEST.MF b/dbws/org.eclipse.persistence.dbws/META-INF/MANIFEST.MF
index 67ee5c5..13c6aac 100644
--- a/dbws/org.eclipse.persistence.dbws/META-INF/MANIFEST.MF
+++ b/dbws/org.eclipse.persistence.dbws/META-INF/MANIFEST.MF
@@ -26,7 +26,7 @@
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
HK2-Bundle-Name: org.eclipse.persistence:org.eclipse.persistence.dbws
Require-Bundle: org.eclipse.persistence.core;bundle-version="2.7.0",
- org.eclipse.persistence.asm;bundle-version="5.1",
+ org.eclipse.persistence.asm;bundle-version="6.0",
org.eclipse.persistence.jpa;bundle-version="2.7.0",
org.eclipse.persistence.moxy;bundle-version="2.7.0"
Bundle-Vendor: Eclipse.org - EclipseLink Project
diff --git a/dbws/org.eclipse.persistence.dbws/dbws.iml b/dbws/org.eclipse.persistence.dbws/dbws.iml
index 133e459..de391d5 100644
--- a/dbws/org.eclipse.persistence.dbws/dbws.iml
+++ b/dbws/org.eclipse.persistence.dbws/dbws.iml
@@ -36,11 +36,11 @@
<orderEntry type="module-library">
<library>
<CLASSES>
- <root url="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
- <root url="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar!/" />
</SOURCES>
</library>
</orderEntry>
diff --git a/foundation/org.eclipse.persistence.core/.classpath b/foundation/org.eclipse.persistence.core/.classpath
index 3e8cc80..b19b736 100644
--- a/foundation/org.eclipse.persistence.core/.classpath
+++ b/foundation/org.eclipse.persistence.core/.classpath
@@ -9,7 +9,7 @@
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/javax.mail_1.4.0.v201005080615.jar"/>
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/javax.resource_1.6.0.v201204270900.jar"/>
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/javax.transaction_1.1.0.v201002051055.jar"/>
- <classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar"/>
+ <classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="target/classes"/>
-</classpath>
+</classpath>
\ No newline at end of file
diff --git a/foundation/org.eclipse.persistence.core/META-INF/MANIFEST.MF b/foundation/org.eclipse.persistence.core/META-INF/MANIFEST.MF
index d463f65..f1a6b79 100644
--- a/foundation/org.eclipse.persistence.core/META-INF/MANIFEST.MF
+++ b/foundation/org.eclipse.persistence.core/META-INF/MANIFEST.MF
@@ -176,7 +176,7 @@
HK2-Bundle-Name: org.eclipse.persistence:org.eclipse.persistence.core
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.persistence.antlr;bundle-version="3.5.2";resolution:=optional,
- org.eclipse.persistence.asm;bundle-version="5.1";resolution:=optional
+ org.eclipse.persistence.asm;bundle-version="6.0";resolution:=optional
Bundle-SymbolicName: org.eclipse.persistence.core
Eclipse-ExtensibleAPI: true
Bundle-Name: EclipseLink Core
@@ -224,7 +224,7 @@
javax.xml.xpath;resolution:=optional,
org.eclipse.persistence.internal.libraries.antlr.runtime;resolution:=optional,
org.eclipse.persistence.internal.libraries.antlr.runtime.tree;resolution:=optional,
- org.eclipse.persistence.internal.libraries.asm;version="[5.0.1,6.0)";resolution:=optional,
+ org.eclipse.persistence.internal.libraries.asm;version="[5.0.1,6.1)";resolution:=optional,
org.eclipse.persistence.jpa.jpql;version="[2.1,3.0)";resolution:=optional,
org.eclipse.persistence.jpa.jpql.parser;version="[2.1,3.0)";resolution:=optional,
org.eclipse.persistence.jpa.jpql.utility;version="[2.1,3.0)";resolution:=optional,
diff --git a/foundation/org.eclipse.persistence.core/core.iml b/foundation/org.eclipse.persistence.core/core.iml
index dbb3608..d294441 100644
--- a/foundation/org.eclipse.persistence.core/core.iml
+++ b/foundation/org.eclipse.persistence.core/core.iml
@@ -8,8 +8,8 @@
<varelement var="jar://$MODULE_DIR$/../../plugins/javax.mail_1.4.0.v201005080615.jar!/" value="MODULE_DIR/../../plugins/javax.mail_1.4.0.v201005080615.jar" />
<varelement var="jar://$MODULE_DIR$/../../plugins/javax.resource_1.6.0.v201204270900.jar!/" value="MODULE_DIR/../../plugins/javax.resource_1.6.0.v201204270900.jar" />
<varelement var="jar://$MODULE_DIR$/../../plugins/javax.transaction_1.1.0.v201002051055.jar!/" value="MODULE_DIR/../../plugins/javax.transaction_1.1.0.v201002051055.jar" />
- <varelement var="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar!/" value="MODULE_DIR/../../plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar" />
- <varelement var="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar!/" value="src:/MODULE_DIR/../../plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar" />
+ <varelement var="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar!/" value="MODULE_DIR/../../plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar" />
+ <varelement var="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar!/" value="src:/MODULE_DIR/../../plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar" />
<src_description expected_position="0">
<src_folder value="file://$MODULE_DIR$/src" expected_position="0" />
<src_folder value="file://$MODULE_DIR$/resource" expected_position="1" />
@@ -90,11 +90,11 @@
<orderEntry type="module-library">
<library>
<CLASSES>
- <root url="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
- <root url="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar!/" />
</SOURCES>
</library>
</orderEntry>
@@ -132,5 +132,4 @@
</library>
</orderEntry>
</component>
-</module>
-
+</module>
\ No newline at end of file
diff --git a/jpa/eclipselink.jpa.test.jse/.classpath b/jpa/eclipselink.jpa.test.jse/.classpath
index 44eb604..7d58de3 100644
--- a/jpa/eclipselink.jpa.test.jse/.classpath
+++ b/jpa/eclipselink.jpa.test.jse/.classpath
@@ -10,6 +10,6 @@
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/javax.validation_1.1.0.v201304101302.jar"/>
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/javax.transaction_1.1.0.v201002051055.jar" sourcepath="/ECLIPSELINK_HOME/plugins/javax.transaction/src"/>
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.eclipse.persistence.antlr_3.2.0.v201302191141.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.eclipse.persistence.antlr.source_3.2.0.v201302191141.jar"/>
- <classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar"/>
+ <classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar"/>
<classpathentry kind="output" path="classes"/>
-</classpath>
+</classpath>
\ No newline at end of file
diff --git a/jpa/eclipselink.jpars.test/.classpath b/jpa/eclipselink.jpars.test/.classpath
index a460602..3a75486 100644
--- a/jpa/eclipselink.jpars.test/.classpath
+++ b/jpa/eclipselink.jpars.test/.classpath
@@ -12,7 +12,7 @@
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/javax.ws.rs_2.0.1.v201504171603.jar"/>
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/javax.ejb_3.1.0.v201205171433.jar" sourcepath="/ECLIPSELINK_HOME/plugins/javax.ejb/src"/>
- <classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar"/>
+ <classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar"/>
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.eclipse.persistence.antlr_3.2.0.v201302191141.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.eclipse.persistence.antlr.source_3.2.0.v201302191141.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
@@ -26,4 +26,4 @@
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.glassfish.hk2.locator_2.3.0.b10_201505192201.jar"/>
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.glassfish.hk2.utils_2.3.0.b10_201505192201.jar"/>
<classpathentry kind="output" path="classes"/>
-</classpath>
+</classpath>
\ No newline at end of file
diff --git a/jpa/org.eclipse.persistence.jpa/.classpath b/jpa/org.eclipse.persistence.jpa/.classpath
index 2bcbeea..48ba33d 100644
--- a/jpa/org.eclipse.persistence.jpa/.classpath
+++ b/jpa/org.eclipse.persistence.jpa/.classpath
@@ -5,7 +5,7 @@
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/javax.transaction_1.1.0.v201002051055.jar"/>
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/javax.validation_1.1.0.v201304101302.jar"/>
- <classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar"/>
+ <classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="target/classes"/>
-</classpath>
+</classpath>
\ No newline at end of file
diff --git a/jpa/org.eclipse.persistence.jpa/META-INF/MANIFEST.MF b/jpa/org.eclipse.persistence.jpa/META-INF/MANIFEST.MF
index afff6af..5447e7a 100644
--- a/jpa/org.eclipse.persistence.jpa/META-INF/MANIFEST.MF
+++ b/jpa/org.eclipse.persistence.jpa/META-INF/MANIFEST.MF
@@ -41,7 +41,7 @@
HK2-Bundle-Name: org.eclipse.persistence:org.eclipse.persistence.jpa
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.persistence.core;bundle-version="2.7.0";visibility:=reexport,
- org.eclipse.persistence.asm;bundle-version="5.1";resolution:=optional
+ org.eclipse.persistence.asm;bundle-version="6.0";resolution:=optional
Bundle-Vendor: Eclipse.org - EclipseLink Project
Bundle-Version: 2.7.0.qualifier
Bundle-ManifestVersion: 2
@@ -83,8 +83,8 @@
org.eclipse.persistence.internal.indirection;version="2.7.0",
org.eclipse.persistence.internal.jpa.parsing;version="2.7.0",
org.eclipse.persistence.internal.jpa.parsing.jpql;version="2.7.0",
- org.eclipse.persistence.internal.libraries.asm;version="[5.0.1,6.0)",
- org.eclipse.persistence.internal.libraries.asm.commons;version="[5.0.1,6.0)",
+ org.eclipse.persistence.internal.libraries.asm;version="[5.0.1,6.1)",
+ org.eclipse.persistence.internal.libraries.asm.commons;version="[5.0.1,6.1)",
org.eclipse.persistence.internal.localization;version="2.7.0",
org.eclipse.persistence.internal.mappings.converters;version="2.7.0",
org.eclipse.persistence.internal.queries;version="2.7.0",
diff --git a/jpa/org.eclipse.persistence.jpa/jpa.iml b/jpa/org.eclipse.persistence.jpa/jpa.iml
index 9765e61..39d4bfa 100644
--- a/jpa/org.eclipse.persistence.jpa/jpa.iml
+++ b/jpa/org.eclipse.persistence.jpa/jpa.iml
@@ -3,8 +3,8 @@
<component name="EclipseModuleManager">
<varelement var="jar://$MODULE_DIR$/../../plugins/javax.transaction_1.1.0.v201002051055.jar!/" value="MODULE_DIR/../../plugins/javax.transaction_1.1.0.v201002051055.jar" />
<varelement var="jar://$MODULE_DIR$/../../plugins/javax.validation_1.1.0.v201304101302.jar!/" value="MODULE_DIR/../../plugins/javax.validation_1.1.0.v201304101302.jar" />
- <varelement var="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar!/" value="MODULE_DIR/../../plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar" />
- <varelement var="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar!/" value="src:/MODULE_DIR/../../plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar" />
+ <varelement var="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar!/" value="MODULE_DIR/../../plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar" />
+ <varelement var="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar!/" value="src:/MODULE_DIR/../../plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar" />
<src_description expected_position="0">
<src_folder value="file://$MODULE_DIR$/src" expected_position="0" />
<src_folder value="file://$MODULE_DIR$/resource" expected_position="1" />
@@ -55,11 +55,11 @@
<orderEntry type="module-library">
<library>
<CLASSES>
- <root url="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
- <root url="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar!/" />
</SOURCES>
</library>
</orderEntry>
@@ -73,5 +73,4 @@
</library>
</orderEntry>
</component>
-</module>
-
+</module>
\ No newline at end of file
diff --git a/moxy/eclipselink.moxy.test/.classpath b/moxy/eclipselink.moxy.test/.classpath
index 8c55a61..0171ded 100644
--- a/moxy/eclipselink.moxy.test/.classpath
+++ b/moxy/eclipselink.moxy.test/.classpath
@@ -17,7 +17,7 @@
<classpathentry kind="var" path="EXTENSION_LIB_EXTERNAL/pax-exam-junit4-3.0.0.M3.jar"/>
<classpathentry kind="var" path="EXTENSION_LIB_EXTERNAL/org.osgi.core-4.2.0.jar"/>
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.glassfish.javax.json_1.0.4.v201311181159.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.glassfish.javax.json.source_1.0.4.v201311181159.jar"/>
- <classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar"/>
+ <classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar"/>
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/jaxb-core_2.2.11.v201407311112.jar" sourcepath="/ECLIPSELINK_HOME/plugins/jaxb-core.source_2.2.11.v201407311112.jar"/>
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/javax.validation_1.1.0.v201304101302.jar"/>
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/jaxb-xjc_2.2.11.v201407311112.jar" sourcepath="/ECLIPSELINK_HOME/plugins/jaxb-xjc.source_2.2.11.v201407311112.jar"/>
@@ -25,4 +25,4 @@
<classpathentry kind="var" path="EXTENSION_LIB_EXTERNAL/jmockit-1.10.jar" sourcepath="/EXTENSION_LIB_EXTERNAL/jmockit-1.10-sources.jar"/>
<classpathentry kind="var" path="EXTENSION_LIB_EXTERNAL/hibernate-validator-5.1.0.Final.jar"/>
<classpathentry kind="output" path="classes"/>
-</classpath>
+</classpath>
\ No newline at end of file
diff --git a/moxy/eclipselink.moxy.test/antbuild.properties b/moxy/eclipselink.moxy.test/antbuild.properties
index 19dec79..5d9a8da 100644
--- a/moxy/eclipselink.moxy.test/antbuild.properties
+++ b/moxy/eclipselink.moxy.test/antbuild.properties
@@ -24,7 +24,7 @@
ejb.jar=javax.ejb_3.1.0.v201205171433.jar
jms.jar=javax.jms_1.1.0.v200906010428.jar
transaction.jar=javax.transaction_1.1.0.v201002051055.jar
-asm.jar=org.eclipse.persistence.asm_5.1.0.v201605131250.jar
+asm.jar=org.eclipse.persistence.asm_6.0.0.v201702131300.jar
eclipselink.core.depend=${resource.jar},${ejb.jar},${jms.jar},${transaction.jar},${mail.jar},${javax.validation.jar}
diff --git a/moxy/eclipselink.moxy.test/moxy.test.iml b/moxy/eclipselink.moxy.test/moxy.test.iml
index ddf0882..1b8b04d 100644
--- a/moxy/eclipselink.moxy.test/moxy.test.iml
+++ b/moxy/eclipselink.moxy.test/moxy.test.iml
@@ -7,8 +7,8 @@
<varelement var="jar://$MODULE_DIR$/../../plugins/javax.xml.bind_2.2.0.v201105210648.jar!/" value="MODULE_DIR/../../plugins/javax.xml.bind_2.2.0.v201105210648.jar" />
<varelement var="jar://$MODULE_DIR$/../../plugins/org.glassfish.javax.json_1.0.4.v201311181159.jar" value="MODULE_DIR/../../plugins/org.glassfish.javax.json_1.0.4.v201311181159.jar" />
<varelement var="jar://$MODULE_DIR$/../../plugins/org.glassfish.javax.json.source_1.0.4.v201311181159.jar" value="src:/MODULE_DIR/../../plugins/org.glassfish.javax.json.source_1.0.4.v201311181159.jar" />
- <varelement var="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar!/" value="MODULE_DIR/../../plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar" />
- <varelement var="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar!/" value="src:/MODULE_DIR/../../plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar" />
+ <varelement var="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar!/" value="MODULE_DIR/../../plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar" />
+ <varelement var="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar!/" value="src:/MODULE_DIR/../../plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar" />
<varelement var="jar://$MODULE_DIR$/../../plugins/jaxb-core_2.2.11.v201407311112.jar!/" value="MODULE_DIR/../../plugins/jaxb-core_2.2.11.v201407311112.jar" />
<varelement var="jar://$MODULE_DIR$/../../plugins/jaxb-core.source_2.2.11.v201407311112.jar!/" value="src:/MODULE_DIR/../../plugins/jaxb-core.source_2.2.11.v201407311112.jar" />
<varelement var="jar://$MODULE_DIR$/../../plugins/javax.validation_1.1.0.v201304101302.jar!/" value="MODULE_DIR/../../plugins/javax.validation_1.1.0.v201304101302.jar" />
@@ -93,11 +93,11 @@
<orderEntry type="module-library">
<library>
<CLASSES>
- <root url="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
- <root url="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar!/" />
</SOURCES>
</library>
</orderEntry>
diff --git a/moxy/eclipselink.moxy.test/src/org/eclipse/persistence/testing/osgi/OSGITestHelper.java b/moxy/eclipselink.moxy.test/src/org/eclipse/persistence/testing/osgi/OSGITestHelper.java
index 0bf68c1..e84dd88 100644
--- a/moxy/eclipselink.moxy.test/src/org/eclipse/persistence/testing/osgi/OSGITestHelper.java
+++ b/moxy/eclipselink.moxy.test/src/org/eclipse/persistence/testing/osgi/OSGITestHelper.java
@@ -33,7 +33,7 @@
private static final String RELEASE_VERSION = System.getProperty("release.version", "2.7.0");
private static final String JAXB_API_JAR = System.getProperty("jaxb-api.jar", "javax.xml.bind_2.2.12.v201410011542.jar");
private static final String JAXRS_JAR = System.getProperty("jaxrs.jar", "javax.ws.rs_1.1.1.v20101004-1200.jar");
- private static final String ASM_JAR = System.getProperty("asm.jar", "org.eclipse.persistence.asm_5.1.0.v201605131250.jar");
+ private static final String ASM_JAR = System.getProperty("asm.jar", "org.eclipse.persistence.asm_6.0.0.v201702131300.jar");
private static final String BEAN_VALIDATION_LIB = System.getProperty("javax.validation.lib", "javax.validation_1.1.0.v201304101302.jar");
public static Option[] getDefaultOptions() {
@@ -78,4 +78,4 @@
junitBundles()
);
}
-}
+}
\ No newline at end of file
diff --git a/moxy/eclipselink.moxy.test/src/org/eclipse/persistence/testing/osgi/OSGiBundleTest.java b/moxy/eclipselink.moxy.test/src/org/eclipse/persistence/testing/osgi/OSGiBundleTest.java
index 0352269..db2a74a 100644
--- a/moxy/eclipselink.moxy.test/src/org/eclipse/persistence/testing/osgi/OSGiBundleTest.java
+++ b/moxy/eclipselink.moxy.test/src/org/eclipse/persistence/testing/osgi/OSGiBundleTest.java
@@ -56,7 +56,7 @@
@Test
public void testAsmVersion() {
Class<?> c = loadClass("org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor");
- assertClassLoadedByBundle(c, "org.eclipse.persistence.asm", "5.1.0.v201605131250");
+ assertClassLoadedByBundle(c, "org.eclipse.persistence.asm", "6.0.0.v201702131300");
}
@Test
diff --git a/moxy/org.eclipse.persistence.moxy/.classpath b/moxy/org.eclipse.persistence.moxy/.classpath
index 493092a..ba45d5f 100644
--- a/moxy/org.eclipse.persistence.moxy/.classpath
+++ b/moxy/org.eclipse.persistence.moxy/.classpath
@@ -4,10 +4,10 @@
<classpathentry kind="lib" path="resource"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/javax.ws.rs_2.0.1.v201504171603.jar"/>
- <classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar"/>
+ <classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/javax.validation_1.1.0.v201304101302.jar"/>
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/jaxb-core_2.2.11.v201407311112.jar" sourcepath="/ECLIPSELINK_HOME/plugins/jaxb-core.source_2.2.11.v201407311112.jar"/>
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/jaxb-xjc_2.2.11.v201407311112.jar" sourcepath="/ECLIPSELINK_HOME/plugins/jaxb-xjc.source_2.2.11.v201407311112.jar"/>
<classpathentry kind="output" path="target/classes"/>
-</classpath>
+</classpath>
\ No newline at end of file
diff --git a/moxy/org.eclipse.persistence.moxy/META-INF/MANIFEST.MF b/moxy/org.eclipse.persistence.moxy/META-INF/MANIFEST.MF
index 08a7978..2bb23c8 100644
--- a/moxy/org.eclipse.persistence.moxy/META-INF/MANIFEST.MF
+++ b/moxy/org.eclipse.persistence.moxy/META-INF/MANIFEST.MF
@@ -16,7 +16,7 @@
Created-By: 1.6.0_21 (Sun Microsystems Inc.)
HK2-Bundle-Name: org.eclipse.persistence:org.eclipse.persistence.moxy
Require-Bundle: org.eclipse.persistence.core;bundle-version="2.7.0";visibility:=reexport,
- org.eclipse.persistence.asm;bundle-version="5.1";resolution:=optional
+ org.eclipse.persistence.asm;bundle-version="6.0";resolution:=optional
Bundle-Vendor: Eclipse.org - EclipseLink Project
Bundle-Version: 2.7.0.qualifier
Bundle-ManifestVersion: 2
@@ -63,7 +63,7 @@
org.eclipse.persistence.internal.databaseaccess;version="2.7.0",
org.eclipse.persistence.internal.descriptors;version="2.7.0",
org.eclipse.persistence.internal.helper;version="2.7.0",
- org.eclipse.persistence.internal.libraries.asm;version="[5.0.1,6.0)";resolution:=optional,
+ org.eclipse.persistence.internal.libraries.asm;version="[5.0.1,6.1)";resolution:=optional,
org.eclipse.persistence.internal.localization;version="2.7.0",
org.eclipse.persistence.internal.oxm;version="2.7.0",
org.eclipse.persistence.internal.oxm.record;version="2.7.0",
diff --git a/moxy/org.eclipse.persistence.moxy/moxy.iml b/moxy/org.eclipse.persistence.moxy/moxy.iml
index 8daf836..8a81116 100644
--- a/moxy/org.eclipse.persistence.moxy/moxy.iml
+++ b/moxy/org.eclipse.persistence.moxy/moxy.iml
@@ -3,8 +3,8 @@
<component name="EclipseModuleManager">
<libelement value="file://C:\eclipselink-runtime\moxy\org.eclipse.persistence.moxy\resource" />
<varelement var="jar://$MODULE_DIR$/../../plugins/javax.ws.rs_2.0.1.v201504171603.jar!/" value="MODULE_DIR/../../plugins/javax.ws.rs_2.0.1.v201504171603.jar" />
- <varelement var="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar!/" value="MODULE_DIR/../../plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar" />
- <varelement var="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar!/" value="src:/MODULE_DIR/../../plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar" />
+ <varelement var="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar!/" value="MODULE_DIR/../../plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar" />
+ <varelement var="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar!/" value="src:/MODULE_DIR/../../plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar" />
<src_description expected_position="0">
<src_folder value="file://$MODULE_DIR$/src" expected_position="0" />
</src_description>
@@ -41,11 +41,11 @@
<orderEntry type="module-library">
<library>
<CLASSES>
- <root url="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
- <root url="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar!/" />
</SOURCES>
</library>
</orderEntry>
@@ -82,5 +82,4 @@
</library>
</orderEntry>
</component>
-</module>
-
+</module>
\ No newline at end of file
diff --git a/performance/eclipselink.perf.test/.classpath b/performance/eclipselink.perf.test/.classpath
index 4411cf9..965612b 100644
--- a/performance/eclipselink.perf.test/.classpath
+++ b/performance/eclipselink.perf.test/.classpath
@@ -4,7 +4,7 @@
<classpathentry kind="src" path="resource"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
- <classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar"/>
+ <classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar"/>
<classpathentry kind="var" path="EXTENSION_LIB_EXTERNAL/jmh-core-0.9.3.jar"/>
<classpathentry kind="var" path="EXTENSION_LIB_EXTERNAL/jmh-generator-annprocess-0.9.3.jar"/>
<classpathentry kind="var" path="EXTENSION_LIB_EXTERNAL/commons-math3-3.3.jar"/>
@@ -15,4 +15,4 @@
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.glassfish.javax.json_1.0.4.v201311181159.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.glassfish.javax.json.source_1.0.4.v201311181159.jar"/>
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/javax.validation_1.1.0.v201304101302.jar"/>
<classpathentry kind="output" path="classes"/>
-</classpath>
+</classpath>
\ No newline at end of file
diff --git a/performance/eclipselink.perf.test/antbuild.properties b/performance/eclipselink.perf.test/antbuild.properties
index 1f07a07..a584dd2 100644
--- a/performance/eclipselink.perf.test/antbuild.properties
+++ b/performance/eclipselink.perf.test/antbuild.properties
@@ -14,7 +14,7 @@
resource.dir=resource
report.dir=reports
-asm.jar=org.eclipse.persistence.asm_5.1.0.v201605131250.jar
+asm.jar=org.eclipse.persistence.asm_6.0.0.v201702131300.jar
persistence21.jar=javax.persistence_2.1.1.v201509150925.jar
json.jar=org.glassfish.javax.json_1.0.4.v201311181159.jar
jmh-core.jar=jmh-core-0.9.3.jar
@@ -33,4 +33,4 @@
warmup.iterations=20
run.iterations=20
jmh.resultFile=jmh-result.csv
-jmh.resultFormat=csv
+jmh.resultFormat=csv
\ No newline at end of file
diff --git a/plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar b/plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar
deleted file mode 100644
index b447978..0000000
--- a/plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar b/plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar
new file mode 100644
index 0000000..dd42b25
--- /dev/null
+++ b/plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar
Binary files differ
diff --git a/plugins/org.eclipse.persistence.asm/META-INF/MANIFEST.MF b/plugins/org.eclipse.persistence.asm/META-INF/MANIFEST.MF
index 0bc6a57..fdfe7d1 100644
--- a/plugins/org.eclipse.persistence.asm/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.persistence.asm/META-INF/MANIFEST.MF
@@ -1,33 +1,33 @@
Manifest-Version: 1.0
Export-Package: org.eclipse.persistence.internal.libraries.asm.signatu
- re;version="5.1.0",org.eclipse.persistence.internal.libraries.asm.com
- mons;version="5.1.0";uses:="org.eclipse.persistence.internal.librarie
+ re;version="6.0.0",org.eclipse.persistence.internal.libraries.asm.com
+ mons;version="6.0.0";uses:="org.eclipse.persistence.internal.librarie
s.asm,org.eclipse.persistence.internal.libraries.asm.tree,org.eclipse
.persistence.internal.libraries.asm.signature",org.eclipse.persistenc
- e.internal.libraries.asm.util;version="5.1.0";uses:="org.eclipse.pers
+ e.internal.libraries.asm.util;version="6.0.0";uses:="org.eclipse.pers
istence.internal.libraries.asm,org.eclipse.persistence.internal.libra
ries.asm.tree.analysis,org.eclipse.persistence.internal.libraries.asm
.tree,org.eclipse.persistence.internal.libraries.asm.signature",org.e
- clipse.persistence.internal.libraries.asm.tree.analysis;version="5.1.
+ clipse.persistence.internal.libraries.asm.tree.analysis;version="6.0.
0";uses:="org.eclipse.persistence.internal.libraries.asm,org.eclipse.
persistence.internal.libraries.asm.tree",org.eclipse.persistence.inte
- rnal.libraries.asm;version="5.1.0",org.eclipse.persistence.internal.l
- ibraries.asm.xml;version="5.1.0";uses:="org.xml.sax,org.eclipse.persi
+ rnal.libraries.asm;version="6.0.0",org.eclipse.persistence.internal.l
+ ibraries.asm.xml;version="6.0.0";uses:="org.xml.sax,org.eclipse.persi
stence.internal.libraries.asm,org.xml.sax.helpers,org.xml.sax.ext,jav
ax.xml.transform.sax,javax.xml.transform,javax.xml.transform.stream,o
rg.eclipse.persistence.internal.libraries.asm.util",org.eclipse.persi
- stence.internal.libraries.asm.tree;version="5.1.0";uses:="org.eclipse
+ stence.internal.libraries.asm.tree;version="6.0.0";uses:="org.eclipse
.persistence.internal.libraries.asm"
Bundle-Name: EclipseLink ASM
-Created-By: 1.6.0_21 (Sun Microsystems Inc.)
+Created-By: 1.8.0_121 (Sun Microsystems Inc.)
HK2-Bundle-Name: org.eclipse.persistence:org.eclipse.persistence.asm
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Implementation-Vendor: Eclipse.org - EclipseLink Project
Bundle-Vendor: Eclipse.org - EclipseLink Project
-Bundle-Version: 5.1.0.v201605131250
+Bundle-Version: 6.0.0.v201702131300
Bundle-ManifestVersion: 2
Import-Package: javax.xml.transform;resolution:=optional,javax.xml.tra
nsform.sax;resolution:=optional,javax.xml.transform.stream;resolution
:=optional,org.xml.sax;resolution:=optional,org.xml.sax.ext;resolutio
n:=optional,org.xml.sax.helpers;resolution:=optional
-Bundle-SymbolicName: org.eclipse.persistence.asm
+Bundle-SymbolicName: org.eclipse.persistence.asm
\ No newline at end of file
diff --git a/plugins/org.eclipse.persistence.asm/about.html b/plugins/org.eclipse.persistence.asm/about.html
index e66d6c1..6b03e88 100644
--- a/plugins/org.eclipse.persistence.asm/about.html
+++ b/plugins/org.eclipse.persistence.asm/about.html
@@ -3,10 +3,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About ASM 5.1.0</title>
+<title>About ASM 6.0.0.ALPHA</title>
</head>
<body lang="EN-US">
-<h1>ASM 5.1.0</h1>
+<h1>ASM 6.0.0.ALPHA</h1>
<h2>License </h2>
<p>The Eclipse Foundation makes available all content in this plug-in ("Content").
@@ -29,7 +29,7 @@
out below. If you did not receive this Content directly from the Eclipse Foundation,
the following is provided for informational purposes only, and you should look
to the Redistributor’s license for terms and conditions of use.</p>
-<h3><a name="ASM" id="ASM"></a>ASM v5.1.0</h3>
+<h3><a name="ASM" id="ASM"></a>ASM v6.0.0.ALPHA</h3>
<blockquote>
<p>The EclipseLink Project includes ASM for the purpose of
diff --git a/plugins/org.eclipse.persistence.asm/antbuild.xml b/plugins/org.eclipse.persistence.asm/antbuild.xml
index 24f1503..5d84c5e 100644
--- a/plugins/org.eclipse.persistence.asm/antbuild.xml
+++ b/plugins/org.eclipse.persistence.asm/antbuild.xml
@@ -62,7 +62,7 @@
<!-- Properties usually defined in build.properties, set here to avoid easy redefinition. -->
<!-- Version properties -->
- <property name="release.version" value="5.1.0"/>
+ <property name="release.version" value="6.0.0"/>
<!-- Project infrastructure properties -->
<property name="src.dir" value="src"/>
<property name="asm.classes.dir" value="${asm.build.location}"/> <!-- "." -->
@@ -102,7 +102,7 @@
</tstamp>
<property name="build.type" value="SNAPSHOT"/>
<property name="svn.revision" value="NA"/>
- <property name="version.qualifier" value="v201605131250"/>
+ <property name="version.qualifier" value="v201702131300"/>
<property name="version.string" value="${release.version}.${version.qualifier}"/>
<property name="release.designation" value="EclipseLink ${release.version} Build"/>
<property name="specification.vendor" value="Eclipse.org - EclipseLink Project"/>
diff --git a/plugins/org.eclipse.persistence.asm/readme.html b/plugins/org.eclipse.persistence.asm/readme.html
index 618c5eb..3af7104 100644
--- a/plugins/org.eclipse.persistence.asm/readme.html
+++ b/plugins/org.eclipse.persistence.asm/readme.html
@@ -3,11 +3,11 @@
<HTML xmlns="http://www.w3.org/1999/xhtml">
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<TITLE>ASM 5.1.0 Readme</TITLE>
+<TITLE>ASM 6.0.0.ALPHA Readme</TITLE>
</HEAD>
<BODY>
<DIV class=Section0>
-<P style="TEXT-ALIGN: center" align=center><B>ASM 5.1.0 Read Me</B> </P>
+<P style="TEXT-ALIGN: center" align=center><B>ASM 6.0.0.ALPHA Read Me</B> </P>
<P>The <A href="http://www.eclipse.org/eclipselink">EclipseLink</A> project
includes ASM for the purpose of byte code weaving. The ASM library is
re-packaged within the source of the
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/AnnotationVisitor.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/AnnotationVisitor.java
index fbd42a6..1596a01 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/AnnotationVisitor.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/AnnotationVisitor.java
@@ -41,7 +41,7 @@
/**
* The ASM API version implemented by this visitor. 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;
@@ -56,7 +56,7 @@
*
* @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}.
*/
public AnnotationVisitor(final int api) {
this(api, null);
@@ -67,13 +67,13 @@
*
* @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 av
* the annotation visitor to which this visitor must delegate
* method calls. May be null.
*/
public AnnotationVisitor(final int api, final AnnotationVisitor av) {
- if (api != Opcodes.ASM4 && api != Opcodes.ASM5) {
+ if (api < Opcodes.ASM4 || api > Opcodes.ASM6) {
throw new IllegalArgumentException();
}
this.api = api;
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/AnnotationWriter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/AnnotationWriter.java
index 892d7ad..99c89a4 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/AnnotationWriter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/AnnotationWriter.java
@@ -104,7 +104,7 @@
*/
AnnotationWriter(final ClassWriter cw, final boolean named,
final ByteVector bv, final ByteVector parent, final int offset) {
- super(Opcodes.ASM5);
+ super(Opcodes.ASM6);
this.cw = cw;
this.named = named;
this.bv = bv;
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/ClassReader.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/ClassReader.java
index a0a4e09..d5b491f 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/ClassReader.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/ClassReader.java
@@ -42,7 +42,6 @@
* @author Eugene Kuleshov
*/
public class ClassReader {
-
/**
* True to enable signatures support.
*/
@@ -166,7 +165,7 @@
public ClassReader(final byte[] b, final int off, final int len) {
this.b = b;
// checks the class version
- if (readShort(off + 6) > Opcodes.V1_8) {
+ if (readShort(off + 6) > Opcodes.V1_9) {
throw new IllegalArgumentException();
}
// parses the constant pool
@@ -560,6 +559,7 @@
int tanns = 0;
int itanns = 0;
int innerClasses = 0;
+ int module = 0;
Attribute attributes = null;
u = getAttributes();
@@ -600,6 +600,8 @@
} else if (ANNOTATIONS
&& "RuntimeInvisibleTypeAnnotations".equals(attrName)) {
itanns = u + 8;
+ } else if ("Module".equals(attrName)) {
+ module = u + 8;
} else if ("BootstrapMethods".equals(attrName)) {
int[] bootstrapMethods = new int[readUnsignedShort(u + 8)];
for (int j = 0, v = u + 10; j < bootstrapMethods.length; j++) {
@@ -628,6 +630,11 @@
classVisitor.visitSource(sourceFile, sourceDebug);
}
+ // visits the module info
+ if (module != 0) {
+ readModule(classVisitor, context, module);
+ }
+
// visits the outer class
if (enclosingOwner != null) {
classVisitor.visitOuterClass(enclosingOwner, enclosingName,
@@ -698,6 +705,72 @@
}
/**
+ * Reads the module attribute and visit it.
+ *
+ * @param classVisitor
+ * the current class visitor
+ * @param context
+ * information about the class being parsed.
+ * @param moduleOffset
+ * the start offset of the module attribute in the class file.
+ * @return
+ */
+ private void readModule(final ClassVisitor classVisitor,
+ final Context context, int u) {
+ ModuleVisitor mv = classVisitor.visitModule();
+ if (mv == null) {
+ return;
+ }
+ char[] buffer = context.buffer;
+
+ // reads requires
+ u += 2;
+ for (int i = readUnsignedShort(u - 2); i > 0; --i) {
+ //FIXME emulate ACC_PUBLIC wrong value (0x0020)
+ String module = readUTF8(u, buffer);
+ int access = readUnsignedShort(u + 2);
+ if ((access & 0x0020) != 0) {
+ access = access & ~ 0x0020 | Opcodes.ACC_PUBLIC;
+ }
+ mv.visitRequire(module, access);
+ u += 4;
+ }
+
+ // reads exports
+ u += 2;
+ for (int i = readUnsignedShort(u - 2); i > 0; --i) {
+ String export = readUTF8(u, buffer);
+ int exportToCount = readUnsignedShort(u + 2);
+ u += 4;
+ String[] tos = null;
+ if (exportToCount != 0) {
+ tos = new String[exportToCount];
+ for (int j = 0; j < tos.length; ++j) {
+ tos[j] = readUTF8(u, buffer);
+ u += 2;
+ }
+ }
+ mv.visitExport(export, tos);
+ }
+
+ // read uses
+ u += 2;
+ for (int i = readUnsignedShort(u - 2); i > 0; --i) {
+ mv.visitUse(readClass(u, buffer));
+ u += 2;
+ }
+
+ // read provides
+ u += 2;
+ for (int i = readUnsignedShort(u - 2); i > 0; --i) {
+ mv.visitProvide(readClass(u, buffer), readClass(u + 2, buffer));
+ u += 4;
+ }
+
+ mv.visitEnd();
+ }
+
+ /**
* Reads a field and makes the given visitor visit it.
*
* @param classVisitor
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/ClassVisitor.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/ClassVisitor.java
index 7380ad3..ebb0dfe 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/ClassVisitor.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/ClassVisitor.java
@@ -43,7 +43,7 @@
/**
* The ASM API version implemented by this visitor. 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;
@@ -58,7 +58,7 @@
*
* @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}.
*/
public ClassVisitor(final int api) {
this(api, null);
@@ -69,13 +69,13 @@
*
* @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
* the class visitor to which this visitor must delegate method
* calls. May be null.
*/
public ClassVisitor(final int api, final ClassVisitor cv) {
- if (api != Opcodes.ASM4 && api != Opcodes.ASM5) {
+ if (api < Opcodes.ASM4 || api > Opcodes.ASM6) {
throw new IllegalArgumentException();
}
this.api = api;
@@ -130,6 +130,21 @@
cv.visitSource(source, debug);
}
}
+
+ /**
+ * Visit the module corresponding to the class.
+ * @return a visitor to visit the module values, or <tt>null</tt> if
+ * this visitor is not interested in visiting this module.
+ */
+ public ModuleVisitor visitModule() {
+ if (api < Opcodes.ASM6) {
+ throw new RuntimeException();
+ }
+ if (cv != null) {
+ return cv.visitModule();
+ }
+ return null;
+ }
/**
* Visits the enclosing class of the class. This method must be called only
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/ClassWriter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/ClassWriter.java
index 307dd5f..5c55a58 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/ClassWriter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/ClassWriter.java
@@ -395,6 +395,11 @@
private ByteVector sourceDebug;
/**
+ * The module attribute of this class.
+ */
+ private ModuleWriter moduleWriter;
+
+ /**
* The constant pool item that contains the name of the enclosing class of
* this class.
*/
@@ -605,7 +610,7 @@
* {@link #COMPUTE_FRAMES}.
*/
public ClassWriter(final int flags) {
- super(Opcodes.ASM5);
+ super(Opcodes.ASM6);
index = 1;
pool = new ByteVector();
items = new Item[256];
@@ -645,9 +650,9 @@
* @param flags
* option flags that can be used to modify the default behavior
* of this class. <i>These option flags do not affect methods
- * that are copied as is in the new class. This means that the
- * maximum stack size nor the stack frames will be computed for
- * these methods</i>. See {@link #COMPUTE_MAXS},
+ * that are copied as is in the new class. This means that
+ * neither the maximum stack size nor the stack frames will be
+ * computed for these methods</i>. See {@link #COMPUTE_MAXS},
* {@link #COMPUTE_FRAMES}.
*/
public ClassWriter(final ClassReader classReader, final int flags) {
@@ -693,6 +698,11 @@
}
@Override
+ public final ModuleVisitor visitModule() {
+ return moduleWriter = new ModuleWriter(this);
+ }
+
+ @Override
public final void visitOuterClass(final String owner, final String name,
final String desc) {
enclosingMethodOwner = newClass(owner);
@@ -893,6 +903,11 @@
size += 8 + itanns.getSize();
newUTF8("RuntimeInvisibleTypeAnnotations");
}
+ if (moduleWriter != null) {
+ ++attributeCount;
+ size += 6 + moduleWriter.getSize();
+ newUTF8("Module");
+ }
if (attrs != null) {
attributeCount += attrs.getCount();
size += attrs.getSize(this, null, 0, -1, -1);
@@ -940,6 +955,10 @@
out.putShort(newUTF8("SourceDebugExtension")).putInt(len);
out.putByteArray(sourceDebug.data, 0, len);
}
+ if (moduleWriter != null) {
+ out.putShort(newUTF8("Module"));
+ moduleWriter.put(out);
+ }
if (enclosingMethodOwner != 0) {
out.putShort(newUTF8("EnclosingMethod")).putInt(4);
out.putShort(enclosingMethodOwner).putShort(enclosingMethod);
@@ -981,6 +1000,7 @@
anns = null;
ianns = null;
attrs = null;
+ moduleWriter = null;
innerClassesCount = 0;
innerClasses = null;
bootstrapMethodsCount = 0;
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/FieldVisitor.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/FieldVisitor.java
index 079f71c..cf01042 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/FieldVisitor.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/FieldVisitor.java
@@ -40,7 +40,7 @@
/**
* The ASM API version implemented by this visitor. 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;
@@ -55,7 +55,7 @@
*
* @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}.
*/
public FieldVisitor(final int api) {
this(api, null);
@@ -66,13 +66,13 @@
*
* @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 fv
* the field visitor to which this visitor must delegate method
* calls. May be null.
*/
public FieldVisitor(final int api, final FieldVisitor fv) {
- if (api != Opcodes.ASM4 && api != Opcodes.ASM5) {
+ if (api < Opcodes.ASM4 || api > Opcodes.ASM6) {
throw new IllegalArgumentException();
}
this.api = api;
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/FieldWriter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/FieldWriter.java
index 5f5111e..45befeb 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/FieldWriter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/FieldWriter.java
@@ -118,7 +118,7 @@
*/
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 {
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/Label.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/Label.java
index 7bc54e2..44eddc8 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/Label.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/Label.java
@@ -29,8 +29,6 @@
*/
package org.eclipse.persistence.internal.libraries.asm;
-import org.eclipse.persistence.internal.libraries.asm.tree.MethodNode;
-
/**
* A label represents a position in the bytecode of a method. Labels are used
* for jump, goto, and switch instructions, and for try catch blocks. A label
@@ -113,7 +111,7 @@
* Field used to associate user information to a label. Warning: this field
* is used by the ASM tree package. In order to use it with the ASM tree
* package you must override the
- * {@link MethodNode#getLabelNode} method.
+ * {@link org.eclipse.persistence.internal.libraries.asm.tree.MethodNode#getLabelNode} method.
*/
public Object info;
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/MethodVisitor.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/MethodVisitor.java
index 820a7b3..8eca3d8 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/MethodVisitor.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/MethodVisitor.java
@@ -57,7 +57,7 @@
/**
* The ASM API version implemented by this visitor. 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;
@@ -72,7 +72,7 @@
*
* @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}.
*/
public MethodVisitor(final int api) {
this(api, null);
@@ -83,13 +83,13 @@
*
* @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 mv
* the method visitor to which this visitor must delegate method
* calls. May be null.
*/
public MethodVisitor(final int api, final MethodVisitor mv) {
- if (api != Opcodes.ASM4 && api != Opcodes.ASM5) {
+ if (api < Opcodes.ASM4 || api > Opcodes.ASM6) {
throw new IllegalArgumentException();
}
this.api = api;
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/MethodWriter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/MethodWriter.java
index 70b2a82..93d9543 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/MethodWriter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/MethodWriter.java
@@ -453,7 +453,7 @@
final String desc, final String signature,
final String[] exceptions, final boolean computeMaxs,
final boolean computeFrames) {
- super(Opcodes.ASM5);
+ super(Opcodes.ASM6);
if (cw.firstMethod == null) {
cw.firstMethod = this;
} else {
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/ModuleVisitor.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/ModuleVisitor.java
new file mode 100644
index 0000000..60aa89c
--- /dev/null
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/ModuleVisitor.java
@@ -0,0 +1,133 @@
+/***
+ * 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.eclipse.persistence.internal.libraries.asm;
+
+/**
+ * A visitor to visit a Java module. The methods of this class must be called in
+ * the following order: ( <tt>visitRequire</tt> | <tt>visitExport</tt> |
+ * <tt>visitUse</tt> | <tt>visitProvide</tt> )* <tt>visitEnd</tt>.
+ *
+ * @author Remi Forax
+ */
+public abstract class ModuleVisitor {
+ /**
+ * The ASM API version implemented by this visitor. The value of this field
+ * must be {@link Opcodes#ASM6}.
+ */
+ protected final int api;
+
+ /**
+ * The module visitor to which this visitor must delegate method calls. May
+ * be null.
+ */
+ protected ModuleVisitor mv;
+
+
+ public ModuleVisitor(final int api) {
+ this(api, null);
+ }
+
+ /**
+ * Constructs a new {@link MethodVisitor}.
+ *
+ * @param api
+ * the ASM API version implemented by this visitor. Must be {@link Opcodes#ASM6}.
+ * @param mv
+ * the method visitor to which this visitor must delegate method
+ * calls. May be null.
+ */
+ public ModuleVisitor(final int api, final ModuleVisitor mv) {
+ if (api != Opcodes.ASM6) {
+ throw new IllegalArgumentException();
+ }
+ this.api = api;
+ this.mv = mv;
+ }
+
+ /**
+ * Visits a dependence of the current module.
+ *
+ * @param module the module name of the dependence
+ * @param access the access flag of the dependence among
+ * ACC_PUBLIC, ACC_SYNTHETIC and ACC_MANDATED.
+ */
+ public void visitRequire(String module, int access) {
+ if (mv != null) {
+ mv.visitRequire(module, access);
+ }
+ }
+
+ /**
+ * Visit an exported package of the current module.
+ *
+ * @param packaze the name of the exported package.
+ * @param modules names of the modules that can access to
+ * the public classes of the exported package or
+ * <tt>null</tt>.
+ */
+ public void visitExport(String packaze, String... modules) {
+ if (mv != null) {
+ mv.visitExport(packaze, modules);
+ }
+ }
+
+ /**
+ * Visit a service used by the current module.
+ * The name must be the name of an interface or an
+ * abstract class.
+ *
+ * @param service the internal name of the service.
+ */
+ public void visitUse(String service) {
+ if (mv != null) {
+ mv.visitUse(service);
+ }
+ }
+
+ /**
+ * Visit an implementation of a service.
+ *
+ * @param service the internal name of the service
+ * @param impl the internal name of the implementation
+ * of the service
+ */
+ public void visitProvide(String service, String impl) {
+ if (mv != null) {
+ mv.visitProvide(service, impl);
+ }
+ }
+
+ public void visitEnd() {
+ if (mv != null) {
+ mv.visitEnd();
+ }
+ }
+}
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/ModuleWriter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/ModuleWriter.java
new file mode 100644
index 0000000..e7f9dab
--- /dev/null
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/ModuleWriter.java
@@ -0,0 +1,178 @@
+/***
+ * 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.eclipse.persistence.internal.libraries.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 corresponding Module attribute.
+ */
+ private int size;
+
+ /**
+ * 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 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
+ */
+ private ByteVector provides;
+
+ ModuleWriter(final ClassWriter cw) {
+ super(Opcodes.ASM6);
+ this.cw = cw;
+ this.size = 8;
+ }
+
+ @Override
+ public void visitRequire(String module, int access) {
+ if (requires == null) {
+ requires = new ByteVector();
+ }
+ //FIXME fix bad ACC_PUBLIC value (0x0020)
+ if ((access & Opcodes.ACC_PUBLIC) != 0) {
+ access = access & ~ Opcodes.ACC_PUBLIC | 0x0020;
+ }
+ requires.putShort(cw.newUTF8(module)).putShort(access);
+ requireCount++;
+ size += 4;
+ }
+
+ @Override
+ public void visitExport(String packaze, String... modules) {
+ if (exports == null) {
+ exports = new ByteVector();
+ }
+ exports.putShort(cw.newUTF8(packaze));
+ if (modules == null) {
+ exports.putShort(0);
+ size += 4;
+ } else {
+ exports.putShort(modules.length);
+ for(String to: modules) {
+ exports.putShort(cw.newUTF8(to));
+ }
+ size += 4 + 2 * modules.length;
+ }
+ exportCount++;
+ }
+
+ @Override
+ public void visitUse(String service) {
+ if (uses == null) {
+ uses = new ByteVector();
+ }
+ uses.putShort(cw.newClass(service));
+ useCount++;
+ size += 2;
+ }
+
+ @Override
+ public void visitProvide(String service, String impl) {
+ if (provides == null) {
+ provides = new ByteVector();
+ }
+ provides.putShort(cw.newClass(service)).putShort(cw.newClass(impl));
+ provideCount++;
+ size += 4;
+ }
+
+ @Override
+ public void visitEnd() {
+ // empty
+ }
+
+ int getSize() {
+ return size;
+ }
+
+ void put(ByteVector out) {
+ out.putInt(size);
+ out.putShort(requireCount);
+ if (requires != null) {
+ out.putByteArray(requires.data, 0, requires.length);
+ }
+ out.putShort(exportCount);
+ if (exports != null) {
+ out.putByteArray(exports.data, 0, exports.length);
+ }
+ out.putShort(useCount);
+ if (uses != null) {
+ out.putByteArray(uses.data, 0, uses.length);
+ }
+ out.putShort(provideCount);
+ if (provides != null) {
+ out.putByteArray(provides.data, 0, provides.length);
+ }
+ }
+}
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/Opcodes.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/Opcodes.java
index ce72474..e61eade 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/Opcodes.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/Opcodes.java
@@ -47,6 +47,7 @@
int ASM4 = 4 << 16 | 0 << 8 | 0;
int ASM5 = 5 << 16 | 0 << 8 | 0;
+ int ASM6 = 6 << 16 | 0 << 8 | 0;
// versions
@@ -58,6 +59,7 @@
int V1_6 = 0 << 16 | 50;
int V1_7 = 0 << 16 | 51;
int V1_8 = 0 << 16 | 52;
+ int V1_9 = 0 << 16 | 53;
// access flags
@@ -80,6 +82,7 @@
int ACC_ANNOTATION = 0x2000; // class
int ACC_ENUM = 0x4000; // class(?) field inner
int ACC_MANDATED = 0x8000; // parameter
+ int ACC_MODULE = 0x8000; // class
// ASM specific pseudo access flags
@@ -146,13 +149,17 @@
*/
int F_SAME1 = 4;
- Integer TOP = new Integer(0);
- Integer INTEGER = new Integer(1);
- Integer FLOAT = new Integer(2);
- Integer DOUBLE = new Integer(3);
- Integer LONG = new Integer(4);
- Integer NULL = new Integer(5);
- Integer UNINITIALIZED_THIS = new Integer(6);
+ // Do not try to change the following code to use auto-boxing,
+ // these values are compared by reference and not by value
+ // The constructor of Integer was deprecated in 9
+ // but we are stuck with it by backward compatibility
+ @SuppressWarnings("deprecation") Integer TOP = new Integer(0);
+ @SuppressWarnings("deprecation") Integer INTEGER = new Integer(1);
+ @SuppressWarnings("deprecation") Integer FLOAT = new Integer(2);
+ @SuppressWarnings("deprecation") Integer DOUBLE = new Integer(3);
+ @SuppressWarnings("deprecation") Integer LONG = new Integer(4);
+ @SuppressWarnings("deprecation") Integer NULL = new Integer(5);
+ @SuppressWarnings("deprecation") Integer UNINITIALIZED_THIS = new Integer(6);
// opcodes // visit method (- = idem)
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/Type.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/Type.java
index 1c6e855..4690212 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/Type.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/Type.java
@@ -377,7 +377,16 @@
*/
public static Type getReturnType(final String methodDescriptor) {
char[] buf = methodDescriptor.toCharArray();
- return getType(buf, methodDescriptor.indexOf(')') + 1);
+ int off = 1;
+ while (true) {
+ char car = buf[off++];
+ if (car == ')') {
+ return getType(buf, off);
+ } else if (car == 'L') {
+ while (buf[off++] != ';') {
+ }
+ }
+ }
}
/**
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/attrs/package.html b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/attrs/package.html
deleted file mode 100644
index 28d827d..0000000
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/attrs/package.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<html>
-<!--
- * 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.
--->
-<body>
-Provides an implementation for optional class, field and method attributes.
-
-<p>
-
-By default ASM strips optional attributes, in order to keep them in
-the bytecode that is being readed you should pass an array of required attribute
-instances to {@link org.objectweb.asm.ClassReader#accept(org.objectweb.asm.ClassVisitor, org.objectweb.asm.Attribute[], boolean) ClassReader.accept()} method.
-In order to add custom attributes to the manually constructed bytecode concrete
-subclasses of the {@link org.objectweb.asm.Attribute Attribute} can be passed to
-the visitAttribute methods of the
-{@link org.objectweb.asm.ClassVisitor ClassVisitor},
-{@link org.objectweb.asm.FieldVisitor FieldVisitor} and
-{@link org.objectweb.asm.MethodVisitor MethodVisitor} interfaces.
-
-@since ASM 1.4.1
-</body>
-</html>
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/AdviceAdapter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/AdviceAdapter.java
index c1d731d..0c721aa 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/AdviceAdapter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/AdviceAdapter.java
@@ -41,7 +41,7 @@
import org.eclipse.persistence.internal.libraries.asm.Type;
/**
- * A {@link MethodVisitor} to insert before, after and around
+ * A {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor} to insert before, after and around
* advices in methods and constructors.
* <p>
* The behavior for constructors is like this:
@@ -83,7 +83,7 @@
*
* @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 mv
* the method visitor to which this adapter delegates calls.
* @param access
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/AnalyzerAdapter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/AnalyzerAdapter.java
index 1ccbb7a..f7b2139 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/AnalyzerAdapter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/AnalyzerAdapter.java
@@ -34,18 +34,17 @@
import java.util.List;
import java.util.Map;
-import org.eclipse.persistence.internal.libraries.asm.ClassReader;
import org.eclipse.persistence.internal.libraries.asm.Handle;
-import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.Label;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
+import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.Type;
/**
* A {@link MethodVisitor} that keeps track of stack map frame changes between
* {@link #visitFrame(int, int, Object[], int, Object[]) visitFrame} calls. This
* adapter must be used with the
- * {@link ClassReader#EXPAND_FRAMES} option. Each
+ * {@link org.eclipse.persistence.internal.libraries.asm.ClassReader#EXPAND_FRAMES} option. Each
* visit<i>X</i> instruction delegates to the next visitor in the chain, if any,
* and then simulates the effect of this instruction on the stack map frame,
* represented by {@link #locals} and {@link #stack}. The next visitor in the
@@ -142,7 +141,7 @@
*/
public AnalyzerAdapter(final String owner, final int access,
final String name, final String desc, final MethodVisitor mv) {
- this(Opcodes.ASM5, owner, access, name, desc, mv);
+ this(Opcodes.ASM6, owner, access, name, desc, mv);
if (getClass() != AnalyzerAdapter.class) {
throw new IllegalStateException();
}
@@ -153,7 +152,7 @@
*
* @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 owner
* the owner's class name.
* @param access
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/AnnotationRemapper.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/AnnotationRemapper.java
index 5f08258..7c0afc4 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/AnnotationRemapper.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/AnnotationRemapper.java
@@ -44,7 +44,7 @@
public AnnotationRemapper(final AnnotationVisitor av,
final Remapper remapper) {
- this(Opcodes.ASM5, av, remapper);
+ this(Opcodes.ASM6, av, remapper);
}
protected AnnotationRemapper(final int api, final AnnotationVisitor av,
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/ClassRemapper.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/ClassRemapper.java
index 403a4b6..d175a7d 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/ClassRemapper.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/ClassRemapper.java
@@ -32,10 +32,11 @@
import org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor;
import org.eclipse.persistence.internal.libraries.asm.ClassVisitor;
-import org.eclipse.persistence.internal.libraries.asm.Opcodes;
-import org.eclipse.persistence.internal.libraries.asm.TypePath;
import org.eclipse.persistence.internal.libraries.asm.FieldVisitor;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
+import org.eclipse.persistence.internal.libraries.asm.ModuleVisitor;
+import org.eclipse.persistence.internal.libraries.asm.Opcodes;
+import org.eclipse.persistence.internal.libraries.asm.TypePath;
/**
* A {@link ClassVisitor} for type remapping.
@@ -49,7 +50,7 @@
protected String className;
public ClassRemapper(final ClassVisitor cv, final Remapper remapper) {
- this(Opcodes.ASM5, cv, remapper);
+ this(Opcodes.ASM6, cv, remapper);
}
protected ClassRemapper(final int api, final ClassVisitor cv,
@@ -68,6 +69,12 @@
}
@Override
+ public ModuleVisitor visitModule() {
+ ModuleVisitor mv = super.visitModule();
+ return mv == null ? null: createModuleRemapper(mv);
+ }
+
+ @Override
public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
AnnotationVisitor av = super.visitAnnotation(remapper.mapDesc(desc),
visible);
@@ -76,7 +83,7 @@
@Override
public AnnotationVisitor visitTypeAnnotation(int typeRef,
- TypePath typePath, String desc, boolean visible) {
+ TypePath typePath, String desc, boolean visible) {
AnnotationVisitor av = super.visitTypeAnnotation(typeRef, typePath,
remapper.mapDesc(desc), visible);
return av == null ? null : createAnnotationRemapper(av);
@@ -129,4 +136,8 @@
protected AnnotationVisitor createAnnotationRemapper(AnnotationVisitor av) {
return new AnnotationRemapper(av, remapper);
}
+
+ protected ModuleVisitor createModuleRemapper(ModuleVisitor mv) {
+ return new ModuleRemapper(mv, remapper);
+ }
}
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/CodeSizeEvaluator.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/CodeSizeEvaluator.java
index 08295b2..bd3f07f 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/CodeSizeEvaluator.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/CodeSizeEvaluator.java
@@ -30,9 +30,9 @@
package org.eclipse.persistence.internal.libraries.asm.commons;
import org.eclipse.persistence.internal.libraries.asm.Handle;
-import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.Label;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
+import org.eclipse.persistence.internal.libraries.asm.Opcodes;
/**
* A {@link MethodVisitor} that can be used to approximate method size.
@@ -46,7 +46,7 @@
private int maxSize;
public CodeSizeEvaluator(final MethodVisitor mv) {
- this(Opcodes.ASM5, mv);
+ this(Opcodes.ASM6, mv);
}
protected CodeSizeEvaluator(final int api, final MethodVisitor mv) {
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/FieldRemapper.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/FieldRemapper.java
index a1e859e..7174f0d 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/FieldRemapper.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/FieldRemapper.java
@@ -31,9 +31,9 @@
package org.eclipse.persistence.internal.libraries.asm.commons;
import org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor;
+import org.eclipse.persistence.internal.libraries.asm.FieldVisitor;
import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.TypePath;
-import org.eclipse.persistence.internal.libraries.asm.FieldVisitor;
/**
* A {@link FieldVisitor} adapter for type remapping.
@@ -45,7 +45,7 @@
private final Remapper remapper;
public FieldRemapper(final FieldVisitor fv, final Remapper remapper) {
- this(Opcodes.ASM5, fv, remapper);
+ this(Opcodes.ASM6, fv, remapper);
}
protected FieldRemapper(final int api, final FieldVisitor fv,
@@ -63,7 +63,7 @@
@Override
public AnnotationVisitor visitTypeAnnotation(int typeRef,
- TypePath typePath, String desc, boolean visible) {
+ TypePath typePath, String desc, boolean visible) {
AnnotationVisitor av = super.visitTypeAnnotation(typeRef, typePath,
remapper.mapDesc(desc), visible);
return av == null ? null : new AnnotationRemapper(av, remapper);
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/GeneratorAdapter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/GeneratorAdapter.java
index 1498873..74067f0 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/GeneratorAdapter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/GeneratorAdapter.java
@@ -41,7 +41,7 @@
import org.eclipse.persistence.internal.libraries.asm.Type;
/**
- * A {@link MethodVisitor} with convenient methods to generate
+ * A {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor} with convenient methods to generate
* code. For example, using this adapter, the class below
*
* <pre>
@@ -260,7 +260,7 @@
*/
public GeneratorAdapter(final MethodVisitor mv, final int access,
final String name, final String desc) {
- this(Opcodes.ASM5, mv, access, name, desc);
+ this(Opcodes.ASM6, mv, access, name, desc);
if (getClass() != GeneratorAdapter.class) {
throw new IllegalStateException();
}
@@ -271,7 +271,7 @@
*
* @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 mv
* the method visitor to which this adapter delegates calls.
* @param access
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/InstructionAdapter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/InstructionAdapter.java
index 8b540e2..ba5a081 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/InstructionAdapter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/InstructionAdapter.java
@@ -57,7 +57,7 @@
* If a subclass calls this constructor.
*/
public InstructionAdapter(final MethodVisitor mv) {
- this(Opcodes.ASM5, mv);
+ this(Opcodes.ASM6, mv);
if (getClass() != InstructionAdapter.class) {
throw new IllegalStateException();
}
@@ -68,7 +68,7 @@
*
* @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 mv
* the method visitor to which this adapter delegates calls.
*/
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/JSRInlinerAdapter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/JSRInlinerAdapter.java
index 9ac0a29..87e1b45 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/JSRInlinerAdapter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/JSRInlinerAdapter.java
@@ -39,9 +39,9 @@
import java.util.Map;
import java.util.Set;
-import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.Label;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
+import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.Type;
import org.eclipse.persistence.internal.libraries.asm.tree.AbstractInsnNode;
import org.eclipse.persistence.internal.libraries.asm.tree.InsnList;
@@ -55,7 +55,7 @@
import org.eclipse.persistence.internal.libraries.asm.tree.TryCatchBlockNode;
/**
- * A {@link MethodVisitor} that removes JSR instructions and
+ * A {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor} that removes JSR instructions and
* inlines the referenced subroutines.
*
* <b>Explanation of how it works</b> TODO
@@ -113,7 +113,7 @@
public JSRInlinerAdapter(final MethodVisitor mv, final int access,
final String name, final String desc, final String signature,
final String[] exceptions) {
- this(Opcodes.ASM5, mv, access, name, desc, signature, exceptions);
+ this(Opcodes.ASM6, mv, access, name, desc, signature, exceptions);
if (getClass() != JSRInlinerAdapter.class) {
throw new IllegalStateException();
}
@@ -124,7 +124,7 @@
*
* @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 mv
* the <code>MethodVisitor</code> to send the resulting inlined
* method code to (use <code>null</code> for none).
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/LocalVariablesSorter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/LocalVariablesSorter.java
index 1d924d1..139056d 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/LocalVariablesSorter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/LocalVariablesSorter.java
@@ -91,7 +91,7 @@
*/
public LocalVariablesSorter(final int access, final String desc,
final MethodVisitor mv) {
- this(Opcodes.ASM5, access, desc, mv);
+ this(Opcodes.ASM6, access, desc, mv);
if (getClass() != LocalVariablesSorter.class) {
throw new IllegalStateException();
}
@@ -102,7 +102,7 @@
*
* @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 access
* access flags of the adapted method.
* @param desc
@@ -175,8 +175,8 @@
@Override
public AnnotationVisitor visitLocalVariableAnnotation(int typeRef,
- TypePath typePath, Label[] start, Label[] end, int[] index,
- String desc, boolean visible) {
+ TypePath typePath, Label[] start, Label[] end, int[] index,
+ String desc, boolean visible) {
Type t = Type.getType(desc);
int[] newIndex = new int[index.length];
for (int i = 0; i < newIndex.length; ++i) {
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/MethodRemapper.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/MethodRemapper.java
index 6225750..3747499 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/MethodRemapper.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/MethodRemapper.java
@@ -47,7 +47,7 @@
protected final Remapper remapper;
public MethodRemapper(final MethodVisitor mv, final Remapper remapper) {
- this(Opcodes.ASM5, mv, remapper);
+ this(Opcodes.ASM6, mv, remapper);
}
protected MethodRemapper(final int api, final MethodVisitor mv,
@@ -71,7 +71,7 @@
@Override
public AnnotationVisitor visitTypeAnnotation(int typeRef,
- TypePath typePath, String desc, boolean visible) {
+ TypePath typePath, String desc, boolean visible) {
AnnotationVisitor av = super.visitTypeAnnotation(typeRef, typePath,
remapper.mapDesc(desc), visible);
return av == null ? av : new AnnotationRemapper(av, remapper);
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/ModuleRemapper.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/ModuleRemapper.java
new file mode 100644
index 0000000..b0d68c3
--- /dev/null
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/ModuleRemapper.java
@@ -0,0 +1,80 @@
+/***
+ * 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.eclipse.persistence.internal.libraries.asm.commons;
+
+import org.eclipse.persistence.internal.libraries.asm.ModuleVisitor;
+import org.eclipse.persistence.internal.libraries.asm.Opcodes;
+
+/**
+ * A {@link ModuleVisitor} adapter for type remapping.
+ *
+ * @author Remi Forax
+ */
+public class ModuleRemapper extends ModuleVisitor {
+ private final Remapper remapper;
+
+ public ModuleRemapper(final ModuleVisitor mv, final Remapper remapper) {
+ this(Opcodes.ASM6, mv, remapper);
+ }
+
+ protected ModuleRemapper(final int api, final ModuleVisitor mv,
+ final Remapper remapper) {
+ super(api, mv);
+ this.remapper = remapper;
+ }
+
+ @Override
+ public void visitRequire(String module, int access) {
+ super.visitRequire(remapper.mapModuleName(module), access);
+ }
+
+ @Override
+ public void visitExport(String packaze, String... modules) {
+ String[] newTos = null;
+ if (modules != null) {
+ newTos = new String[modules.length];
+ for(int i = 0 ; i < modules.length; i++) {
+ newTos[i] = remapper.mapModuleName(modules[i]);
+ }
+ }
+ super.visitExport(remapper.mapPackageName(packaze), newTos);
+ }
+
+ @Override
+ public void visitUse(String service) {
+ super.visitUse(remapper.mapType(service));
+ }
+
+ @Override
+ public void visitProvide(String service, String impl) {
+ super.visitProvide(remapper.mapType(service), remapper.mapType(impl));
+ }
+}
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/Remapper.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/Remapper.java
index d080e87..ec3dded 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/Remapper.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/Remapper.java
@@ -30,9 +30,9 @@
package org.eclipse.persistence.internal.libraries.asm.commons;
-import org.eclipse.persistence.internal.libraries.asm.signature.SignatureReader;
import org.eclipse.persistence.internal.libraries.asm.Handle;
import org.eclipse.persistence.internal.libraries.asm.Type;
+import org.eclipse.persistence.internal.libraries.asm.signature.SignatureReader;
import org.eclipse.persistence.internal.libraries.asm.signature.SignatureVisitor;
import org.eclipse.persistence.internal.libraries.asm.signature.SignatureWriter;
@@ -226,6 +226,28 @@
}
/**
+ * Map package name to the new name. Subclasses can override.
+ *
+ * @param name name of the package
+ * @return new name of the package
+ */
+ public String mapPackageName(String name) {
+ String fakeName = map(name + ".FakeClassName");
+ int index;
+ return fakeName == null || (index = fakeName.lastIndexOf('.')) == -1 ? name: fakeName.substring(0, index);
+ }
+
+ /**
+ * Map module name to the new name. Subclasses can override.
+ *
+ * @param name name of the module
+ * @return new name of the module
+ */
+ public String mapModuleName(String name) {
+ return name;
+ }
+
+ /**
* Map type name to the new name. Subclasses can override.
*
* @param typeName
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/RemappingAnnotationAdapter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/RemappingAnnotationAdapter.java
index 3dc460d..832f42d 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/RemappingAnnotationAdapter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/RemappingAnnotationAdapter.java
@@ -46,7 +46,7 @@
public RemappingAnnotationAdapter(final AnnotationVisitor av,
final Remapper remapper) {
- this(Opcodes.ASM5, av, remapper);
+ this(Opcodes.ASM6, av, remapper);
}
protected RemappingAnnotationAdapter(final int api,
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/RemappingClassAdapter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/RemappingClassAdapter.java
index d9564e2..95bc01a 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/RemappingClassAdapter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/RemappingClassAdapter.java
@@ -34,6 +34,7 @@
import org.eclipse.persistence.internal.libraries.asm.ClassVisitor;
import org.eclipse.persistence.internal.libraries.asm.FieldVisitor;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
+import org.eclipse.persistence.internal.libraries.asm.ModuleVisitor;
import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.TypePath;
@@ -51,7 +52,7 @@
protected String className;
public RemappingClassAdapter(final ClassVisitor cv, final Remapper remapper) {
- this(Opcodes.ASM5, cv, remapper);
+ this(Opcodes.ASM6, cv, remapper);
}
protected RemappingClassAdapter(final int api, final ClassVisitor cv,
@@ -70,6 +71,11 @@
}
@Override
+ public ModuleVisitor visitModule() {
+ throw new RuntimeException("RemappingClassAdapter is deprecated, use ClassRemapper instead");
+ }
+
+ @Override
public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
AnnotationVisitor av = super.visitAnnotation(remapper.mapDesc(desc),
visible);
@@ -78,7 +84,7 @@
@Override
public AnnotationVisitor visitTypeAnnotation(int typeRef,
- TypePath typePath, String desc, boolean visible) {
+ TypePath typePath, String desc, boolean visible) {
AnnotationVisitor av = super.visitTypeAnnotation(typeRef, typePath,
remapper.mapDesc(desc), visible);
return av == null ? null : createRemappingAnnotationAdapter(av);
@@ -86,7 +92,7 @@
@Override
public FieldVisitor visitField(int access, String name, String desc,
- String signature, Object value) {
+ String signature, Object value) {
FieldVisitor fv = super.visitField(access,
remapper.mapFieldName(className, name, desc),
remapper.mapDesc(desc), remapper.mapSignature(signature, true),
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/RemappingFieldAdapter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/RemappingFieldAdapter.java
index bc41a3b..4e7185a 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/RemappingFieldAdapter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/RemappingFieldAdapter.java
@@ -31,9 +31,9 @@
package org.eclipse.persistence.internal.libraries.asm.commons;
import org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor;
+import org.eclipse.persistence.internal.libraries.asm.FieldVisitor;
import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.TypePath;
-import org.eclipse.persistence.internal.libraries.asm.FieldVisitor;
/**
* A {@link FieldVisitor} adapter for type remapping.
@@ -47,7 +47,7 @@
private final Remapper remapper;
public RemappingFieldAdapter(final FieldVisitor fv, final Remapper remapper) {
- this(Opcodes.ASM5, fv, remapper);
+ this(Opcodes.ASM6, fv, remapper);
}
protected RemappingFieldAdapter(final int api, final FieldVisitor fv,
@@ -65,7 +65,7 @@
@Override
public AnnotationVisitor visitTypeAnnotation(int typeRef,
- TypePath typePath, String desc, boolean visible) {
+ TypePath typePath, String desc, boolean visible) {
AnnotationVisitor av = super.visitTypeAnnotation(typeRef, typePath,
remapper.mapDesc(desc), visible);
return av == null ? null : new RemappingAnnotationAdapter(av, remapper);
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/RemappingMethodAdapter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/RemappingMethodAdapter.java
index 8f90e24..ba6c3f0 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/RemappingMethodAdapter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/RemappingMethodAdapter.java
@@ -50,7 +50,7 @@
public RemappingMethodAdapter(final int access, final String desc,
final MethodVisitor mv, final Remapper remapper) {
- this(Opcodes.ASM5, access, desc, mv, remapper);
+ this(Opcodes.ASM6, access, desc, mv, remapper);
}
protected RemappingMethodAdapter(final int api, final int access,
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/RemappingSignatureAdapter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/RemappingSignatureAdapter.java
index c7d196c..39d00dd 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/RemappingSignatureAdapter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/RemappingSignatureAdapter.java
@@ -50,7 +50,7 @@
public RemappingSignatureAdapter(final SignatureVisitor v,
final Remapper remapper) {
- this(Opcodes.ASM5, v, remapper);
+ this(Opcodes.ASM6, v, remapper);
}
protected RemappingSignatureAdapter(final int api,
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/SerialVersionUIDAdder.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/SerialVersionUIDAdder.java
index e5c7251..4674da8 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/SerialVersionUIDAdder.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/SerialVersionUIDAdder.java
@@ -39,9 +39,9 @@
import java.util.Collection;
import org.eclipse.persistence.internal.libraries.asm.ClassVisitor;
-import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.FieldVisitor;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
+import org.eclipse.persistence.internal.libraries.asm.Opcodes;
/**
* A {@link ClassVisitor} that adds a serial version unique identifier to a
@@ -170,7 +170,7 @@
* 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 @@
*
* @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.
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/SignatureRemapper.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/SignatureRemapper.java
index 693e3a1..e8e607b 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/SignatureRemapper.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/SignatureRemapper.java
@@ -49,7 +49,7 @@
private Stack<String> classNames = new Stack<String>();
public SignatureRemapper(final SignatureVisitor v, final Remapper remapper) {
- this(Opcodes.ASM5, v, remapper);
+ this(Opcodes.ASM6, v, remapper);
}
protected SignatureRemapper(final int api, final SignatureVisitor v,
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/StaticInitMerger.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/StaticInitMerger.java
index cfd7062..b61f294 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/StaticInitMerger.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/StaticInitMerger.java
@@ -29,9 +29,9 @@
*/
package org.eclipse.persistence.internal.libraries.asm.commons;
-import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.ClassVisitor;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
+import org.eclipse.persistence.internal.libraries.asm.Opcodes;
/**
* A {@link ClassVisitor} that merges clinit methods into a single one.
@@ -49,7 +49,7 @@
private int counter;
public StaticInitMerger(final String prefix, final ClassVisitor cv) {
- this(Opcodes.ASM5, prefix, cv);
+ this(Opcodes.ASM6, prefix, cv);
}
protected StaticInitMerger(final int api, final String prefix,
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/TryCatchBlockSorter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/TryCatchBlockSorter.java
index 9623205..f804873 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/TryCatchBlockSorter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/commons/TryCatchBlockSorter.java
@@ -33,10 +33,10 @@
import java.util.Collections;
import java.util.Comparator;
+import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.tree.MethodNode;
import org.eclipse.persistence.internal.libraries.asm.tree.TryCatchBlockNode;
-import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
/**
* A {@link MethodVisitor} adapter to sort the exception handlers. The handlers
@@ -57,7 +57,7 @@
public TryCatchBlockSorter(final MethodVisitor mv, final int access,
final String name, final String desc, final String signature,
final String[] exceptions) {
- this(Opcodes.ASM5, mv, access, name, desc, signature, exceptions);
+ this(Opcodes.ASM6, mv, access, name, desc, signature, exceptions);
}
protected TryCatchBlockSorter(final int api, final MethodVisitor mv,
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/AnnotationConstantsCollector.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/AnnotationConstantsCollector.java
index 902e7b8..90aedf9 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/AnnotationConstantsCollector.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/AnnotationConstantsCollector.java
@@ -45,7 +45,7 @@
public AnnotationConstantsCollector(final AnnotationVisitor av,
final ConstantPool cp) {
- super(Opcodes.ASM5, av);
+ super(Opcodes.ASM6, av);
this.cp = cp;
}
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/ClassConstantsCollector.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/ClassConstantsCollector.java
index 596899e..5282773 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/ClassConstantsCollector.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/ClassConstantsCollector.java
@@ -31,11 +31,12 @@
import org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor;
import org.eclipse.persistence.internal.libraries.asm.Attribute;
-import org.eclipse.persistence.internal.libraries.asm.Opcodes;
-import org.eclipse.persistence.internal.libraries.asm.TypePath;
import org.eclipse.persistence.internal.libraries.asm.ClassVisitor;
import org.eclipse.persistence.internal.libraries.asm.FieldVisitor;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
+import org.eclipse.persistence.internal.libraries.asm.ModuleVisitor;
+import org.eclipse.persistence.internal.libraries.asm.Opcodes;
+import org.eclipse.persistence.internal.libraries.asm.TypePath;
/**
* A {@link ClassVisitor} that collects the {@link Constant}s of the classes it
@@ -48,7 +49,7 @@
private final ConstantPool cp;
public ClassConstantsCollector(final ClassVisitor cv, final ConstantPool cp) {
- super(Opcodes.ASM5, cv);
+ super(Opcodes.ASM6, cv);
this.cp = cp;
}
@@ -91,6 +92,12 @@
}
@Override
+ public ModuleVisitor visitModule() {
+ cp.newUTF8("Module");
+ return new ModuleConstantsCollector(cv.visitModule(), cp);
+ }
+
+ @Override
public void visitOuterClass(final String owner, final String name,
final String desc) {
cp.newUTF8("EnclosingMethod");
@@ -103,7 +110,7 @@
@Override
public AnnotationVisitor visitAnnotation(final String desc,
- final boolean visible) {
+ final boolean visible) {
cp.newUTF8(desc);
if (visible) {
cp.newUTF8("RuntimeVisibleAnnotations");
@@ -116,7 +123,7 @@
@Override
public AnnotationVisitor visitTypeAnnotation(int typeRef,
- TypePath typePath, String desc, boolean visible) {
+ TypePath typePath, String desc, boolean visible) {
cp.newUTF8(desc);
if (visible) {
cp.newUTF8("RuntimeVisibleTypeAnnotations");
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/ClassOptimizer.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/ClassOptimizer.java
index f271323..2caca10 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/ClassOptimizer.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/ClassOptimizer.java
@@ -34,13 +34,13 @@
import org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor;
import org.eclipse.persistence.internal.libraries.asm.Attribute;
-import org.eclipse.persistence.internal.libraries.asm.Opcodes;
-import org.eclipse.persistence.internal.libraries.asm.TypePath;
-import org.eclipse.persistence.internal.libraries.asm.commons.Remapper;
import org.eclipse.persistence.internal.libraries.asm.ClassVisitor;
import org.eclipse.persistence.internal.libraries.asm.FieldVisitor;
import org.eclipse.persistence.internal.libraries.asm.Label;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
+import org.eclipse.persistence.internal.libraries.asm.Opcodes;
+import org.eclipse.persistence.internal.libraries.asm.TypePath;
+import org.eclipse.persistence.internal.libraries.asm.commons.Remapper;
import org.eclipse.persistence.internal.libraries.asm.commons.ClassRemapper;
/**
@@ -60,7 +60,7 @@
List<String> syntheticClassFields = new ArrayList<String>();
public ClassOptimizer(final ClassVisitor cv, final Remapper remapper) {
- super(Opcodes.ASM5, cv, remapper);
+ super(Opcodes.ASM6, cv, remapper);
}
FieldVisitor syntheticFieldVisitor(final int access, final String name,
@@ -100,14 +100,14 @@
@Override
public AnnotationVisitor visitAnnotation(final String desc,
- final boolean visible) {
+ final boolean visible) {
// remove annotations
return null;
}
@Override
public AnnotationVisitor visitTypeAnnotation(int typeRef,
- TypePath typePath, String desc, boolean visible) {
+ TypePath typePath, String desc, boolean visible) {
// remove annotations
return null;
}
@@ -161,7 +161,7 @@
hasClinitMethod = true;
MethodVisitor mv = super.visitMethod(access, name, desc, null,
exceptions);
- return new MethodVisitor(Opcodes.ASM5, mv) {
+ return new MethodVisitor(Opcodes.ASM6, mv) {
@Override
public void visitCode() {
super.visitCode();
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/FieldConstantsCollector.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/FieldConstantsCollector.java
index 0692076..2a2b867 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/FieldConstantsCollector.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/FieldConstantsCollector.java
@@ -31,9 +31,9 @@
import org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor;
import org.eclipse.persistence.internal.libraries.asm.Attribute;
+import org.eclipse.persistence.internal.libraries.asm.FieldVisitor;
import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.TypePath;
-import org.eclipse.persistence.internal.libraries.asm.FieldVisitor;
/**
* A {@link FieldVisitor} that collects the {@link Constant}s of the fields it
@@ -46,13 +46,13 @@
private final ConstantPool cp;
public FieldConstantsCollector(final FieldVisitor fv, final ConstantPool cp) {
- super(Opcodes.ASM5, fv);
+ super(Opcodes.ASM6, fv);
this.cp = cp;
}
@Override
public AnnotationVisitor visitAnnotation(final String desc,
- final boolean visible) {
+ final boolean visible) {
cp.newUTF8(desc);
if (visible) {
cp.newUTF8("RuntimeVisibleAnnotations");
@@ -65,7 +65,7 @@
@Override
public AnnotationVisitor visitTypeAnnotation(int typeRef,
- TypePath typePath, String desc, boolean visible) {
+ TypePath typePath, String desc, boolean visible) {
cp.newUTF8(desc);
if (visible) {
cp.newUTF8("RuntimeVisibleTypeAnnotations");
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/JarOptimizer.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/JarOptimizer.java
index 51faed3..e08139e 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/JarOptimizer.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/JarOptimizer.java
@@ -49,9 +49,9 @@
import org.eclipse.persistence.internal.libraries.asm.ClassReader;
import org.eclipse.persistence.internal.libraries.asm.ClassVisitor;
-import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.FieldVisitor;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
+import org.eclipse.persistence.internal.libraries.asm.Opcodes;
/**
* A Jar file optimizer.
@@ -146,7 +146,7 @@
String owner;
public ClassDump() {
- super(Opcodes.ASM5);
+ super(Opcodes.ASM6);
}
@Override
@@ -186,7 +186,7 @@
String method;
public ClassVerifier() {
- super(Opcodes.ASM5);
+ super(Opcodes.ASM6);
}
@Override
@@ -201,7 +201,7 @@
final String desc, final String signature,
final String[] exceptions) {
method = name + desc;
- return new MethodVisitor(Opcodes.ASM5) {
+ return new MethodVisitor(Opcodes.ASM6) {
@Override
public void visitFieldInsn(final int opcode,
final String owner, final String name, final String desc) {
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/MethodConstantsCollector.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/MethodConstantsCollector.java
index 2f592c2..ec47bd2 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/MethodConstantsCollector.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/MethodConstantsCollector.java
@@ -31,10 +31,10 @@
import org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor;
import org.eclipse.persistence.internal.libraries.asm.Handle;
-import org.eclipse.persistence.internal.libraries.asm.Opcodes;
-import org.eclipse.persistence.internal.libraries.asm.TypePath;
import org.eclipse.persistence.internal.libraries.asm.Label;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
+import org.eclipse.persistence.internal.libraries.asm.Opcodes;
+import org.eclipse.persistence.internal.libraries.asm.TypePath;
/**
* An {@link MethodVisitor} that collects the {@link Constant}s of the methods
@@ -48,7 +48,7 @@
public MethodConstantsCollector(final MethodVisitor mv,
final ConstantPool cp) {
- super(Opcodes.ASM5, mv);
+ super(Opcodes.ASM6, mv);
this.cp = cp;
}
@@ -82,7 +82,7 @@
@Override
public AnnotationVisitor visitTypeAnnotation(int typeRef,
- TypePath typePath, String desc, boolean visible) {
+ TypePath typePath, String desc, boolean visible) {
cp.newUTF8(desc);
if (visible) {
cp.newUTF8("RuntimeVisibleTypeAnnotations");
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/MethodOptimizer.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/MethodOptimizer.java
index 97b8bdd..051ea3d 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/MethodOptimizer.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/MethodOptimizer.java
@@ -33,13 +33,13 @@
import org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor;
import org.eclipse.persistence.internal.libraries.asm.Attribute;
-import org.eclipse.persistence.internal.libraries.asm.Opcodes;
-import org.eclipse.persistence.internal.libraries.asm.TypePath;
-import org.eclipse.persistence.internal.libraries.asm.commons.Remapper;
import org.eclipse.persistence.internal.libraries.asm.FieldVisitor;
import org.eclipse.persistence.internal.libraries.asm.Label;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
+import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.Type;
+import org.eclipse.persistence.internal.libraries.asm.TypePath;
+import org.eclipse.persistence.internal.libraries.asm.commons.Remapper;
import org.eclipse.persistence.internal.libraries.asm.commons.MethodRemapper;
/**
@@ -54,7 +54,7 @@
public MethodOptimizer(ClassOptimizer classOptimizer, MethodVisitor mv,
Remapper remapper) {
- super(Opcodes.ASM5, mv, remapper);
+ super(Opcodes.ASM6, mv, remapper);
this.classOptimizer = classOptimizer;
}
@@ -81,7 +81,7 @@
@Override
public AnnotationVisitor visitTypeAnnotation(int typeRef,
- TypePath typePath, String desc, boolean visible) {
+ TypePath typePath, String desc, boolean visible) {
return null;
}
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/ModuleConstantsCollector.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/ModuleConstantsCollector.java
new file mode 100644
index 0000000..7eba191
--- /dev/null
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/ModuleConstantsCollector.java
@@ -0,0 +1,84 @@
+/***
+ * 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.eclipse.persistence.internal.libraries.asm.optimizer;
+
+import org.eclipse.persistence.internal.libraries.asm.ModuleVisitor;
+import org.eclipse.persistence.internal.libraries.asm.Opcodes;
+
+/**
+ * A {@link ModuleVisitor} that collects the {@link Constant}s of the
+ * module declaration it visits.
+ *
+ * @author Remi Forax
+ */
+public class ModuleConstantsCollector extends ModuleVisitor {
+
+ private final ConstantPool cp;
+
+ public ModuleConstantsCollector(final ModuleVisitor mv, final ConstantPool cp) {
+ super(Opcodes.ASM6, mv);
+ this.cp = cp;
+ }
+
+ @Override
+ public void visitRequire(String module, int access) {
+ cp.newUTF8(module);
+ mv.visitRequire(module, access);
+ }
+
+ @Override
+ public void visitExport(String packaze, String... modules) {
+ cp.newUTF8(packaze);
+ if (modules != null && modules.length > 0) {
+ for(String to: modules) {
+ cp.newUTF8(to);
+ }
+ }
+ mv.visitExport(packaze, modules);
+ }
+
+ @Override
+ public void visitUse(String service) {
+ cp.newClass(service);
+ mv.visitUse(service);
+ }
+
+ @Override
+ public void visitProvide(String service, String impl) {
+ cp.newClass(service);
+ cp.newClass(impl);
+ mv.visitProvide(service, impl);
+ }
+
+ @Override
+ public void visitEnd() {
+ mv.visitEnd();
+ }
+}
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/Shrinker.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/Shrinker.java
index 09c0120..f0701cc 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/Shrinker.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/Shrinker.java
@@ -46,8 +46,8 @@
import org.eclipse.persistence.internal.libraries.asm.ClassReader;
import org.eclipse.persistence.internal.libraries.asm.ClassWriter;
import org.eclipse.persistence.internal.libraries.asm.Handle;
-import org.eclipse.persistence.internal.libraries.asm.commons.Remapper;
import org.eclipse.persistence.internal.libraries.asm.Type;
+import org.eclipse.persistence.internal.libraries.asm.commons.Remapper;
import org.eclipse.persistence.internal.libraries.asm.commons.SimpleRemapper;
/**
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/shrink-annotations.properties b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/shrink-annotations.properties
index 03fec2e..5e77482 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/shrink-annotations.properties
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/shrink-annotations.properties
@@ -30,24 +30,24 @@
# class mappings
-org/objectweb/asm/AnnotationWriter/remove=true
+org/eclipse/persistence/internal/libraries/asm/AnnotationWriter/remove=true
# field mappings
-org/objectweb/asm/ClassWriter.anns=-
-org/objectweb/asm/ClassWriter.ianns=-
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.anns=-
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.ianns=-
-org/objectweb/asm/FieldWriter.anns=-
-org/objectweb/asm/FieldWriter.ianns=-
+org/eclipse/persistence/internal/libraries/asm/FieldWriter.anns=-
+org/eclipse/persistence/internal/libraries/asm/FieldWriter.ianns=-
-org/objectweb/asm/MethodWriter.annd=-
-org/objectweb/asm/MethodWriter.anns=-
-org/objectweb/asm/MethodWriter.ianns=-
-org/objectweb/asm/MethodWriter.panns=-
-org/objectweb/asm/MethodWriter.ipanns=-
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.annd=-
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.anns=-
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.ianns=-
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.panns=-
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.ipanns=-
# method mappings
-org/objectweb/asm/ClassReader.readAnnotationValue(I[CLjava/lang/String;Lorg/objectweb/asm/AnnotationVisitor;)I=-
-org/objectweb/asm/ClassReader.readAnnotationValues(I[CZLorg/objectweb/asm/AnnotationVisitor;)I=-
-org/objectweb/asm/ClassReader.readParameterAnnotations(I[CZLorg/objectweb/asm/MethodVisitor;)V=-
+org/eclipse/persistence/internal/libraries/asm/ClassReader.readAnnotationValue(I[CLjava/lang/String;Lorg/eclipse/persistence/internal/libraries/asm/AnnotationVisitor;)I=-
+org/eclipse/persistence/internal/libraries/asm/ClassReader.readAnnotationValues(I[CZLorg/eclipse/persistence/internal/libraries/asm/AnnotationVisitor;)I=-
+org/eclipse/persistence/internal/libraries/asm/ClassReader.readParameterAnnotations(I[CZLorg/eclipse/persistence/internal/libraries/asm/MethodVisitor;)V=-
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/shrink-frames.properties b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/shrink-frames.properties
index ecf580f..990de82 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/shrink-frames.properties
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/shrink-frames.properties
@@ -30,33 +30,33 @@
# class mappings
-org/objectweb/asm/Frame/remove=true
+org/eclipse/persistence/internal/libraries/asm/Frame/remove=true
# field mappings
-org/objectweb/asm/ClassWriter.typeCount=-
-org/objectweb/asm/ClassWriter.typeTable=-
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.typeCount=-
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.typeTable=-
-org/objectweb/asm/Label.frame=-
+org/eclipse/persistence/internal/libraries/asm/Label.frame=-
-org/objectweb/asm/MethodWriter.frameCount=-
-org/objectweb/asm/MethodWriter.stackMap=-
-org/objectweb/asm/MethodWriter.previousFrameOffset=-
-org/objectweb/asm/MethodWriter.previousFrame=-
-org/objectweb/asm/MethodWriter.frameIndex=-
-org/objectweb/asm/MethodWriter.frame=-
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.frameCount=-
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.stackMap=-
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.previousFrameOffset=-
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.previousFrame=-
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.frameIndex=-
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.frame=-
# method mappings
-org/objectweb/asm/ClassReader.readFrameType([Ljava/lang/Object;II[C[Lorg/objectweb/asm/Label;)I=-
+org/eclipse/persistence/internal/libraries/asm/ClassReader.readFrameType([Ljava/lang/Object;II[C[Lorg/eclipse/persistence/internal/libraries/asm/Label;)I=-
-org/objectweb/asm/ClassWriter.addType(Ljava/lang/String;)I=-
-org/objectweb/asm/ClassWriter.addUninitializedType(Ljava/lang/String;I)I=-
-org/objectweb/asm/ClassWriter.addType(Lorg/objectweb/asm/Item;)Lorg/objectweb/asm/Item;=-
-org/objectweb/asm/ClassWriter.getMergedType(II)I=-
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.addType(Ljava/lang/String;)I=-
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.addUninitializedType(Ljava/lang/String;I)I=-
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.addType(Lorg/eclipse/persistence/internal/libraries/asm/Item;)Lorg/eclipse/persistence/internal/libraries/asm/Item;=-
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.getMergedType(II)I=-
-org/objectweb/asm/MethodWriter.startFrame(III)V=-
-org/objectweb/asm/MethodWriter.endFrame()V=-
-org/objectweb/asm/MethodWriter.writeFrame()V=-
-org/objectweb/asm/MethodWriter.writeFrameTypes(II)V=-
-org/objectweb/asm/MethodWriter.writeFrameType(Ljava/lang/Object;)V=-
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.startFrame(III)V=-
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.endFrame()V=-
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.writeFrame()V=-
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.writeFrameTypes(II)V=-
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.writeFrameType(Ljava/lang/Object;)V=-
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/shrink-resize.properties b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/shrink-resize.properties
index 97f7e34..0c65cff 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/shrink-resize.properties
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/shrink-resize.properties
@@ -34,4 +34,4 @@
# method mappings
-org/objectweb/asm/MethodWriter.resizeInstructions()V=-
\ No newline at end of file
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.resizeInstructions()V=-
\ No newline at end of file
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/shrink-signatures.properties b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/shrink-signatures.properties
index 6a48623..8f8e166 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/shrink-signatures.properties
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/shrink-signatures.properties
@@ -30,14 +30,14 @@
# class mappings
-org/objectweb/asm/signature/SignatureReader/remove=true
-org/objectweb/asm/signature/SignatureVisitor/remove=true
-org/objectweb/asm/signature/SignatureWriter/remove=true
+org/eclipse/persistence/internal/libraries/asm/signature/SignatureReader/remove=true
+org/eclipse/persistence/internal/libraries/asm/signature/SignatureVisitor/remove=true
+org/eclipse/persistence/internal/libraries/asm/signature/SignatureWriter/remove=true
# field mappings
-org/objectweb/asm/ClassWriter.signature=-
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.signature=-
-org/objectweb/asm/FieldWriter.signature=-
+org/eclipse/persistence/internal/libraries/asm/FieldWriter.signature=-
-org/objectweb/asm/MethodWriter.signature=-
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.signature=-
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/shrink-writer.properties b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/shrink-writer.properties
index 1c83ca2..40d8a25 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/shrink-writer.properties
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/shrink-writer.properties
@@ -30,37 +30,38 @@
# class mappings
-org/objectweb/asm/AnnotationWriter/remove=true
-org/objectweb/asm/ByteVector/remove=true
-org/objectweb/asm/ClassWriter/remove=true
-org/objectweb/asm/Edge/remove=true
-org/objectweb/asm/FieldWriter/remove=true
-org/objectweb/asm/Frame/remove=true
-org/objectweb/asm/Handler/remove=true
-org/objectweb/asm/Item/remove=true
-org/objectweb/asm/MethodWriter/remove=true
+org/eclipse/persistence/internal/libraries/asm/AnnotationWriter/remove=true
+org/eclipse/persistence/internal/libraries/asm/ByteVector/remove=true
+org/eclipse/persistence/internal/libraries/asm/ClassWriter/remove=true
+org/eclipse/persistence/internal/libraries/asm/Edge/remove=true
+org/eclipse/persistence/internal/libraries/asm/FieldWriter/remove=true
+org/eclipse/persistence/internal/libraries/asm/Frame/remove=true
+org/eclipse/persistence/internal/libraries/asm/Handler/remove=true
+org/eclipse/persistence/internal/libraries/asm/Item/remove=true
+org/eclipse/persistence/internal/libraries/asm/MethodWriter/remove=true
+org/eclipse/persistence/internal/libraries/asm/ModuleWriter/remove=true
# field mappings
-org/objectweb/asm/Label.position=-
-org/objectweb/asm/Label.referenceCount=-
-org/objectweb/asm/Label.srcAndRefPositions=-
-org/objectweb/asm/Label.inputStackTop=-
-org/objectweb/asm/Label.outputStackMax=-
-org/objectweb/asm/Label.frame=-
-org/objectweb/asm/Label.successor=-
-org/objectweb/asm/Label.successors=-
-org/objectweb/asm/Label.next=-
+org/eclipse/persistence/internal/libraries/asm/Label.position=-
+org/eclipse/persistence/internal/libraries/asm/Label.referenceCount=-
+org/eclipse/persistence/internal/libraries/asm/Label.srcAndRefPositions=-
+org/eclipse/persistence/internal/libraries/asm/Label.inputStackTop=-
+org/eclipse/persistence/internal/libraries/asm/Label.outputStackMax=-
+org/eclipse/persistence/internal/libraries/asm/Label.frame=-
+org/eclipse/persistence/internal/libraries/asm/Label.successor=-
+org/eclipse/persistence/internal/libraries/asm/Label.successors=-
+org/eclipse/persistence/internal/libraries/asm/Label.next=-
# method mappings
-org/objectweb/asm/ClassReader.copyPool(Lorg/objectweb/asm/ClassWriter;)V=-
+org/eclipse/persistence/internal/libraries/asm/ClassReader.copyPool(Lorg/eclipse/persistence/internal/libraries/asm/ClassWriter;)V=-
-org/objectweb/asm/Label.addReference(II)V=-
-org/objectweb/asm/Label.put(Lorg/objectweb/asm/MethodWriter;Lorg/objectweb/asm/ByteVector;IZ)V=-
-org/objectweb/asm/Label.resolve(Lorg/objectweb/asm/MethodWriter;I[B)Z=-
-org/objectweb/asm/Label.getFirst()Lorg/objectweb/asm/Label;=-
-org/objectweb/asm/Label.inSubroutine(J)Z=-
-org/objectweb/asm/Label.inSameSubroutine(Lorg/objectweb/asm/Label;)Z=-
-org/objectweb/asm/Label.addToSubroutine(JI)V=-
-org/objectweb/asm/Label.visitSubroutine(Lorg/objectweb/asm/Label;JI)V=-
+org/eclipse/persistence/internal/libraries/asm/Label.addReference(II)V=-
+org/eclipse/persistence/internal/libraries/asm/Label.put(Lorg/eclipse/persistence/internal/libraries/asm/MethodWriter;Lorg/eclipse/persistence/internal/libraries/asm/ByteVector;IZ)V=-
+org/eclipse/persistence/internal/libraries/asm/Label.resolve(Lorg/eclipse/persistence/internal/libraries/asm/MethodWriter;I[B)Z=-
+org/eclipse/persistence/internal/libraries/asm/Label.getFirst()Lorg/eclipse/persistence/internal/libraries/asm/Label;=-
+org/eclipse/persistence/internal/libraries/asm/Label.inSubroutine(J)Z=-
+org/eclipse/persistence/internal/libraries/asm/Label.inSameSubroutine(Lorg/eclipse/persistence/internal/libraries/asm/Label;)Z=-
+org/eclipse/persistence/internal/libraries/asm/Label.addToSubroutine(JI)V=-
+org/eclipse/persistence/internal/libraries/asm/Label.visitSubroutine(Lorg/eclipse/persistence/internal/libraries/asm/Label;JI)V=-
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/shrink.properties b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/shrink.properties
index f17e8c4..80ee89f 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/shrink.properties
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/optimizer/shrink.properties
@@ -30,353 +30,369 @@
# class mappings
-#org/objectweb/asm/Edge=org/objectweb/asm/a
-#org/objectweb/asm/Item=org/objectweb/asm/b
-#org/objectweb/asm/FieldWriter=org/objectweb/asm/c
-#org/objectweb/asm/MethodWriter=org/objectweb/asm/d
-#org/objectweb/asm/AnnotationWriter=org/objectweb/asm/e
-#org/objectweb/asm/Context=org/objectweb/asm/f
+#org/eclipse/persistence/internal/libraries/asm/Edge=org/objectweb/asm/a
+#org/eclipse/persistence/internal/libraries/asm/Item=org/eclipse/persistence/internal/libraries/asm/b
+#org/eclipse/persistence/internal/libraries/asm/FieldWriter=org/eclipse/persistence/internal/libraries/asm/c
+#org/eclipse/persistence/internal/libraries/asm/MethodWriter=org/eclipse/persistence/internal/libraries/asm/d
+#org/eclipse/persistence/internal/libraries/asm/AnnotationWriter=org/eclipse/persistence/internal/libraries/asm/e
+#org/eclipse/persistence/internal/libraries/asm/Context=org/eclipse/persistence/internal/libraries/asm/f
java/lang/StringBuilder=java/lang/StringBuffer
# field mappings
-org/objectweb/asm/AnnotationWriter.cw=a
-org/objectweb/asm/AnnotationWriter.size=b
-org/objectweb/asm/AnnotationWriter.named=c
-org/objectweb/asm/AnnotationWriter.bv=d
-org/objectweb/asm/AnnotationWriter.parent=e
-org/objectweb/asm/AnnotationWriter.offset=f
-org/objectweb/asm/AnnotationWriter.next=g
-org/objectweb/asm/AnnotationWriter.prev=h
+org/eclipse/persistence/internal/libraries/asm/AnnotationWriter.cw=a
+org/eclipse/persistence/internal/libraries/asm/AnnotationWriter.size=b
+org/eclipse/persistence/internal/libraries/asm/AnnotationWriter.named=c
+org/eclipse/persistence/internal/libraries/asm/AnnotationWriter.bv=d
+org/eclipse/persistence/internal/libraries/asm/AnnotationWriter.parent=e
+org/eclipse/persistence/internal/libraries/asm/AnnotationWriter.offset=f
+org/eclipse/persistence/internal/libraries/asm/AnnotationWriter.next=g
+org/eclipse/persistence/internal/libraries/asm/AnnotationWriter.prev=h
-org/objectweb/asm/Attribute.next=a
-org/objectweb/asm/Attribute.value=b
+org/eclipse/persistence/internal/libraries/asm/Attribute.next=a
+org/eclipse/persistence/internal/libraries/asm/Attribute.value=b
-org/objectweb/asm/ByteVector.data=a
-org/objectweb/asm/ByteVector.length=b
+org/eclipse/persistence/internal/libraries/asm/ByteVector.data=a
+org/eclipse/persistence/internal/libraries/asm/ByteVector.length=b
-org/objectweb/asm/ClassReader.items=a
-org/objectweb/asm/ClassReader.strings=c
-org/objectweb/asm/ClassReader.maxStringLength=d
-#org/objectweb/asm/ClassReader.header=e
+org/eclipse/persistence/internal/libraries/asm/ClassReader.items=a
+org/eclipse/persistence/internal/libraries/asm/ClassReader.strings=c
+org/eclipse/persistence/internal/libraries/asm/ClassReader.maxStringLength=d
+#org/eclipse/persistence/internal/libraries/asm/ClassReader.header=e
-org/objectweb/asm/Context.attrs=a
-org/objectweb/asm/Context.flags=b
-org/objectweb/asm/Context.buffer=c
-org/objectweb/asm/Context.bootstrapMethods=d
-org/objectweb/asm/Context.access=e
-org/objectweb/asm/Context.name=f
-org/objectweb/asm/Context.desc=g
-org/objectweb/asm/Context.labels=h
-org/objectweb/asm/Context.typeRef=i
-org/objectweb/asm/Context.typePath=j
-org/objectweb/asm/Context.offset=k
-org/objectweb/asm/Context.start=l
-org/objectweb/asm/Context.end=m
-org/objectweb/asm/Context.index=n
-org/objectweb/asm/Context.offset=o
-org/objectweb/asm/Context.mode=p
-org/objectweb/asm/Context.localCount=q
-org/objectweb/asm/Context.localDiff=r
-org/objectweb/asm/Context.local=s
-org/objectweb/asm/Context.stackCount=t
-org/objectweb/asm/Context.stack=u
+org/eclipse/persistence/internal/libraries/asm/Context.attrs=a
+org/eclipse/persistence/internal/libraries/asm/Context.flags=b
+org/eclipse/persistence/internal/libraries/asm/Context.buffer=c
+org/eclipse/persistence/internal/libraries/asm/Context.bootstrapMethods=d
+org/eclipse/persistence/internal/libraries/asm/Context.access=e
+org/eclipse/persistence/internal/libraries/asm/Context.name=f
+org/eclipse/persistence/internal/libraries/asm/Context.desc=g
+org/eclipse/persistence/internal/libraries/asm/Context.labels=h
+org/eclipse/persistence/internal/libraries/asm/Context.typeRef=i
+org/eclipse/persistence/internal/libraries/asm/Context.typePath=j
+org/eclipse/persistence/internal/libraries/asm/Context.offset=k
+org/eclipse/persistence/internal/libraries/asm/Context.start=l
+org/eclipse/persistence/internal/libraries/asm/Context.end=m
+org/eclipse/persistence/internal/libraries/asm/Context.index=n
+org/eclipse/persistence/internal/libraries/asm/Context.offset=o
+org/eclipse/persistence/internal/libraries/asm/Context.mode=p
+org/eclipse/persistence/internal/libraries/asm/Context.localCount=q
+org/eclipse/persistence/internal/libraries/asm/Context.localDiff=r
+org/eclipse/persistence/internal/libraries/asm/Context.local=s
+org/eclipse/persistence/internal/libraries/asm/Context.stackCount=t
+org/eclipse/persistence/internal/libraries/asm/Context.stack=u
-org/objectweb/asm/ClassWriter.TYPE=a
-org/objectweb/asm/ClassWriter.version=b
-org/objectweb/asm/ClassWriter.index=c
-org/objectweb/asm/ClassWriter.pool=d
-org/objectweb/asm/ClassWriter.items=e
-org/objectweb/asm/ClassWriter.threshold=f
-org/objectweb/asm/ClassWriter.key=g
-org/objectweb/asm/ClassWriter.key2=h
-org/objectweb/asm/ClassWriter.key3=i
-org/objectweb/asm/ClassWriter.key4=j
-org/objectweb/asm/ClassWriter.access=k
-org/objectweb/asm/ClassWriter.name=l
-org/objectweb/asm/ClassWriter.signature=m
-org/objectweb/asm/ClassWriter.superName=n
-org/objectweb/asm/ClassWriter.interfaceCount=o
-org/objectweb/asm/ClassWriter.interfaces=p
-org/objectweb/asm/ClassWriter.sourceFile=q
-org/objectweb/asm/ClassWriter.sourceDebug=r
-org/objectweb/asm/ClassWriter.enclosingMethodOwner=s
-org/objectweb/asm/ClassWriter.enclosingMethod=t
-org/objectweb/asm/ClassWriter.anns=u
-org/objectweb/asm/ClassWriter.ianns=v
-org/objectweb/asm/ClassWriter.tanns=N
-org/objectweb/asm/ClassWriter.itanns=O
-org/objectweb/asm/ClassWriter.attrs=w
-org/objectweb/asm/ClassWriter.innerClassesCount=x
-org/objectweb/asm/ClassWriter.innerClasses=y
-org/objectweb/asm/ClassWriter.bootstrapMethodsCount=z
-org/objectweb/asm/ClassWriter.bootstrapMethods=A
-org/objectweb/asm/ClassWriter.firstField=B
-org/objectweb/asm/ClassWriter.lastField=C
-org/objectweb/asm/ClassWriter.firstMethod=D
-org/objectweb/asm/ClassWriter.lastMethod=E
-org/objectweb/asm/ClassWriter.computeMaxs=F
-org/objectweb/asm/ClassWriter.typeCount=G
-org/objectweb/asm/ClassWriter.typeTable=H
-org/objectweb/asm/ClassWriter.thisName=I
-org/objectweb/asm/ClassWriter.computeFrames=J
-org/objectweb/asm/ClassWriter.computeMaxs=K
-org/objectweb/asm/ClassWriter.invalidFrames=L
-org/objectweb/asm/ClassWriter.cr=M
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.TYPE=a
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.version=b
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.index=c
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.pool=d
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.items=e
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.threshold=f
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.key=g
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.key2=h
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.key3=i
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.key4=j
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.access=k
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.name=l
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.signature=m
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.superName=n
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.interfaceCount=o
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.interfaces=p
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.sourceFile=q
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.sourceDebug=r
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.enclosingMethodOwner=s
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.enclosingMethod=t
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.anns=u
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.ianns=v
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.tanns=N
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.itanns=O
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.attrs=w
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.innerClassesCount=x
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.innerClasses=y
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.bootstrapMethodsCount=z
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.bootstrapMethods=A
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.firstField=B
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.lastField=C
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.firstMethod=D
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.lastMethod=E
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.computeMaxs=F
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.typeCount=G
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.typeTable=H
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.thisName=I
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.computeFrames=J
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.computeMaxs=K
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.invalidFrames=L
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.cr=M
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.moduleWriter=N
-org/objectweb/asm/Edge.info=a
-org/objectweb/asm/Edge.successor=b
-org/objectweb/asm/Edge.next=c
+org/eclipse/persistence/internal/libraries/asm/Edge.info=a
+org/eclipse/persistence/internal/libraries/asm/Edge.successor=b
+org/eclipse/persistence/internal/libraries/asm/Edge.next=c
-org/objectweb/asm/Handler.start=a
-org/objectweb/asm/Handler.end=b
-org/objectweb/asm/Handler.handler=c
-org/objectweb/asm/Handler.desc=d
-org/objectweb/asm/Handler.type=e
-org/objectweb/asm/Handler.next=f
+org/eclipse/persistence/internal/libraries/asm/Handler.start=a
+org/eclipse/persistence/internal/libraries/asm/Handler.end=b
+org/eclipse/persistence/internal/libraries/asm/Handler.handler=c
+org/eclipse/persistence/internal/libraries/asm/Handler.desc=d
+org/eclipse/persistence/internal/libraries/asm/Handler.type=e
+org/eclipse/persistence/internal/libraries/asm/Handler.next=f
-org/objectweb/asm/FieldWriter.cw=b
-org/objectweb/asm/FieldWriter.access=c
-org/objectweb/asm/FieldWriter.name=d
-org/objectweb/asm/FieldWriter.desc=e
-org/objectweb/asm/FieldWriter.signature=f
-org/objectweb/asm/FieldWriter.value=g
-org/objectweb/asm/FieldWriter.anns=h
-org/objectweb/asm/FieldWriter.ianns=i
-org/objectweb/asm/FieldWriter.tanns=k
-org/objectweb/asm/FieldWriter.itanns=l
-org/objectweb/asm/FieldWriter.attrs=j
+org/eclipse/persistence/internal/libraries/asm/FieldWriter.cw=b
+org/eclipse/persistence/internal/libraries/asm/FieldWriter.access=c
+org/eclipse/persistence/internal/libraries/asm/FieldWriter.name=d
+org/eclipse/persistence/internal/libraries/asm/FieldWriter.desc=e
+org/eclipse/persistence/internal/libraries/asm/FieldWriter.signature=f
+org/eclipse/persistence/internal/libraries/asm/FieldWriter.value=g
+org/eclipse/persistence/internal/libraries/asm/FieldWriter.anns=h
+org/eclipse/persistence/internal/libraries/asm/FieldWriter.ianns=i
+org/eclipse/persistence/internal/libraries/asm/FieldWriter.tanns=k
+org/eclipse/persistence/internal/libraries/asm/FieldWriter.itanns=l
+org/eclipse/persistence/internal/libraries/asm/FieldWriter.attrs=j
-org/objectweb/asm/Item.index=a
-org/objectweb/asm/Item.type=b
-org/objectweb/asm/Item.intVal=c
-org/objectweb/asm/Item.longVal=d
-org/objectweb/asm/Item.strVal1=g
-org/objectweb/asm/Item.strVal2=h
-org/objectweb/asm/Item.strVal3=i
-org/objectweb/asm/Item.hashCode=j
-org/objectweb/asm/Item.next=k
+org/eclipse/persistence/internal/libraries/asm/Item.index=a
+org/eclipse/persistence/internal/libraries/asm/Item.type=b
+org/eclipse/persistence/internal/libraries/asm/Item.intVal=c
+org/eclipse/persistence/internal/libraries/asm/Item.longVal=d
+org/eclipse/persistence/internal/libraries/asm/Item.strVal1=g
+org/eclipse/persistence/internal/libraries/asm/Item.strVal2=h
+org/eclipse/persistence/internal/libraries/asm/Item.strVal3=i
+org/eclipse/persistence/internal/libraries/asm/Item.hashCode=j
+org/eclipse/persistence/internal/libraries/asm/Item.next=k
-org/objectweb/asm/Label.status=a
-org/objectweb/asm/Label.line=b
-org/objectweb/asm/Label.position=c
-org/objectweb/asm/Label.referenceCount=d
-org/objectweb/asm/Label.srcAndRefPositions=e
-org/objectweb/asm/Label.inputStackTop=f
-org/objectweb/asm/Label.outputStackMax=g
-org/objectweb/asm/Label.frame=h
-org/objectweb/asm/Label.successor=i
-org/objectweb/asm/Label.successors=j
-org/objectweb/asm/Label.next=k
+org/eclipse/persistence/internal/libraries/asm/Label.status=a
+org/eclipse/persistence/internal/libraries/asm/Label.line=b
+org/eclipse/persistence/internal/libraries/asm/Label.position=c
+org/eclipse/persistence/internal/libraries/asm/Label.referenceCount=d
+org/eclipse/persistence/internal/libraries/asm/Label.srcAndRefPositions=e
+org/eclipse/persistence/internal/libraries/asm/Label.inputStackTop=f
+org/eclipse/persistence/internal/libraries/asm/Label.outputStackMax=g
+org/eclipse/persistence/internal/libraries/asm/Label.frame=h
+org/eclipse/persistence/internal/libraries/asm/Label.successor=i
+org/eclipse/persistence/internal/libraries/asm/Label.successors=j
+org/eclipse/persistence/internal/libraries/asm/Label.next=k
-org/objectweb/asm/Frame.SIZE=a
-org/objectweb/asm/Frame.owner=b
-org/objectweb/asm/Frame.inputLocals=c
-org/objectweb/asm/Frame.inputStack=d
-org/objectweb/asm/Frame.outputLocals=e
-org/objectweb/asm/Frame.outputStack=f
-org/objectweb/asm/Frame.outputStackTop=g
-org/objectweb/asm/Frame.initializationCount=h
-org/objectweb/asm/Frame.initializations=i
+org/eclipse/persistence/internal/libraries/asm/Frame.SIZE=a
+org/eclipse/persistence/internal/libraries/asm/Frame.owner=b
+org/eclipse/persistence/internal/libraries/asm/Frame.inputLocals=c
+org/eclipse/persistence/internal/libraries/asm/Frame.inputStack=d
+org/eclipse/persistence/internal/libraries/asm/Frame.outputLocals=e
+org/eclipse/persistence/internal/libraries/asm/Frame.outputStack=f
+org/eclipse/persistence/internal/libraries/asm/Frame.outputStackTop=g
+org/eclipse/persistence/internal/libraries/asm/Frame.initializationCount=h
+org/eclipse/persistence/internal/libraries/asm/Frame.initializations=i
-org/objectweb/asm/MethodWriter.cw=b
-org/objectweb/asm/MethodWriter.access=c
-org/objectweb/asm/MethodWriter.name=d
-org/objectweb/asm/MethodWriter.desc=e
-org/objectweb/asm/MethodWriter.descriptor=f
-org/objectweb/asm/MethodWriter.signature=g
-org/objectweb/asm/MethodWriter.classReaderOffset=h
-org/objectweb/asm/MethodWriter.classReaderLength=i
-org/objectweb/asm/MethodWriter.exceptionCount=j
-org/objectweb/asm/MethodWriter.exceptions=k
-org/objectweb/asm/MethodWriter.annd=l
-org/objectweb/asm/MethodWriter.anns=m
-org/objectweb/asm/MethodWriter.ianns=n
-org/objectweb/asm/MethodWriter.tanns=U
-org/objectweb/asm/MethodWriter.itanns=V
-org/objectweb/asm/MethodWriter.panns=o
-org/objectweb/asm/MethodWriter.ipanns=p
-org/objectweb/asm/MethodWriter.attrs=q
-org/objectweb/asm/MethodWriter.code=r
-org/objectweb/asm/MethodWriter.maxStack=s
-org/objectweb/asm/MethodWriter.maxLocals=t
-org/objectweb/asm/MethodWriter.currentLocals=T
-org/objectweb/asm/MethodWriter.frameCount=u
-org/objectweb/asm/MethodWriter.stackMap=v
-org/objectweb/asm/MethodWriter.previousFrameOffset=w
-org/objectweb/asm/MethodWriter.previousFrame=x
-#org/objectweb/asm/MethodWriter.frameIndex=y
-org/objectweb/asm/MethodWriter.frame=z
-org/objectweb/asm/MethodWriter.handlerCount=A
-org/objectweb/asm/MethodWriter.firstHandler=B
-org/objectweb/asm/MethodWriter.lastHandler=C
-org/objectweb/asm/MethodWriter.methodParametersCount=Z
-org/objectweb/asm/MethodWriter.methodParameters=$
-org/objectweb/asm/MethodWriter.localVarCount=D
-org/objectweb/asm/MethodWriter.localVar=E
-org/objectweb/asm/MethodWriter.localVarTypeCount=F
-org/objectweb/asm/MethodWriter.localVarType=G
-org/objectweb/asm/MethodWriter.lineNumberCount=H
-org/objectweb/asm/MethodWriter.lineNumber=I
-org/objectweb/asm/MethodWriter.lastCodeOffset=Y
-org/objectweb/asm/MethodWriter.ctanns=W
-org/objectweb/asm/MethodWriter.ictanns=X
-org/objectweb/asm/MethodWriter.cattrs=J
-org/objectweb/asm/MethodWriter.resize=K
-org/objectweb/asm/MethodWriter.subroutines=L
-org/objectweb/asm/MethodWriter.compute=M
-org/objectweb/asm/MethodWriter.labels=N
-org/objectweb/asm/MethodWriter.previousBlock=O
-org/objectweb/asm/MethodWriter.currentBlock=P
-org/objectweb/asm/MethodWriter.stackSize=Q
-org/objectweb/asm/MethodWriter.maxStackSize=R
-org/objectweb/asm/MethodWriter.synthetics=S
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.cw=b
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.access=c
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.name=d
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.desc=e
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.descriptor=f
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.signature=g
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.classReaderOffset=h
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.classReaderLength=i
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.exceptionCount=j
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.exceptions=k
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.annd=l
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.anns=m
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.ianns=n
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.tanns=U
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.itanns=V
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.panns=o
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.ipanns=p
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.attrs=q
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.code=r
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.maxStack=s
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.maxLocals=t
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.currentLocals=T
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.frameCount=u
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.stackMap=v
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.previousFrameOffset=w
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.previousFrame=x
+#org/eclipse/persistence/internal/libraries/asm/MethodWriter.frameIndex=y
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.frame=z
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.handlerCount=A
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.firstHandler=B
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.lastHandler=C
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.methodParametersCount=Z
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.methodParameters=$
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.localVarCount=D
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.localVar=E
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.localVarTypeCount=F
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.localVarType=G
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.lineNumberCount=H
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.lineNumber=I
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.lastCodeOffset=Y
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.ctanns=W
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.ictanns=X
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.cattrs=J
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.resize=K
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.subroutines=L
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.compute=M
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.labels=N
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.previousBlock=O
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.currentBlock=P
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.stackSize=Q
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.maxStackSize=R
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.synthetics=S
-org/objectweb/asm/Type.sort=a
-org/objectweb/asm/Type.buf=b
-org/objectweb/asm/Type.off=c
-org/objectweb/asm/Type.len=d
+org/eclipse/persistence/internal/libraries/asm/Type.sort=a
+org/eclipse/persistence/internal/libraries/asm/Type.buf=b
+org/eclipse/persistence/internal/libraries/asm/Type.off=c
+org/eclipse/persistence/internal/libraries/asm/Type.len=d
-org/objectweb/asm/TypeReference.value=a
+org/eclipse/persistence/internal/libraries/asm/TypeReference.value=a
-org/objectweb/asm/TypePath.b=a
-org/objectweb/asm/TypePath.offset=b
+org/eclipse/persistence/internal/libraries/asm/TypePath.b=a
+org/eclipse/persistence/internal/libraries/asm/TypePath.offset=b
-org/objectweb/asm/Handle.tag=a
-org/objectweb/asm/Handle.owner=b
-org/objectweb/asm/Handle.name=c
-org/objectweb/asm/Handle.desc=d
-org/objectweb/asm/Handle.itf=e
+org/eclipse/persistence/internal/libraries/asm/Handle.tag=a
+org/eclipse/persistence/internal/libraries/asm/Handle.owner=b
+org/eclipse/persistence/internal/libraries/asm/Handle.name=c
+org/eclipse/persistence/internal/libraries/asm/Handle.desc=d
+org/eclipse/persistence/internal/libraries/asm/Handle.itf=e
-org/objectweb/asm/signature/SignatureReader.signature=a
+org/eclipse/persistence/internal/libraries/asm/ModuleWriter.cw=a
+org/eclipse/persistence/internal/libraries/asm/ModuleWriter.size=b
+org/eclipse/persistence/internal/libraries/asm/ModuleWriter.requireCount=c
+org/eclipse/persistence/internal/libraries/asm/ModuleWriter.requires=d
+org/eclipse/persistence/internal/libraries/asm/ModuleWriter.exportCount=e
+org/eclipse/persistence/internal/libraries/asm/ModuleWriter.exports=f
+org/eclipse/persistence/internal/libraries/asm/ModuleWriter.useCount=g
+org/eclipse/persistence/internal/libraries/asm/ModuleWriter.uses=h
+org/eclipse/persistence/internal/libraries/asm/ModuleWriter.provideCount=i
+org/eclipse/persistence/internal/libraries/asm/ModuleWriter.provides=j
-org/objectweb/asm/signature/SignatureWriter.buf=a
-org/objectweb/asm/signature/SignatureWriter.hasFormals=b
-org/objectweb/asm/signature/SignatureWriter.hasParameters=c
-org/objectweb/asm/signature/SignatureWriter.argumentStack=d
+org/eclipse/persistence/internal/libraries/asm/signature/SignatureReader.signature=a
+
+org/eclipse/persistence/internal/libraries/asm/signature/SignatureWriter.buf=a
+org/eclipse/persistence/internal/libraries/asm/signature/SignatureWriter.hasFormals=b
+org/eclipse/persistence/internal/libraries/asm/signature/SignatureWriter.hasParameters=c
+org/eclipse/persistence/internal/libraries/asm/signature/SignatureWriter.argumentStack=d
# method mappings
-org/objectweb/asm/AnnotationWriter.getSize()I=a
-org/objectweb/asm/AnnotationWriter.put([Lorg/objectweb/asm/AnnotationWriter;ILorg/objectweb/asm/ByteVector;)V=a
-org/objectweb/asm/AnnotationWriter.put(Lorg/objectweb/asm/ByteVector;)V=a
-org/objectweb/asm/AnnotationWriter.putTarget(ILorg/objectweb/asm/TypePath;Lorg/objectweb/asm/ByteVector;)V=a
+org/eclipse/persistence/internal/libraries/asm/AnnotationWriter.getSize()I=a
+org/eclipse/persistence/internal/libraries/asm/AnnotationWriter.put([Lorg/eclipse/persistence/internal/libraries/asm/AnnotationWriter;ILorg/eclipse/persistence/internal/libraries/asm/ByteVector;)V=a
+org/eclipse/persistence/internal/libraries/asm/AnnotationWriter.put(Lorg/eclipse/persistence/internal/libraries/asm/ByteVector;)V=a
+org/eclipse/persistence/internal/libraries/asm/AnnotationWriter.putTarget(ILorg/eclipse/persistence/internal/libraries/asm/TypePath;Lorg/eclipse/persistence/internal/libraries/asm/ByteVector;)V=a
-org/objectweb/asm/Attribute.getCount()I=a
-org/objectweb/asm/Attribute.getSize(Lorg/objectweb/asm/ClassWriter;[BIII)I=a
-org/objectweb/asm/Attribute.put(Lorg/objectweb/asm/ClassWriter;[BIIILorg/objectweb/asm/ByteVector;)V=a
+org/eclipse/persistence/internal/libraries/asm/Attribute.getCount()I=a
+org/eclipse/persistence/internal/libraries/asm/Attribute.getSize(Lorg/eclipse/persistence/internal/libraries/asm/ClassWriter;[BIII)I=a
+org/eclipse/persistence/internal/libraries/asm/Attribute.put(Lorg/eclipse/persistence/internal/libraries/asm/ClassWriter;[BIIILorg/eclipse/persistence/internal/libraries/asm/ByteVector;)V=a
-org/objectweb/asm/ByteVector.enlarge(I)V=a
-org/objectweb/asm/ByteVector.put11(II)Lorg/objectweb/asm/ByteVector;=a
-org/objectweb/asm/ByteVector.put12(II)Lorg/objectweb/asm/ByteVector;=b
-org/objectweb/asm/ByteVector.encodeUTF8(Ljava/lang/String;II)Lorg/objectweb/asm/ByteVector;=c
+org/eclipse/persistence/internal/libraries/asm/ByteVector.enlarge(I)V=a
+org/eclipse/persistence/internal/libraries/asm/ByteVector.put11(II)Lorg/eclipse/persistence/internal/libraries/asm/ByteVector;=a
+org/eclipse/persistence/internal/libraries/asm/ByteVector.put12(II)Lorg/eclipse/persistence/internal/libraries/asm/ByteVector;=b
+org/eclipse/persistence/internal/libraries/asm/ByteVector.encodeUTF8(Ljava/lang/String;II)Lorg/eclipse/persistence/internal/libraries/asm/ByteVector;=c
-org/objectweb/asm/ClassReader.copyPool(Lorg/objectweb/asm/ClassWriter;)V=a
-org/objectweb/asm/ClassReader.copyBootstrapMethods(Lorg/objectweb/asm/ClassWriter;[Lorg/objectweb/asm/Item;[C)V=a
-org/objectweb/asm/ClassReader.readField(Lorg/objectweb/asm/ClassVisitor;Lorg/objectweb/asm/Context;I)I=a
-org/objectweb/asm/ClassReader.readMethod(Lorg/objectweb/asm/ClassVisitor;Lorg/objectweb/asm/Context;I)I=b
-org/objectweb/asm/ClassReader.readCode(Lorg/objectweb/asm/MethodVisitor;Lorg/objectweb/asm/Context;I)V=a
-org/objectweb/asm/ClassReader.readTypeAnnotations(Lorg/objectweb/asm/MethodVisitor;Lorg/objectweb/asm/Context;IZ)[I=a
-org/objectweb/asm/ClassReader.readAnnotationTarget(Lorg/objectweb/asm/Context;I)I=a
-org/objectweb/asm/ClassReader.readAnnotationValues(I[CZLorg/objectweb/asm/AnnotationVisitor;)I=a
-org/objectweb/asm/ClassReader.readAnnotationValue(I[CLjava/lang/String;Lorg/objectweb/asm/AnnotationVisitor;)I=a
-org/objectweb/asm/ClassReader.getAttributes()I=a
-org/objectweb/asm/ClassReader.readAttribute([Lorg/objectweb/asm/Attribute;Ljava/lang/String;II[CI[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Attribute;=a
-org/objectweb/asm/ClassReader.readClass(Ljava/io/InputStream;Z)[B=a
-org/objectweb/asm/ClassReader.readParameterAnnotations(Lorg/objectweb/asm/MethodVisitor;Lorg/objectweb/asm/Context;IZ)V=b
-org/objectweb/asm/ClassReader.readUTF(II[C)Ljava/lang/String;=a
-org/objectweb/asm/ClassReader.getImplicitFrame(Lorg/objectweb/asm/Context;)V=a
-org/objectweb/asm/ClassReader.readFrame(IZZLorg/objectweb/asm/Context;)I=a
-org/objectweb/asm/ClassReader.readFrameType([Ljava/lang/Object;II[C[Lorg/objectweb/asm/Label;)I=a
+org/eclipse/persistence/internal/libraries/asm/ClassReader.copyPool(Lorg/eclipse/persistence/internal/libraries/asm/ClassWriter;)V=a
+org/eclipse/persistence/internal/libraries/asm/ClassReader.copyBootstrapMethods(Lorg/eclipse/persistence/internal/libraries/asm/ClassWriter;[Lorg/eclipse/persistence/internal/libraries/asm/Item;[C)V=a
+org/eclipse/persistence/internal/libraries/asm/ClassReader.readField(Lorg/eclipse/persistence/internal/libraries/asm/ClassVisitor;Lorg/eclipse/persistence/internal/libraries/asm/Context;I)I=a
+org/eclipse/persistence/internal/libraries/asm/ClassReader.readMethod(Lorg/eclipse/persistence/internal/libraries/asm/ClassVisitor;Lorg/eclipse/persistence/internal/libraries/asm/Context;I)I=b
+org/eclipse/persistence/internal/libraries/asm/ClassReader.readCode(Lorg/eclipse/persistence/internal/libraries/asm/MethodVisitor;Lorg/eclipse/persistence/internal/libraries/asm/Context;I)V=a
+org/eclipse/persistence/internal/libraries/asm/ClassReader.readTypeAnnotations(Lorg/eclipse/persistence/internal/libraries/asm/MethodVisitor;Lorg/eclipse/persistence/internal/libraries/asm/Context;IZ)[I=a
+org/eclipse/persistence/internal/libraries/asm/ClassReader.readAnnotationTarget(Lorg/eclipse/persistence/internal/libraries/asm/Context;I)I=a
+org/eclipse/persistence/internal/libraries/asm/ClassReader.readAnnotationValues(I[CZLorg/eclipse/persistence/internal/libraries/asm/AnnotationVisitor;)I=a
+org/eclipse/persistence/internal/libraries/asm/ClassReader.readAnnotationValue(I[CLjava/lang/String;Lorg/eclipse/persistence/internal/libraries/asm/AnnotationVisitor;)I=a
+org/eclipse/persistence/internal/libraries/asm/ClassReader.getAttributes()I=a
+org/eclipse/persistence/internal/libraries/asm/ClassReader.readAttribute([Lorg/eclipse/persistence/internal/libraries/asm/Attribute;Ljava/lang/String;II[CI[Lorg/eclipse/persistence/internal/libraries/asm/Label;)Lorg/eclipse/persistence/internal/libraries/asm/Attribute;=a
+org/eclipse/persistence/internal/libraries/asm/ClassReader.readClass(Ljava/io/InputStream;Z)[B=a
+org/eclipse/persistence/internal/libraries/asm/ClassReader.readParameterAnnotations(Lorg/eclipse/persistence/internal/libraries/asm/MethodVisitor;Lorg/eclipse/persistence/internal/libraries/asm/Context;IZ)V=b
+org/eclipse/persistence/internal/libraries/asm/ClassReader.readUTF(II[C)Ljava/lang/String;=a
+org/eclipse/persistence/internal/libraries/asm/ClassReader.getImplicitFrame(Lorg/eclipse/persistence/internal/libraries/asm/Context;)V=a
+org/eclipse/persistence/internal/libraries/asm/ClassReader.readFrame(IZZLorg/eclipse/persistence/internal/libraries/asm/Context;)I=a
+org/eclipse/persistence/internal/libraries/asm/ClassReader.readFrameType([Ljava/lang/Object;II[C[Lorg/eclipse/persistence/internal/libraries/asm/Label;)I=a
+org/eclipse/persistence/internal/libraries/asm/ClassReader.readModule(Lorg/eclipse/persistence/internal/libraries/asm/ClassVisitor;Lorg/eclipse/persistence/internal/libraries/asm/Context;I)V=c
-org/objectweb/asm/ClassWriter.get(Lorg/objectweb/asm/Item;)Lorg/objectweb/asm/Item;=a
-org/objectweb/asm/ClassWriter.newClassItem(Ljava/lang/String;)Lorg/objectweb/asm/Item;=a
-org/objectweb/asm/ClassWriter.newConstItem(Ljava/lang/Object;)Lorg/objectweb/asm/Item;=a
-org/objectweb/asm/ClassWriter.newDouble(D)Lorg/objectweb/asm/Item;=a
-org/objectweb/asm/ClassWriter.newFloat(F)Lorg/objectweb/asm/Item;=a
-org/objectweb/asm/ClassWriter.newInteger(I)Lorg/objectweb/asm/Item;=a
-org/objectweb/asm/ClassWriter.newLong(J)Lorg/objectweb/asm/Item;=a
-org/objectweb/asm/ClassWriter.newMethodItem(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Lorg/objectweb/asm/Item;=a
-org/objectweb/asm/ClassWriter.newString(Ljava/lang/String;)Lorg/objectweb/asm/Item;=b
-org/objectweb/asm/ClassWriter.put122(III)V=a
-org/objectweb/asm/ClassWriter.put112(III)V=b
-org/objectweb/asm/ClassWriter.put(Lorg/objectweb/asm/Item;)V=b
-org/objectweb/asm/ClassWriter.newFieldItem(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/objectweb/asm/Item;=a
-org/objectweb/asm/ClassWriter.addType(Ljava/lang/String;)I=c
-org/objectweb/asm/ClassWriter.addUninitializedType(Ljava/lang/String;I)I=a
-org/objectweb/asm/ClassWriter.addType(Lorg/objectweb/asm/Item;)Lorg/objectweb/asm/Item;=c
-org/objectweb/asm/ClassWriter.getMergedType(II)I=a
-org/objectweb/asm/ClassWriter.newNameTypeItem(Ljava/lang/String;Ljava/lang/String;)Lorg/objectweb/asm/Item;=a
-org/objectweb/asm/ClassWriter.newMethodTypeItem(Ljava/lang/String;)Lorg/objectweb/asm/Item;=c
-org/objectweb/asm/ClassWriter.newHandleItem(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Lorg/objectweb/asm/Item;=a
-org/objectweb/asm/ClassWriter.newInvokeDynamicItem(Ljava/lang/String;Ljava/lang/String;Lorg/objectweb/asm/Handle;[Ljava/lang/Object;)Lorg/objectweb/asm/Item;=a
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.get(Lorg/eclipse/persistence/internal/libraries/asm/Item;)Lorg/eclipse/persistence/internal/libraries/asm/Item;=a
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.newClassItem(Ljava/lang/String;)Lorg/eclipse/persistence/internal/libraries/asm/Item;=a
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.newConstItem(Ljava/lang/Object;)Lorg/eclipse/persistence/internal/libraries/asm/Item;=a
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.newDouble(D)Lorg/eclipse/persistence/internal/libraries/asm/Item;=a
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.newFloat(F)Lorg/eclipse/persistence/internal/libraries/asm/Item;=a
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.newInteger(I)Lorg/eclipse/persistence/internal/libraries/asm/Item;=a
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.newLong(J)Lorg/eclipse/persistence/internal/libraries/asm/Item;=a
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.newMethodItem(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Lorg/eclipse/persistence/internal/libraries/asm/Item;=a
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.newString(Ljava/lang/String;)Lorg/eclipse/persistence/internal/libraries/asm/Item;=b
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.put122(III)V=a
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.put112(III)V=b
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.put(Lorg/eclipse/persistence/internal/libraries/asm/Item;)V=b
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.newFieldItem(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/persistence/internal/libraries/asm/Item;=a
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.addType(Ljava/lang/String;)I=c
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.addUninitializedType(Ljava/lang/String;I)I=a
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.addType(Lorg/eclipse/persistence/internal/libraries/asm/Item;)Lorg/eclipse/persistence/internal/libraries/asm/Item;=c
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.getMergedType(II)I=a
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.newNameTypeItem(Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/persistence/internal/libraries/asm/Item;=a
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.newMethodTypeItem(Ljava/lang/String;)Lorg/eclipse/persistence/internal/libraries/asm/Item;=c
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.newHandleItem(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Lorg/eclipse/persistence/internal/libraries/asm/Item;=a
+org/eclipse/persistence/internal/libraries/asm/ClassWriter.newInvokeDynamicItem(Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/persistence/internal/libraries/asm/Handle;[Ljava/lang/Object;)Lorg/eclipse/persistence/internal/libraries/asm/Item;=a
-org/objectweb/asm/FieldWriter.getSize()I=a
-org/objectweb/asm/FieldWriter.put(Lorg/objectweb/asm/ByteVector;)V=a
+org/eclipse/persistence/internal/libraries/asm/FieldWriter.getSize()I=a
+org/eclipse/persistence/internal/libraries/asm/FieldWriter.put(Lorg/eclipse/persistence/internal/libraries/asm/ByteVector;)V=a
-org/objectweb/asm/Item.isEqualTo(Lorg/objectweb/asm/Item;)Z=a
-org/objectweb/asm/Item.set(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V=a
-org/objectweb/asm/Item.set(D)V=a
-org/objectweb/asm/Item.set(F)V=a
-org/objectweb/asm/Item.set(I)V=a
-org/objectweb/asm/Item.set(J)V=a
-org/objectweb/asm/Item.set(Ljava/lang/String;Ljava/lang/String;I)V=a
-org/objectweb/asm/Item.set(II)V=a
+org/eclipse/persistence/internal/libraries/asm/Item.isEqualTo(Lorg/eclipse/persistence/internal/libraries/asm/Item;)Z=a
+org/eclipse/persistence/internal/libraries/asm/Item.set(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V=a
+org/eclipse/persistence/internal/libraries/asm/Item.set(D)V=a
+org/eclipse/persistence/internal/libraries/asm/Item.set(F)V=a
+org/eclipse/persistence/internal/libraries/asm/Item.set(I)V=a
+org/eclipse/persistence/internal/libraries/asm/Item.set(J)V=a
+org/eclipse/persistence/internal/libraries/asm/Item.set(Ljava/lang/String;Ljava/lang/String;I)V=a
+org/eclipse/persistence/internal/libraries/asm/Item.set(II)V=a
-org/objectweb/asm/Label.addReference(II)V=a
-org/objectweb/asm/Label.put(Lorg/objectweb/asm/MethodWriter;Lorg/objectweb/asm/ByteVector;IZ)V=a
-org/objectweb/asm/Label.resolve(Lorg/objectweb/asm/MethodWriter;I[B)Z=a
-org/objectweb/asm/Label.getFirst()Lorg/objectweb/asm/Label;=a
-org/objectweb/asm/Label.inSubroutine(J)Z=a
-org/objectweb/asm/Label.inSameSubroutine(Lorg/objectweb/asm/Label;)Z=a
-org/objectweb/asm/Label.addToSubroutine(JI)V=a
-org/objectweb/asm/Label.visitSubroutine(Lorg/objectweb/asm/Label;JI)V=b
+org/eclipse/persistence/internal/libraries/asm/Label.addReference(II)V=a
+org/eclipse/persistence/internal/libraries/asm/Label.put(Lorg/eclipse/persistence/internal/libraries/asm/MethodWriter;Lorg/eclipse/persistence/internal/libraries/asm/ByteVector;IZ)V=a
+org/eclipse/persistence/internal/libraries/asm/Label.resolve(Lorg/eclipse/persistence/internal/libraries/asm/MethodWriter;I[B)Z=a
+org/eclipse/persistence/internal/libraries/asm/Label.getFirst()Lorg/eclipse/persistence/internal/libraries/asm/Label;=a
+org/eclipse/persistence/internal/libraries/asm/Label.inSubroutine(J)Z=a
+org/eclipse/persistence/internal/libraries/asm/Label.inSameSubroutine(Lorg/eclipse/persistence/internal/libraries/asm/Label;)Z=a
+org/eclipse/persistence/internal/libraries/asm/Label.addToSubroutine(JI)V=a
+org/eclipse/persistence/internal/libraries/asm/Label.visitSubroutine(Lorg/eclipse/persistence/internal/libraries/asm/Label;JI)V=b
-org/objectweb/asm/Frame.get(I)I=a
-org/objectweb/asm/Frame.set(II)V=a
-org/objectweb/asm/Frame.push(I)V=b
-org/objectweb/asm/Frame.push(Lorg/objectweb/asm/ClassWriter;Ljava/lang/String;)V=a
-org/objectweb/asm/Frame.type(Lorg/objectweb/asm/ClassWriter;Ljava/lang/String;)I=b
-org/objectweb/asm/Frame.pop()I=a
-org/objectweb/asm/Frame.pop(Ljava/lang/String;)V=a
-org/objectweb/asm/Frame.pop(I)V=c
-org/objectweb/asm/Frame.init(I)V=d
-org/objectweb/asm/Frame.init(Lorg/objectweb/asm/ClassWriter;I)I=a
-org/objectweb/asm/Frame.initInputFrame(Lorg/objectweb/asm/ClassWriter;I[Lorg/objectweb/asm/Type;I)V=a
-org/objectweb/asm/Frame.execute(IILorg/objectweb/asm/ClassWriter;Lorg/objectweb/asm/Item;)V=a
-org/objectweb/asm/Frame.merge(Lorg/objectweb/asm/ClassWriter;Lorg/objectweb/asm/Frame;I)Z=a
-org/objectweb/asm/Frame.merge(Lorg/objectweb/asm/ClassWriter;I[II)Z=a
+org/eclipse/persistence/internal/libraries/asm/Frame.get(I)I=a
+org/eclipse/persistence/internal/libraries/asm/Frame.set(II)V=a
+org/eclipse/persistence/internal/libraries/asm/Frame.push(I)V=b
+org/eclipse/persistence/internal/libraries/asm/Frame.push(Lorg/eclipse/persistence/internal/libraries/asm/ClassWriter;Ljava/lang/String;)V=a
+org/eclipse/persistence/internal/libraries/asm/Frame.type(Lorg/eclipse/persistence/internal/libraries/asm/ClassWriter;Ljava/lang/String;)I=b
+org/eclipse/persistence/internal/libraries/asm/Frame.pop()I=a
+org/eclipse/persistence/internal/libraries/asm/Frame.pop(Ljava/lang/String;)V=a
+org/eclipse/persistence/internal/libraries/asm/Frame.pop(I)V=c
+org/eclipse/persistence/internal/libraries/asm/Frame.init(I)V=d
+org/eclipse/persistence/internal/libraries/asm/Frame.init(Lorg/eclipse/persistence/internal/libraries/asm/ClassWriter;I)I=a
+org/eclipse/persistence/internal/libraries/asm/Frame.initInputFrame(Lorg/eclipse/persistence/internal/libraries/asm/ClassWriter;I[Lorg/eclipse/persistence/internal/libraries/asm/Type;I)V=a
+org/eclipse/persistence/internal/libraries/asm/Frame.execute(IILorg/eclipse/persistence/internal/libraries/asm/ClassWriter;Lorg/eclipse/persistence/internal/libraries/asm/Item;)V=a
+org/eclipse/persistence/internal/libraries/asm/Frame.merge(Lorg/eclipse/persistence/internal/libraries/asm/ClassWriter;Lorg/eclipse/persistence/internal/libraries/asm/Frame;I)Z=a
+org/eclipse/persistence/internal/libraries/asm/Frame.merge(Lorg/eclipse/persistence/internal/libraries/asm/ClassWriter;I[II)Z=a
-org/objectweb/asm/Handler.remove(Lorg/objectweb/asm/Handler;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Handler;=a
+org/eclipse/persistence/internal/libraries/asm/Handler.remove(Lorg/eclipse/persistence/internal/libraries/asm/Handler;Lorg/eclipse/persistence/internal/libraries/asm/Label;Lorg/eclipse/persistence/internal/libraries/asm/Label;)Lorg/eclipse/persistence/internal/libraries/asm/Handler;=a
-org/objectweb/asm/MethodWriter.visitSwitchInsn(Lorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;)V=a
-org/objectweb/asm/MethodWriter.addSuccessor(ILorg/objectweb/asm/Label;)V=a
-org/objectweb/asm/MethodWriter.getNewOffset([I[III)I=a
-org/objectweb/asm/MethodWriter.getSize()I=a
-org/objectweb/asm/MethodWriter.put(Lorg/objectweb/asm/ByteVector;)V=a
-org/objectweb/asm/MethodWriter.readInt([BI)I=a
-org/objectweb/asm/MethodWriter.readShort([BI)S=b
-org/objectweb/asm/MethodWriter.readUnsignedShort([BI)I=c
-org/objectweb/asm/MethodWriter.writeShort([BII)V=a
-org/objectweb/asm/MethodWriter.visitFrame(Lorg/objectweb/asm/Frame;)V=b
-org/objectweb/asm/MethodWriter.visitImplicitFirstFrame()V=f
-org/objectweb/asm/MethodWriter.startFrame(III)I=a
-org/objectweb/asm/MethodWriter.endFrame()V=b
-org/objectweb/asm/MethodWriter.writeFrame()V=c
-org/objectweb/asm/MethodWriter.resizeInstructions()V=d
-org/objectweb/asm/MethodWriter.noSuccessor()V=e
-org/objectweb/asm/MethodWriter.writeFrameTypes(II)V=a
-org/objectweb/asm/MethodWriter.writeFrameType(Ljava/lang/Object;)V=a
-org/objectweb/asm/MethodWriter.getNewOffset([I[ILorg/objectweb/asm/Label;)V=a
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.visitSwitchInsn(Lorg/eclipse/persistence/internal/libraries/asm/Label;[Lorg/eclipse/persistence/internal/libraries/asm/Label;)V=a
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.addSuccessor(ILorg/eclipse/persistence/internal/libraries/asm/Label;)V=a
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.getNewOffset([I[III)I=a
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.getSize()I=a
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.put(Lorg/eclipse/persistence/internal/libraries/asm/ByteVector;)V=a
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.readInt([BI)I=a
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.readShort([BI)S=b
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.readUnsignedShort([BI)I=c
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.writeShort([BII)V=a
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.visitFrame(Lorg/eclipse/persistence/internal/libraries/asm/Frame;)V=b
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.visitImplicitFirstFrame()V=f
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.startFrame(III)I=a
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.endFrame()V=b
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.writeFrame()V=c
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.resizeInstructions()V=d
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.noSuccessor()V=e
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.writeFrameTypes(II)V=a
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.writeFrameType(Ljava/lang/Object;)V=a
+org/eclipse/persistence/internal/libraries/asm/MethodWriter.getNewOffset([I[ILorg/eclipse/persistence/internal/libraries/asm/Label;)V=a
-org/objectweb/asm/Type.getType([CI)Lorg/objectweb/asm/Type;=a
-org/objectweb/asm/Type.getDescriptor(Ljava/lang/StringBuilder;)V=a
-org/objectweb/asm/Type.getDescriptor(Ljava/lang/StringBuilder;Ljava/lang/Class;)V=a
+org/eclipse/persistence/internal/libraries/asm/Type.getType([CI)Lorg/eclipse/persistence/internal/libraries/asm/Type;=a
+org/eclipse/persistence/internal/libraries/asm/Type.getDescriptor(Ljava/lang/StringBuilder;)V=a
+org/eclipse/persistence/internal/libraries/asm/Type.getDescriptor(Ljava/lang/StringBuilder;Ljava/lang/Class;)V=a
-org/objectweb/asm/signature/SignatureReader.parseType(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I=a
+org/eclipse/persistence/internal/libraries/asm/ModuleWriter.getSize()I=a
+org/eclipse/persistence/internal/libraries/asm/ModuleWriter.put(Lorg/eclipse/persistence/internal/libraries/asm/ByteVector;)V=a
-org/objectweb/asm/signature/SignatureWriter.endFormals()V=a
-org/objectweb/asm/signature/SignatureWriter.endArguments()V=b
+org/eclipse/persistence/internal/libraries/asm/signature/SignatureReader.parseType(Ljava/lang/String;ILorg/eclipse/persistence/internal/libraries/asm/signature/SignatureVisitor;)I=a
+
+org/eclipse/persistence/internal/libraries/asm/signature/SignatureWriter.endFormals()V=a
+org/eclipse/persistence/internal/libraries/asm/signature/SignatureWriter.endArguments()V=b
\ No newline at end of file
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/signature/SignatureReader.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/signature/SignatureReader.java
index 98085ff..89f07fc 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/signature/SignatureReader.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/signature/SignatureReader.java
@@ -29,9 +29,6 @@
*/
package org.eclipse.persistence.internal.libraries.asm.signature;
-import org.eclipse.persistence.internal.libraries.asm.ClassVisitor;
-import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
-
/**
* A type signature parser to make a signature visitor visit an existing
* signature.
@@ -63,10 +60,10 @@
* constructor (see {@link #SignatureReader(String) SignatureReader}). This
* method is intended to be called on a {@link SignatureReader} that was
* created using a <i>ClassSignature</i> (such as the <code>signature</code>
- * parameter of the {@link ClassVisitor#visit
+ * parameter of the {@link org.eclipse.persistence.internal.libraries.asm.ClassVisitor#visit
* ClassVisitor.visit} method) or a <i>MethodTypeSignature</i> (such as the
* <code>signature</code> parameter of the
- * {@link ClassVisitor#visitMethod
+ * {@link org.eclipse.persistence.internal.libraries.asm.ClassVisitor#visitMethod
* ClassVisitor.visitMethod} method).
*
* @param v
@@ -122,8 +119,8 @@
* method is intended to be called on a {@link SignatureReader} that was
* created using a <i>FieldTypeSignature</i>, such as the
* <code>signature</code> parameter of the
- * {@link ClassVisitor#visitField ClassVisitor.visitField}
- * or {@link MethodVisitor#visitLocalVariable
+ * {@link org.eclipse.persistence.internal.libraries.asm.ClassVisitor#visitField ClassVisitor.visitField}
+ * or {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitLocalVariable
* MethodVisitor.visitLocalVariable} methods.
*
* @param v
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/signature/SignatureVisitor.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/signature/SignatureVisitor.java
index 626a094..c5480f5 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/signature/SignatureVisitor.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/signature/SignatureVisitor.java
@@ -73,7 +73,7 @@
/**
* The ASM API version implemented by this visitor. 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;
@@ -82,10 +82,10 @@
*
* @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}.
*/
public SignatureVisitor(final int api) {
- if (api != Opcodes.ASM4 && api != Opcodes.ASM5) {
+ if (api < Opcodes.ASM4 || api > Opcodes.ASM6) {
throw new IllegalArgumentException();
}
this.api = api;
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/signature/SignatureWriter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/signature/SignatureWriter.java
index a4ae058..e544fb8 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/signature/SignatureWriter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/signature/SignatureWriter.java
@@ -66,7 +66,7 @@
* Constructs a new {@link SignatureWriter} object.
*/
public SignatureWriter() {
- super(Opcodes.ASM5);
+ super(Opcodes.ASM6);
}
// ------------------------------------------------------------------------
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/AbstractInsnNode.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/AbstractInsnNode.java
index 7d1d87b..6808b7d 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/AbstractInsnNode.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/AbstractInsnNode.java
@@ -134,7 +134,7 @@
* number nodes). This list is a list of {@link TypeAnnotationNode} objects.
* May be <tt>null</tt>.
*
- * @associates org.objectweb.asm.tree.TypeAnnotationNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.TypeAnnotationNode
* @label visible
*/
public List<TypeAnnotationNode> visibleTypeAnnotations;
@@ -145,7 +145,7 @@
* number nodes). This list is a list of {@link TypeAnnotationNode} objects.
* May be <tt>null</tt>.
*
- * @associates org.objectweb.asm.tree.TypeAnnotationNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.TypeAnnotationNode
* @label invisible
*/
public List<TypeAnnotationNode> invisibleTypeAnnotations;
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/AnnotationNode.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/AnnotationNode.java
index 53277e3..38d9c4a 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/AnnotationNode.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/AnnotationNode.java
@@ -33,7 +33,6 @@
import java.util.List;
import org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor;
-import org.eclipse.persistence.internal.libraries.asm.Type;
import org.eclipse.persistence.internal.libraries.asm.Opcodes;
/**
@@ -53,7 +52,7 @@
* as two consecutive elements in the list. The name is a {@link String},
* and the value may be a {@link Byte}, {@link Boolean}, {@link Character},
* {@link Short}, {@link Integer}, {@link Long}, {@link Float},
- * {@link Double}, {@link String} or {@link Type}, or an
+ * {@link Double}, {@link String} or {@link org.eclipse.persistence.internal.libraries.asm.Type}, or an
* two elements String array (for enumeration values), a
* {@link AnnotationNode}, or a {@link List} of values of one of the
* preceding types. The list may be <tt>null</tt> if there is no name value
@@ -72,7 +71,7 @@
* If a subclass calls this constructor.
*/
public AnnotationNode(final String desc) {
- this(Opcodes.ASM5, desc);
+ this(Opcodes.ASM6, desc);
if (getClass() != AnnotationNode.class) {
throw new IllegalStateException();
}
@@ -83,7 +82,7 @@
*
* @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 desc
* the class descriptor of the annotation class.
*/
@@ -99,7 +98,7 @@
* where the visited values must be stored.
*/
AnnotationNode(final List<Object> values) {
- super(Opcodes.ASM5);
+ super(Opcodes.ASM6);
this.values = values;
}
@@ -172,8 +171,8 @@
* versions of the ASM API than the given version.
*
* @param api
- * an ASM API version. Must be one of {@link Opcodes#ASM4} or
- * {@link Opcodes#ASM5}.
+ * an ASM API version. Must be one of {@link Opcodes#ASM4},
+ * {@link Opcodes#ASM5} or {@link Opcodes#ASM6}.
*/
public void check(final int api) {
// nothing to do
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/ClassNode.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/ClassNode.java
index 08898a3..bc22f94 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/ClassNode.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/ClassNode.java
@@ -33,9 +33,13 @@
import java.util.Arrays;
import java.util.List;
-import org.eclipse.persistence.internal.libraries.asm.*;
import org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor;
import org.eclipse.persistence.internal.libraries.asm.Attribute;
+import org.eclipse.persistence.internal.libraries.asm.ClassVisitor;
+import org.eclipse.persistence.internal.libraries.asm.FieldVisitor;
+import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
+import org.eclipse.persistence.internal.libraries.asm.ModuleVisitor;
+import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.TypePath;
/**
@@ -51,14 +55,14 @@
public int version;
/**
- * The class's access flags (see {@link Opcodes}). This
+ * The class's access flags (see {@link org.eclipse.persistence.internal.libraries.asm.Opcodes}). This
* field also indicates if the class is deprecated.
*/
public int access;
/**
* The internal name of the class (see
- * {@link Type#getInternalName() getInternalName}).
+ * {@link org.eclipse.persistence.internal.libraries.asm.Type#getInternalName() getInternalName}).
*/
public String name;
@@ -69,7 +73,7 @@
/**
* The internal of name of the super class (see
- * {@link Type#getInternalName() getInternalName}). For
+ * {@link org.eclipse.persistence.internal.libraries.asm.Type#getInternalName() getInternalName}). For
* interfaces, the super class is {@link Object}. May be <tt>null</tt>, but
* only for the {@link Object} class.
*/
@@ -77,7 +81,7 @@
/**
* The internal names of the class's interfaces (see
- * {@link Type#getInternalName() getInternalName}). This
+ * {@link org.eclipse.persistence.internal.libraries.asm.Type#getInternalName() getInternalName}). This
* list is a list of {@link String} objects.
*/
public List<String> interfaces;
@@ -95,6 +99,11 @@
public String sourceDebug;
/**
+ * Module information. May be <tt>null</tt>.
+ */
+ public ModuleNode module;
+
+ /**
* The internal name of the enclosing class of the class. May be
* <tt>null</tt>.
*/
@@ -116,7 +125,7 @@
* The runtime visible annotations of this class. This list is a list of
* {@link AnnotationNode} objects. May be <tt>null</tt>.
*
- * @associates org.objectweb.asm.tree.AnnotationNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.AnnotationNode
* @label visible
*/
public List<AnnotationNode> visibleAnnotations;
@@ -125,7 +134,7 @@
* The runtime invisible annotations of this class. This list is a list of
* {@link AnnotationNode} objects. May be <tt>null</tt>.
*
- * @associates org.objectweb.asm.tree.AnnotationNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.AnnotationNode
* @label invisible
*/
public List<AnnotationNode> invisibleAnnotations;
@@ -134,7 +143,7 @@
* The runtime visible type annotations of this class. This list is a list
* of {@link TypeAnnotationNode} objects. May be <tt>null</tt>.
*
- * @associates org.objectweb.asm.tree.TypeAnnotationNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.TypeAnnotationNode
* @label visible
*/
public List<TypeAnnotationNode> visibleTypeAnnotations;
@@ -143,7 +152,7 @@
* The runtime invisible type annotations of this class. This list is a list
* of {@link TypeAnnotationNode} objects. May be <tt>null</tt>.
*
- * @associates org.objectweb.asm.tree.TypeAnnotationNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.TypeAnnotationNode
* @label invisible
*/
public List<TypeAnnotationNode> invisibleTypeAnnotations;
@@ -152,7 +161,7 @@
* The non standard attributes of this class. This list is a list of
* {@link Attribute} objects. May be <tt>null</tt>.
*
- * @associates org.objectweb.asm.Attribute
+ * @associates org.eclipse.persistence.internal.libraries.asm.Attribute
*/
public List<Attribute> attrs;
@@ -160,7 +169,7 @@
* Informations about the inner classes of this class. This list is a list
* of {@link InnerClassNode} objects.
*
- * @associates org.objectweb.asm.tree.InnerClassNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.InnerClassNode
*/
public List<InnerClassNode> innerClasses;
@@ -168,7 +177,7 @@
* The fields of this class. This list is a list of {@link FieldNode}
* objects.
*
- * @associates org.objectweb.asm.tree.FieldNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.FieldNode
*/
public List<FieldNode> fields;
@@ -176,7 +185,7 @@
* The methods of this class. This list is a list of {@link MethodNode}
* objects.
*
- * @associates org.objectweb.asm.tree.MethodNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.MethodNode
*/
public List<MethodNode> methods;
@@ -189,7 +198,7 @@
* If a subclass calls this constructor.
*/
public ClassNode() {
- this(Opcodes.ASM5);
+ this(Opcodes.ASM6);
if (getClass() != ClassNode.class) {
throw new IllegalStateException();
}
@@ -200,7 +209,7 @@
*
* @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}.
*/
public ClassNode(final int api) {
super(api);
@@ -233,6 +242,11 @@
sourceFile = file;
sourceDebug = debug;
}
+
+ @Override
+ public ModuleVisitor visitModule() {
+ return module = new ModuleNode();
+ }
@Override
public void visitOuterClass(final String owner, final String name,
@@ -244,7 +258,7 @@
@Override
public AnnotationVisitor visitAnnotation(final String desc,
- final boolean visible) {
+ final boolean visible) {
AnnotationNode an = new AnnotationNode(desc);
if (visible) {
if (visibleAnnotations == null) {
@@ -262,7 +276,7 @@
@Override
public AnnotationVisitor visitTypeAnnotation(int typeRef,
- TypePath typePath, String desc, boolean visible) {
+ TypePath typePath, String desc, boolean visible) {
TypeAnnotationNode an = new TypeAnnotationNode(typeRef, typePath, desc);
if (visible) {
if (visibleTypeAnnotations == null) {
@@ -296,7 +310,7 @@
@Override
public FieldVisitor visitField(final int access, final String name,
- final String desc, final String signature, final Object value) {
+ final String desc, final String signature, final Object value) {
FieldNode fn = new FieldNode(access, name, desc, signature, value);
fields.add(fn);
return fn;
@@ -326,8 +340,8 @@
* API than the given version.
*
* @param api
- * an ASM API version. Must be one of {@link Opcodes#ASM4} or
- * {@link Opcodes#ASM5}.
+ * an ASM API version. Must be one of {@link Opcodes#ASM4},
+ * {@link Opcodes#ASM5} or {@link Opcodes#ASM6}.
*/
public void check(final int api) {
if (api == Opcodes.ASM4) {
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/FieldInsnNode.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/FieldInsnNode.java
index bbaf83e..3212fa9 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/FieldInsnNode.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/FieldInsnNode.java
@@ -32,7 +32,6 @@
import java.util.Map;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
-import org.eclipse.persistence.internal.libraries.asm.Type;
/**
* A node that represents a field instruction. A field instruction is an
@@ -44,7 +43,7 @@
/**
* The internal name of the field's owner class (see
- * {@link Type#getInternalName() getInternalName}).
+ * {@link org.eclipse.persistence.internal.libraries.asm.Type#getInternalName() getInternalName}).
*/
public String owner;
@@ -54,7 +53,7 @@
public String name;
/**
- * The field's descriptor (see {@link Type}).
+ * The field's descriptor (see {@link org.eclipse.persistence.internal.libraries.asm.Type}).
*/
public String desc;
@@ -66,12 +65,12 @@
* opcode must be GETSTATIC, PUTSTATIC, GETFIELD or PUTFIELD.
* @param owner
* the internal name of the field's owner class (see
- * {@link Type#getInternalName()
+ * {@link org.eclipse.persistence.internal.libraries.asm.Type#getInternalName()
* getInternalName}).
* @param name
* the field's name.
* @param desc
- * the field's descriptor (see {@link Type}).
+ * the field's descriptor (see {@link org.eclipse.persistence.internal.libraries.asm.Type}).
*/
public FieldInsnNode(final int opcode, final String owner,
final String name, final String desc) {
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/FieldNode.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/FieldNode.java
index 019bbd1..a66ec4c 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/FieldNode.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/FieldNode.java
@@ -32,9 +32,10 @@
import java.util.ArrayList;
import java.util.List;
-import org.eclipse.persistence.internal.libraries.asm.*;
import org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor;
import org.eclipse.persistence.internal.libraries.asm.Attribute;
+import org.eclipse.persistence.internal.libraries.asm.ClassVisitor;
+import org.eclipse.persistence.internal.libraries.asm.FieldVisitor;
import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.TypePath;
@@ -46,7 +47,7 @@
public class FieldNode extends FieldVisitor {
/**
- * The field's access flags (see {@link Opcodes}). This
+ * The field's access flags (see {@link org.eclipse.persistence.internal.libraries.asm.Opcodes}). This
* field also indicates if the field is synthetic and/or deprecated.
*/
public int access;
@@ -57,7 +58,7 @@
public String name;
/**
- * The field's descriptor (see {@link Type}).
+ * The field's descriptor (see {@link org.eclipse.persistence.internal.libraries.asm.Type}).
*/
public String desc;
@@ -77,7 +78,7 @@
* The runtime visible annotations of this field. This list is a list of
* {@link AnnotationNode} objects. May be <tt>null</tt>.
*
- * @associates org.objectweb.asm.tree.AnnotationNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.AnnotationNode
* @label visible
*/
public List<AnnotationNode> visibleAnnotations;
@@ -86,7 +87,7 @@
* The runtime invisible annotations of this field. This list is a list of
* {@link AnnotationNode} objects. May be <tt>null</tt>.
*
- * @associates org.objectweb.asm.tree.AnnotationNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.AnnotationNode
* @label invisible
*/
public List<AnnotationNode> invisibleAnnotations;
@@ -95,7 +96,7 @@
* The runtime visible type annotations of this field. This list is a list
* of {@link TypeAnnotationNode} objects. May be <tt>null</tt>.
*
- * @associates org.objectweb.asm.tree.TypeAnnotationNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.TypeAnnotationNode
* @label visible
*/
public List<TypeAnnotationNode> visibleTypeAnnotations;
@@ -104,7 +105,7 @@
* The runtime invisible type annotations of this field. This list is a list
* of {@link TypeAnnotationNode} objects. May be <tt>null</tt>.
*
- * @associates org.objectweb.asm.tree.TypeAnnotationNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.TypeAnnotationNode
* @label invisible
*/
public List<TypeAnnotationNode> invisibleTypeAnnotations;
@@ -113,7 +114,7 @@
* The non standard attributes of this field. This list is a list of
* {@link Attribute} objects. May be <tt>null</tt>.
*
- * @associates org.objectweb.asm.Attribute
+ * @associates org.eclipse.persistence.internal.libraries.asm.Attribute
*/
public List<Attribute> attrs;
@@ -124,12 +125,12 @@
*
* @param access
* the field's access flags (see
- * {@link Opcodes}). This parameter also
+ * {@link org.eclipse.persistence.internal.libraries.asm.Opcodes}). This parameter also
* indicates if the field is synthetic and/or deprecated.
* @param name
* the field's name.
* @param desc
- * the field's descriptor (see {@link Type
+ * the field's descriptor (see {@link org.eclipse.persistence.internal.libraries.asm.Type
* Type}).
* @param signature
* the field's signature.
@@ -143,7 +144,7 @@
*/
public FieldNode(final int access, final String name, final String desc,
final String signature, final Object value) {
- this(Opcodes.ASM5, access, name, desc, signature, value);
+ this(Opcodes.ASM6, access, name, desc, signature, value);
if (getClass() != FieldNode.class) {
throw new IllegalStateException();
}
@@ -158,12 +159,12 @@
* of {@link Opcodes#ASM4} or {@link Opcodes#ASM5}.
* @param access
* the field's access flags (see
- * {@link Opcodes}). This parameter also
+ * {@link org.eclipse.persistence.internal.libraries.asm.Opcodes}). This parameter also
* indicates if the field is synthetic and/or deprecated.
* @param name
* the field's name.
* @param desc
- * the field's descriptor (see {@link Type
+ * the field's descriptor (see {@link org.eclipse.persistence.internal.libraries.asm.Type
* Type}).
* @param signature
* the field's signature.
@@ -189,7 +190,7 @@
@Override
public AnnotationVisitor visitAnnotation(final String desc,
- final boolean visible) {
+ final boolean visible) {
AnnotationNode an = new AnnotationNode(desc);
if (visible) {
if (visibleAnnotations == null) {
@@ -207,7 +208,7 @@
@Override
public AnnotationVisitor visitTypeAnnotation(int typeRef,
- TypePath typePath, String desc, boolean visible) {
+ TypePath typePath, String desc, boolean visible) {
TypeAnnotationNode an = new TypeAnnotationNode(typeRef, typePath, desc);
if (visible) {
if (visibleTypeAnnotations == null) {
@@ -246,8 +247,8 @@
* API than the given version.
*
* @param api
- * an ASM API version. Must be one of {@link Opcodes#ASM4} or
- * {@link Opcodes#ASM5}.
+ * an ASM API version. Must be one of {@link Opcodes#ASM4},
+ * {@link Opcodes#ASM5} or {@link Opcodes#ASM6}.
*/
public void check(final int api) {
if (api == Opcodes.ASM4) {
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/FrameNode.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/FrameNode.java
index 7e570d6..db71d43 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/FrameNode.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/FrameNode.java
@@ -34,8 +34,8 @@
import java.util.List;
import java.util.Map;
-import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
+import org.eclipse.persistence.internal.libraries.asm.Opcodes;
/**
* A node that represents a stack map frame. These nodes are pseudo instruction
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/InnerClassNode.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/InnerClassNode.java
index f422b5f..38ef768 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/InnerClassNode.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/InnerClassNode.java
@@ -30,7 +30,6 @@
package org.eclipse.persistence.internal.libraries.asm.tree;
import org.eclipse.persistence.internal.libraries.asm.ClassVisitor;
-import org.eclipse.persistence.internal.libraries.asm.Type;
/**
* A node that represents an inner class.
@@ -41,13 +40,13 @@
/**
* The internal name of an inner class (see
- * {@link Type#getInternalName() getInternalName}).
+ * {@link org.eclipse.persistence.internal.libraries.asm.Type#getInternalName() getInternalName}).
*/
public String name;
/**
* The internal name of the class to which the inner class belongs (see
- * {@link Type#getInternalName() getInternalName}). May be
+ * {@link org.eclipse.persistence.internal.libraries.asm.Type#getInternalName() getInternalName}). May be
* <tt>null</tt>.
*/
public String outerName;
@@ -69,11 +68,11 @@
*
* @param name
* the internal name of an inner class (see
- * {@link Type#getInternalName()
+ * {@link org.eclipse.persistence.internal.libraries.asm.Type#getInternalName()
* getInternalName}).
* @param outerName
* the internal name of the class to which the inner class
- * belongs (see {@link Type#getInternalName()
+ * belongs (see {@link org.eclipse.persistence.internal.libraries.asm.Type#getInternalName()
* getInternalName}). May be <tt>null</tt>.
* @param innerName
* the (simple) name of the inner class inside its enclosing
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/InvokeDynamicInsnNode.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/InvokeDynamicInsnNode.java
index 1b9f8cf..0363a3e 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/InvokeDynamicInsnNode.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/InvokeDynamicInsnNode.java
@@ -32,9 +32,8 @@
import java.util.Map;
import org.eclipse.persistence.internal.libraries.asm.Handle;
-import org.eclipse.persistence.internal.libraries.asm.Opcodes;
-import org.eclipse.persistence.internal.libraries.asm.Type;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
+import org.eclipse.persistence.internal.libraries.asm.Opcodes;
/**
* A node that represents an invokedynamic instruction.
@@ -69,7 +68,7 @@
* @param name
* invokedynamic name.
* @param desc
- * invokedynamic descriptor (see {@link Type}).
+ * invokedynamic descriptor (see {@link org.eclipse.persistence.internal.libraries.asm.Type}).
* @param bsm
* the bootstrap method.
* @param bsmArgs
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/LdcInsnNode.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/LdcInsnNode.java
index 65ba3d3..109016c 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/LdcInsnNode.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/LdcInsnNode.java
@@ -31,9 +31,8 @@
import java.util.Map;
-import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
-import org.eclipse.persistence.internal.libraries.asm.Type;
+import org.eclipse.persistence.internal.libraries.asm.Opcodes;
/**
* A node that represents an LDC instruction.
@@ -45,7 +44,7 @@
/**
* The constant to be loaded on the stack. This parameter must be a non null
* {@link Integer}, a {@link Float}, a {@link Long}, a {@link Double}, a
- * {@link String} or a {@link Type}.
+ * {@link String} or a {@link org.eclipse.persistence.internal.libraries.asm.Type}.
*/
public Object cst;
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/LocalVariableAnnotationNode.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/LocalVariableAnnotationNode.java
index 44ae8ca..c25c20a 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/LocalVariableAnnotationNode.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/LocalVariableAnnotationNode.java
@@ -93,7 +93,7 @@
*/
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 @@
*
* @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
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/MethodInsnNode.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/MethodInsnNode.java
index 00dd737..e9d1003 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/MethodInsnNode.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/MethodInsnNode.java
@@ -32,7 +32,6 @@
import java.util.Map;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
-import org.eclipse.persistence.internal.libraries.asm.Type;
import org.eclipse.persistence.internal.libraries.asm.Opcodes;
/**
@@ -45,7 +44,7 @@
/**
* The internal name of the method's owner class (see
- * {@link Type#getInternalName() getInternalName}).
+ * {@link org.eclipse.persistence.internal.libraries.asm.Type#getInternalName() getInternalName}).
*/
public String owner;
@@ -55,7 +54,7 @@
public String name;
/**
- * The method's descriptor (see {@link Type}).
+ * The method's descriptor (see {@link org.eclipse.persistence.internal.libraries.asm.Type}).
*/
public String desc;
@@ -73,12 +72,12 @@
* INVOKEINTERFACE.
* @param owner
* the internal name of the method's owner class (see
- * {@link Type#getInternalName()
+ * {@link org.eclipse.persistence.internal.libraries.asm.Type#getInternalName()
* getInternalName}).
* @param name
* the method's name.
* @param desc
- * the method's descriptor (see {@link Type}).
+ * the method's descriptor (see {@link org.eclipse.persistence.internal.libraries.asm.Type}).
*/
@Deprecated
public MethodInsnNode(final int opcode, final String owner,
@@ -95,12 +94,12 @@
* INVOKEINTERFACE.
* @param owner
* the internal name of the method's owner class (see
- * {@link Type#getInternalName()
+ * {@link org.eclipse.persistence.internal.libraries.asm.Type#getInternalName()
* getInternalName}).
* @param name
* the method's name.
* @param desc
- * the method's descriptor (see {@link Type}).
+ * the method's descriptor (see {@link org.eclipse.persistence.internal.libraries.asm.Type}).
* @param itf
* if the method's owner class is an interface.
*/
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/MethodNode.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/MethodNode.java
index 7370ca1..3546a0b 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/MethodNode.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/MethodNode.java
@@ -87,7 +87,7 @@
* The runtime visible annotations of this method. This list is a list of
* {@link AnnotationNode} objects. May be <tt>null</tt>.
*
- * @associates org.objectweb.asm.tree.AnnotationNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.AnnotationNode
* @label visible
*/
public List<AnnotationNode> visibleAnnotations;
@@ -96,7 +96,7 @@
* The runtime invisible annotations of this method. This list is a list of
* {@link AnnotationNode} objects. May be <tt>null</tt>.
*
- * @associates org.objectweb.asm.tree.AnnotationNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.AnnotationNode
* @label invisible
*/
public List<AnnotationNode> invisibleAnnotations;
@@ -105,7 +105,7 @@
* The runtime visible type annotations of this method. This list is a list
* of {@link TypeAnnotationNode} objects. May be <tt>null</tt>.
*
- * @associates org.objectweb.asm.tree.TypeAnnotationNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.TypeAnnotationNode
* @label visible
*/
public List<TypeAnnotationNode> visibleTypeAnnotations;
@@ -114,7 +114,7 @@
* The runtime invisible type annotations of this method. This list is a
* list of {@link TypeAnnotationNode} objects. May be <tt>null</tt>.
*
- * @associates org.objectweb.asm.tree.TypeAnnotationNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.TypeAnnotationNode
* @label invisible
*/
public List<TypeAnnotationNode> invisibleTypeAnnotations;
@@ -123,7 +123,7 @@
* The non standard attributes of this method. This list is a list of
* {@link Attribute} objects. May be <tt>null</tt>.
*
- * @associates org.objectweb.asm.Attribute
+ * @associates org.eclipse.persistence.internal.libraries.asm.Attribute
*/
public List<Attribute> attrs;
@@ -141,7 +141,7 @@
* The runtime visible parameter annotations of this method. These lists are
* lists of {@link AnnotationNode} objects. May be <tt>null</tt>.
*
- * @associates org.objectweb.asm.tree.AnnotationNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.AnnotationNode
* @label invisible parameters
*/
public List<AnnotationNode>[] visibleParameterAnnotations;
@@ -150,7 +150,7 @@
* The runtime invisible parameter annotations of this method. These lists
* are lists of {@link AnnotationNode} objects. May be <tt>null</tt>.
*
- * @associates org.objectweb.asm.tree.AnnotationNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.AnnotationNode
* @label visible parameters
*/
public List<AnnotationNode>[] invisibleParameterAnnotations;
@@ -159,7 +159,7 @@
* The instructions of this method. This list is a list of
* {@link AbstractInsnNode} objects.
*
- * @associates org.objectweb.asm.tree.AbstractInsnNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.AbstractInsnNode
* @label instructions
*/
public InsnList instructions;
@@ -168,7 +168,7 @@
* The try catch blocks of this method. This list is a list of
* {@link TryCatchBlockNode} objects.
*
- * @associates org.objectweb.asm.tree.TryCatchBlockNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.TryCatchBlockNode
*/
public List<TryCatchBlockNode> tryCatchBlocks;
@@ -186,7 +186,7 @@
* The local variables of this method. This list is a list of
* {@link LocalVariableNode} objects. May be <tt>null</tt>
*
- * @associates org.objectweb.asm.tree.LocalVariableNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.LocalVariableNode
*/
public List<LocalVariableNode> localVariables;
@@ -194,7 +194,7 @@
* The visible local variable annotations of this method. This list is a
* list of {@link LocalVariableAnnotationNode} objects. May be <tt>null</tt>
*
- * @associates org.objectweb.asm.tree.LocalVariableAnnotationNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.LocalVariableAnnotationNode
*/
public List<LocalVariableAnnotationNode> visibleLocalVariableAnnotations;
@@ -202,7 +202,7 @@
* The invisible local variable annotations of this method. This list is a
* list of {@link LocalVariableAnnotationNode} objects. May be <tt>null</tt>
*
- * @associates org.objectweb.asm.tree.LocalVariableAnnotationNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.LocalVariableAnnotationNode
*/
public List<LocalVariableAnnotationNode> invisibleLocalVariableAnnotations;
@@ -220,7 +220,7 @@
* If a subclass calls this constructor.
*/
public MethodNode() {
- this(Opcodes.ASM5);
+ this(Opcodes.ASM6);
if (getClass() != MethodNode.class) {
throw new IllegalStateException();
}
@@ -231,7 +231,7 @@
*
* @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}.
*/
public MethodNode(final int api) {
super(api);
@@ -262,7 +262,7 @@
*/
public MethodNode(final int access, final String name, final String desc,
final String signature, final String[] exceptions) {
- this(Opcodes.ASM5, access, name, desc, signature, exceptions);
+ this(Opcodes.ASM6, access, name, desc, signature, exceptions);
if (getClass() != MethodNode.class) {
throw new IllegalStateException();
}
@@ -273,7 +273,7 @@
*
* @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 access
* the method's access flags (see {@link Opcodes}). This
* parameter also indicates if the method is synthetic and/or
@@ -353,7 +353,7 @@
@Override
public AnnotationVisitor visitTypeAnnotation(int typeRef,
- TypePath typePath, String desc, boolean visible) {
+ TypePath typePath, String desc, boolean visible) {
TypeAnnotationNode an = new TypeAnnotationNode(typeRef, typePath, desc);
if (visible) {
if (visibleTypeAnnotations == null) {
@@ -659,8 +659,8 @@
* versions of the ASM API than the given version.
*
* @param api
- * an ASM API version. Must be one of {@link Opcodes#ASM4} or
- * {@link Opcodes#ASM5}.
+ * an ASM API version. Must be one of {@link Opcodes#ASM4},
+ * {@link Opcodes#ASM5} or {@link Opcodes#ASM6}.
*/
public void check(final int api) {
if (api == Opcodes.ASM4) {
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/ModuleExportNode.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/ModuleExportNode.java
new file mode 100644
index 0000000..9fbdce0
--- /dev/null
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/ModuleExportNode.java
@@ -0,0 +1,75 @@
+/***
+ * 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.eclipse.persistence.internal.libraries.asm.tree;
+
+import java.util.List;
+
+import org.eclipse.persistence.internal.libraries.asm.ModuleVisitor;
+
+/**
+ * A node that represents an exported package with its name and the module that can access to it.
+ *
+ * @author Remi Forax
+ */
+public class ModuleExportNode {
+ /**
+ * The package name.
+ */
+ public String packaze;
+
+ /**
+ * A list of modules that can access to this exported package.
+ * May be <tt>null</tt>.
+ */
+ public List<String> modules;
+
+ /**
+ * Constructs a new {@link ModuleExportNode}.
+ *
+ * @param packaze
+ * the parameter's name.
+ * @param modules
+ * a list of modules that can access to this exported package.
+ */
+ public ModuleExportNode(final String packaze, final List<String> modules) {
+ this.packaze = packaze;
+ this.modules = modules;
+ }
+
+ /**
+ * Makes the given module visitor visit this export declaration.
+ *
+ * @param mv
+ * a module visitor.
+ */
+ public void accept(final ModuleVisitor mv) {
+ mv.visitExport(packaze, (modules == null)? null: modules.toArray(new String[0]));
+ }
+}
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/ModuleNode.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/ModuleNode.java
new file mode 100644
index 0000000..99e81c7
--- /dev/null
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/ModuleNode.java
@@ -0,0 +1,157 @@
+/***
+ * 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.eclipse.persistence.internal.libraries.asm.tree;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.persistence.internal.libraries.asm.ClassVisitor;
+import org.eclipse.persistence.internal.libraries.asm.ModuleVisitor;
+import org.eclipse.persistence.internal.libraries.asm.Opcodes;
+
+/**
+ * A node that represents a module declaration.
+ *
+ * @author Remi Forax
+ */
+public class ModuleNode extends ModuleVisitor {
+ /**
+ * A list of modules can are required by the current module.
+ * May be <tt>null</tt>.
+ */
+ public List<ModuleRequireNode> requires;
+
+ /**
+ * A list of packages that are exported by the current module.
+ * May be <tt>null</tt>.
+ */
+ public List<ModuleExportNode> exports;
+
+ /**
+ * A list of classes in their internal forms that are used
+ * as a service by the current module. May be <tt>null</tt>.
+ */
+ public List<String> uses;
+
+ /**
+ * A list of services along with their implementations provided
+ * by the current module. May be <tt>null</tt>.
+ */
+ public List<ModuleProvideNode> provides;
+
+ public ModuleNode() {
+ super(Opcodes.ASM6);
+ }
+
+ public ModuleNode(final int api,
+ List<ModuleRequireNode> requires,
+ List<ModuleExportNode> exports,
+ List<String> uses,
+ List<ModuleProvideNode> provides) {
+ super(Opcodes.ASM6);
+ this.requires = requires;
+ this.exports = exports;
+ this.uses = uses;
+ this.provides = provides;
+ if (getClass() != ModuleNode.class) {
+ throw new IllegalStateException();
+ }
+ }
+
+ @Override
+ public void visitRequire(String module, int access) {
+ if (requires == null) {
+ requires = new ArrayList<ModuleRequireNode>(5);
+ }
+ requires.add(new ModuleRequireNode(module, access));
+ }
+
+ @Override
+ public void visitExport(String packaze, String... modules) {
+ if (exports == null) {
+ exports = new ArrayList<ModuleExportNode>(5);
+ }
+ List<String> moduleList = null;
+ if (modules != null) {
+ moduleList = new ArrayList<String>(modules.length);
+ for(int i = 0; i < modules.length; i++) {
+ moduleList.add(modules[i]);
+ }
+ }
+ exports.add(new ModuleExportNode(packaze, moduleList));
+ }
+
+ @Override
+ public void visitUse(String service) {
+ if (uses == null) {
+ uses = new ArrayList<String>(5);
+ }
+ uses.add(service);
+ }
+
+ @Override
+ public void visitProvide(String service, String impl) {
+ if (provides == null) {
+ provides = new ArrayList<ModuleProvideNode>(5);
+ }
+ provides.add(new ModuleProvideNode(service, impl));
+ }
+
+ @Override
+ public void visitEnd() {
+ }
+
+ public void accept(final ClassVisitor cv) {
+ ModuleVisitor mv = cv.visitModule();
+ if (mv == null) {
+ return;
+ }
+ if (requires != null) {
+ for(int i = 0; i < requires.size(); i++) {
+ requires.get(i).accept(mv);
+ }
+ }
+ if (exports != null) {
+ for(int i = 0; i < exports.size(); i++) {
+ exports.get(i).accept(mv);
+ }
+ }
+ if (uses != null) {
+ for(int i = 0; i < uses.size(); i++) {
+ mv.visitUse(uses.get(i));
+ }
+ }
+ if (provides != null) {
+ for(int i = 0; i < provides.size(); i++) {
+ provides.get(i).accept(mv);
+ }
+ }
+ }
+}
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/ModuleProvideNode.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/ModuleProvideNode.java
new file mode 100644
index 0000000..9743699
--- /dev/null
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/ModuleProvideNode.java
@@ -0,0 +1,72 @@
+/***
+ * 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.eclipse.persistence.internal.libraries.asm.tree;
+
+import org.eclipse.persistence.internal.libraries.asm.ModuleVisitor;
+
+/**
+ * A node that represents a service and its implementation provided by the current module.
+ *
+ * @author Remi Forax
+ */
+public class ModuleProvideNode {
+ /**
+ * The service name (in its internal form).
+ */
+ public String service;
+
+ /**
+ * The implementation name (in its internal form).
+ */
+ public String impl;
+
+ /**
+ * Constructs a new {@link ModuleProvideNode}.
+ *
+ * @param service
+ * the service name (in its internal form).
+ * @param impl
+ * the implementation name (in its internal form).
+ */
+ public ModuleProvideNode(final String service, final String impl) {
+ this.service = service;
+ this.impl = impl;
+ }
+
+ /**
+ * Makes the given module visitor visit this require declaration.
+ *
+ * @param mv
+ * a module visitor.
+ */
+ public void accept(final ModuleVisitor mv) {
+ mv.visitProvide(service, impl);
+ }
+}
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/ModuleRequireNode.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/ModuleRequireNode.java
new file mode 100644
index 0000000..e4c98b8
--- /dev/null
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/ModuleRequireNode.java
@@ -0,0 +1,76 @@
+/***
+ * 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.eclipse.persistence.internal.libraries.asm.tree;
+
+import org.eclipse.persistence.internal.libraries.asm.ModuleVisitor;
+
+/**
+ * A node that represents a required module with its name and access of a module descriptor.
+ *
+ * @author Remi Forax
+ */
+public class ModuleRequireNode {
+ /**
+ * The name of the required module.
+ */
+ public String module;
+
+ /**
+ * The access flags (see {@link org.eclipse.persistence.internal.libraries.asm.Opcodes}).
+ * Valid values are <tt>ACC_PUBLIC</tt>, <tt>ACC_SYNTHETIC</tt> and
+ * <tt>ACC_MANDATED</tt>.
+ */
+ public int access;
+
+ /**
+ * Constructs a new {@link ModuleRequireNode}.
+ *
+ * @param module
+ * the name of the required module.
+ * @param access
+ * The access flags. Valid values are
+ * <tt>ACC_PUBLIC</tt>, <tt>ACC_SYNTHETIC</tt> or/and
+ * <tt>ACC_MANDATED</tt> (see {@link org.eclipse.persistence.internal.libraries.asm.Opcodes}).
+ */
+ public ModuleRequireNode(final String module, final int access) {
+ this.module = module;
+ this.access = access;
+ }
+
+ /**
+ * Makes the given module visitor visit this require declaration.
+ *
+ * @param mv
+ * a module visitor.
+ */
+ public void accept(final ModuleVisitor mv) {
+ mv.visitRequire(module, access);
+ }
+}
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/MultiANewArrayInsnNode.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/MultiANewArrayInsnNode.java
index dcf7a4d..eb04eba 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/MultiANewArrayInsnNode.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/MultiANewArrayInsnNode.java
@@ -31,9 +31,8 @@
import java.util.Map;
-import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
-import org.eclipse.persistence.internal.libraries.asm.Type;
+import org.eclipse.persistence.internal.libraries.asm.Opcodes;
/**
* A node that represents a MULTIANEWARRAY instruction.
@@ -43,7 +42,7 @@
public class MultiANewArrayInsnNode extends AbstractInsnNode {
/**
- * An array type descriptor (see {@link Type}).
+ * An array type descriptor (see {@link org.eclipse.persistence.internal.libraries.asm.Type}).
*/
public String desc;
@@ -56,7 +55,7 @@
* Constructs a new {@link MultiANewArrayInsnNode}.
*
* @param desc
- * an array type descriptor (see {@link Type}).
+ * an array type descriptor (see {@link org.eclipse.persistence.internal.libraries.asm.Type}).
* @param dims
* number of dimensions of the array to allocate.
*/
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/ParameterNode.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/ParameterNode.java
index 3276043..88b4765 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/ParameterNode.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/ParameterNode.java
@@ -29,7 +29,6 @@
*/
package org.eclipse.persistence.internal.libraries.asm.tree;
-import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
/**
@@ -44,7 +43,7 @@
public String name;
/**
- * The parameter's access flags (see {@link Opcodes}).
+ * The parameter's access flags (see {@link org.eclipse.persistence.internal.libraries.asm.Opcodes}).
* Valid values are <tt>ACC_FINAL</tt>, <tt>ACC_SYNTHETIC</tt> and
* <tt>ACC_MANDATED</tt>.
*/
@@ -56,7 +55,7 @@
* @param access
* The parameter's access flags. Valid values are
* <tt>ACC_FINAL</tt>, <tt>ACC_SYNTHETIC</tt> or/and
- * <tt>ACC_MANDATED</tt> (see {@link Opcodes}).
+ * <tt>ACC_MANDATED</tt> (see {@link org.eclipse.persistence.internal.libraries.asm.Opcodes}).
* @param name
* the parameter's name.
*/
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/TryCatchBlockNode.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/TryCatchBlockNode.java
index dcd9795..b4801e1 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/TryCatchBlockNode.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/TryCatchBlockNode.java
@@ -66,7 +66,7 @@
* list is a list of {@link TypeAnnotationNode} objects. May be
* <tt>null</tt>.
*
- * @associates org.objectweb.asm.tree.TypeAnnotationNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.TypeAnnotationNode
* @label visible
*/
public List<TypeAnnotationNode> visibleTypeAnnotations;
@@ -76,7 +76,7 @@
* This list is a list of {@link TypeAnnotationNode} objects. May be
* <tt>null</tt>.
*
- * @associates org.objectweb.asm.tree.TypeAnnotationNode
+ * @associates org.eclipse.persistence.internal.libraries.asm.tree.TypeAnnotationNode
* @label invisible
*/
public List<TypeAnnotationNode> invisibleTypeAnnotations;
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/TypeAnnotationNode.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/TypeAnnotationNode.java
index 4e2481a..22de38f 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/TypeAnnotationNode.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/TypeAnnotationNode.java
@@ -70,7 +70,7 @@
*/
public TypeAnnotationNode(final int typeRef, final TypePath typePath,
final String desc) {
- this(Opcodes.ASM5, typeRef, typePath, desc);
+ this(Opcodes.ASM6, typeRef, typePath, desc);
if (getClass() != TypeAnnotationNode.class) {
throw new IllegalStateException();
}
@@ -81,7 +81,7 @@
*
* @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 typePath
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/TypeInsnNode.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/TypeInsnNode.java
index 17e890a..65f582f 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/TypeInsnNode.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/TypeInsnNode.java
@@ -32,7 +32,6 @@
import java.util.Map;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
-import org.eclipse.persistence.internal.libraries.asm.Type;
/**
* A node that represents a type instruction. A type instruction is an
@@ -44,7 +43,7 @@
/**
* The operand of this instruction. This operand is an internal name (see
- * {@link Type}).
+ * {@link org.eclipse.persistence.internal.libraries.asm.Type}).
*/
public String desc;
@@ -56,7 +55,7 @@
* opcode must be NEW, ANEWARRAY, CHECKCAST or INSTANCEOF.
* @param desc
* the operand of the instruction to be constructed. This operand
- * is an internal name (see {@link Type}).
+ * is an internal name (see {@link org.eclipse.persistence.internal.libraries.asm.Type}).
*/
public TypeInsnNode(final int opcode, final String desc) {
super(opcode);
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/analysis/Analyzer.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/analysis/Analyzer.java
index edcf9e3..930453b 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/analysis/Analyzer.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/analysis/Analyzer.java
@@ -34,10 +34,10 @@
import java.util.List;
import java.util.Map;
-import org.eclipse.persistence.internal.libraries.asm.tree.IincInsnNode;
import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.Type;
import org.eclipse.persistence.internal.libraries.asm.tree.AbstractInsnNode;
+import org.eclipse.persistence.internal.libraries.asm.tree.IincInsnNode;
import org.eclipse.persistence.internal.libraries.asm.tree.InsnList;
import org.eclipse.persistence.internal.libraries.asm.tree.JumpInsnNode;
import org.eclipse.persistence.internal.libraries.asm.tree.LabelNode;
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/analysis/BasicInterpreter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/analysis/BasicInterpreter.java
index 3006374..7d85e2d 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/analysis/BasicInterpreter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/analysis/BasicInterpreter.java
@@ -53,7 +53,7 @@
Opcodes {
public BasicInterpreter() {
- super(ASM5);
+ super(ASM6);
}
protected BasicInterpreter(final int api) {
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/analysis/BasicVerifier.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/analysis/BasicVerifier.java
index b04f734..3cb40c5 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/analysis/BasicVerifier.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/analysis/BasicVerifier.java
@@ -47,7 +47,7 @@
public class BasicVerifier extends BasicInterpreter {
public BasicVerifier() {
- super(ASM5);
+ super(ASM6);
}
protected BasicVerifier(final int api) {
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/analysis/SimpleVerifier.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/analysis/SimpleVerifier.java
index 771bdfa..af29b63 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/analysis/SimpleVerifier.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/analysis/SimpleVerifier.java
@@ -107,7 +107,7 @@
public SimpleVerifier(final Type currentClass,
final Type currentSuperClass,
final List<Type> currentClassInterfaces, final boolean isInterface) {
- this(ASM5, currentClass, currentSuperClass, currentClassInterfaces,
+ this(ASM6, currentClass, currentSuperClass, currentClassInterfaces,
isInterface);
}
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/analysis/SourceInterpreter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/analysis/SourceInterpreter.java
index 623a80e..b9148ab 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/analysis/SourceInterpreter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/tree/analysis/SourceInterpreter.java
@@ -50,7 +50,7 @@
Opcodes {
public SourceInterpreter() {
- super(ASM5);
+ super(ASM6);
}
protected SourceInterpreter(final int api) {
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/ASMifiable.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/ASMifiable.java
index 9893c17..09fb0f4 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/ASMifiable.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/ASMifiable.java
@@ -31,11 +31,10 @@
import java.util.Map;
-import org.eclipse.persistence.internal.libraries.asm.Attribute;
import org.eclipse.persistence.internal.libraries.asm.Label;
/**
- * An {@link Attribute Attribute} that can print the ASM code
+ * An {@link org.eclipse.persistence.internal.libraries.asm.Attribute Attribute} that can print the ASM code
* to create an equivalent attribute.
*
* @author Eugene Kuleshov
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/ASMifier.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/ASMifier.java
index fa1b648..4c49023 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/ASMifier.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/ASMifier.java
@@ -89,7 +89,7 @@
* If a subclass calls this constructor.
*/
public ASMifier() {
- this(Opcodes.ASM5, "cw", 0);
+ this(Opcodes.ASM6, "cw", 0);
if (getClass() != ASMifier.class) {
throw new IllegalStateException();
}
@@ -100,7 +100,7 @@
*
* @param api
* the ASM API version implemented by this class. Must be one of
- * {@link Opcodes#ASM4} or {@link Opcodes#ASM5}.
+ * {@link Opcodes#ASM4}, {@link Opcodes#ASM5} or {@link Opcodes#ASM6}.
* @param name
* the name of the visitor variable in the produced code.
* @param id
@@ -173,10 +173,10 @@
} else {
text.add("package asm." + name.substring(0, n).replace('/', '.')
+ ";\n");
- simpleName = name.substring(n + 1);
+ simpleName = name.substring(n + 1).replace('-', '_');
}
text.add("import java.util.*;\n");
- text.add("import org.objectweb.asm.*;\n");
+ text.add("import org.eclipse.persistence.internal.libraries.asm.*;\n");
text.add("public class " + simpleName + "Dump implements Opcodes {\n\n");
text.add("public static byte[] dump () throws Exception {\n\n");
text.add("ClassWriter cw = new ClassWriter(0);\n");
@@ -208,6 +208,12 @@
case Opcodes.V1_7:
buf.append("V1_7");
break;
+ case Opcodes.V1_8:
+ buf.append("V1_8");
+ break;
+ case Opcodes.V1_9:
+ buf.append("V1_9");
+ break;
default:
buf.append(version);
break;
@@ -245,6 +251,14 @@
buf.append(");\n\n");
text.add(buf.toString());
}
+
+ @Override
+ public Printer visitModule() {
+ ASMifier a = createASMifier("mdv", 0);
+ text.add("ModuleVisitor mdv = cw.visitModule();\n");
+ text.add(a.getText());
+ return a;
+ }
@Override
public void visitOuterClass(final String owner, final String name,
@@ -268,7 +282,7 @@
@Override
public ASMifier visitClassTypeAnnotation(final int typeRef,
- final TypePath typePath, final String desc, final boolean visible) {
+ final TypePath typePath, final String desc, final boolean visible) {
return visitTypeAnnotation(typeRef, typePath, desc, visible);
}
@@ -357,6 +371,64 @@
}
// ------------------------------------------------------------------------
+ // Module
+ // ------------------------------------------------------------------------
+
+ @Override
+ public void visitRequire(String module, int access) {
+ buf.setLength(0);
+ buf.append("mdv.visitRequire(");
+ appendConstant(buf, module);
+ buf.append(", ");
+ appendAccess(access);
+ buf.append(");\n");
+ text.add(buf.toString());
+ }
+
+ @Override
+ public void visitExport(String packaze, String... modules) {
+ buf.setLength(0);
+ buf.append("mdv.visitExport(");
+ appendConstant(buf, packaze);
+ if (modules != null && modules.length > 0) {
+ buf.append(", new String[] {");
+ for (int i = 0; i < modules.length; ++i) {
+ buf.append(i == 0 ? " " : ", ");
+ appendConstant(modules[i]);
+ }
+ buf.append(" }");
+ }
+ buf.append(");\n");
+ text.add(buf.toString());
+ }
+
+ @Override
+ public void visitUse(String service) {
+ buf.setLength(0);
+ buf.append("mdv.visitUse(");
+ appendConstant(buf, service);
+ buf.append(");\n");
+ text.add(buf.toString());
+ }
+
+ @Override
+ public void visitProvide(String service, String impl) {
+ buf.setLength(0);
+ buf.append("mdv.visitProvide(");
+ appendConstant(buf, service);
+ buf.append(", ");
+ appendConstant(buf, impl);
+ buf.append(");\n");
+ text.add(buf.toString());
+ }
+
+ @Override
+ public void visitModuleEnd() {
+ text.add("mdv.visitEnd();\n");
+ }
+
+
+ // ------------------------------------------------------------------------
// Annotations
// ------------------------------------------------------------------------
@@ -455,7 +527,7 @@
// ------------------------------------------------------------------------
// Methods
// ------------------------------------------------------------------------
-
+
@Override
public void visitParameter(String parameterName, int access) {
buf.setLength(0);
@@ -943,7 +1015,7 @@
// ------------------------------------------------------------------------
protected ASMifier createASMifier(final String name, final int id) {
- return new ASMifier(Opcodes.ASM5, name, id);
+ return new ASMifier(Opcodes.ASM6, name, id);
}
/**
@@ -1084,11 +1156,15 @@
buf.append("ACC_DEPRECATED");
first = false;
}
- if ((access & Opcodes.ACC_MANDATED) != 0) {
+ if ((access & (Opcodes.ACC_MANDATED|Opcodes.ACC_MODULE)) != 0) {
if (!first) {
buf.append(" + ");
}
- buf.append("ACC_MANDATED");
+ if ((access & ACCESS_CLASS) == 0) {
+ buf.append("ACC_MANDATED");
+ } else {
+ buf.append("ACC_MODULE");
+ }
first = false;
}
if (first) {
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/CheckAnnotationAdapter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/CheckAnnotationAdapter.java
index b32c48d..8e61822 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/CheckAnnotationAdapter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/CheckAnnotationAdapter.java
@@ -49,7 +49,7 @@
}
CheckAnnotationAdapter(final AnnotationVisitor av, final boolean named) {
- super(Opcodes.ASM5, av);
+ super(Opcodes.ASM6, av);
this.named = named;
}
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/CheckClassAdapter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/CheckClassAdapter.java
index 7c20246..daf4009 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/CheckClassAdapter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/CheckClassAdapter.java
@@ -37,10 +37,6 @@
import java.util.List;
import java.util.Map;
-import org.eclipse.persistence.internal.libraries.asm.tree.ClassNode;
-import org.eclipse.persistence.internal.libraries.asm.tree.analysis.Analyzer;
-import org.eclipse.persistence.internal.libraries.asm.tree.analysis.BasicValue;
-import org.eclipse.persistence.internal.libraries.asm.tree.analysis.SimpleVerifier;
import org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor;
import org.eclipse.persistence.internal.libraries.asm.Attribute;
import org.eclipse.persistence.internal.libraries.asm.ClassReader;
@@ -48,12 +44,17 @@
import org.eclipse.persistence.internal.libraries.asm.FieldVisitor;
import org.eclipse.persistence.internal.libraries.asm.Label;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
+import org.eclipse.persistence.internal.libraries.asm.ModuleVisitor;
import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.Type;
import org.eclipse.persistence.internal.libraries.asm.TypePath;
import org.eclipse.persistence.internal.libraries.asm.TypeReference;
+import org.eclipse.persistence.internal.libraries.asm.tree.ClassNode;
import org.eclipse.persistence.internal.libraries.asm.tree.MethodNode;
+import org.eclipse.persistence.internal.libraries.asm.tree.analysis.Analyzer;
+import org.eclipse.persistence.internal.libraries.asm.tree.analysis.BasicValue;
import org.eclipse.persistence.internal.libraries.asm.tree.analysis.Frame;
+import org.eclipse.persistence.internal.libraries.asm.tree.analysis.SimpleVerifier;
/**
* A {@link ClassVisitor} that checks that its methods are properly used. More
@@ -93,9 +94,9 @@
* insnNumber locals : stack):
*
* <pre>
- * org.objectweb.asm.tree.analysis.AnalyzerException: Error at instruction 71: Expected I, but found .
- * at org.objectweb.asm.tree.analysis.Analyzer.analyze(Analyzer.java:289)
- * at org.objectweb.asm.util.CheckClassAdapter.verify(CheckClassAdapter.java:135)
+ * org.eclipse.persistence.internal.libraries.asm.tree.analysis.AnalyzerException: Error at instruction 71: Expected I, but found .
+ * at org.eclipse.persistence.internal.libraries.asm.tree.analysis.Analyzer.analyze(Analyzer.java:289)
+ * at org.eclipse.persistence.internal.libraries.asm.util.CheckClassAdapter.verify(CheckClassAdapter.java:135)
* ...
* remove()V
* 00000 LinkedBlockingQueue$Itr . . . . . . . . :
@@ -334,7 +335,7 @@
* If a subclass calls this constructor.
*/
public CheckClassAdapter(final ClassVisitor cv, final boolean checkDataFlow) {
- this(Opcodes.ASM5, cv, checkDataFlow);
+ this(Opcodes.ASM6, cv, checkDataFlow);
if (getClass() != CheckClassAdapter.class) {
throw new IllegalStateException();
}
@@ -345,7 +346,7 @@
*
* @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
* the class visitor to which this adapter must delegate calls.
* @param checkDataFlow
@@ -378,7 +379,8 @@
+ Opcodes.ACC_SUPER + Opcodes.ACC_INTERFACE
+ Opcodes.ACC_ABSTRACT + Opcodes.ACC_SYNTHETIC
+ Opcodes.ACC_ANNOTATION + Opcodes.ACC_ENUM
- + Opcodes.ACC_DEPRECATED + 0x40000); // ClassWriter.ACC_SYNTHETIC_ATTRIBUTE
+ + Opcodes.ACC_DEPRECATED + Opcodes.ACC_MODULE
+ + 0x40000); // ClassWriter.ACC_SYNTHETIC_ATTRIBUTE
if (name == null || !name.endsWith("package-info")) {
CheckMethodAdapter.checkInternalName(name, "class name");
}
@@ -421,6 +423,11 @@
}
@Override
+ public ModuleVisitor visitModule() {
+ return new CheckModuleAdapter(super.visitModule());
+ }
+
+ @Override
public void visitOuterClass(final String owner, final String name,
final String desc) {
checkState();
@@ -525,7 +532,7 @@
@Override
public AnnotationVisitor visitAnnotation(final String desc,
- final boolean visible) {
+ final boolean visible) {
checkState();
CheckMethodAdapter.checkDesc(desc, false);
return new CheckAnnotationAdapter(super.visitAnnotation(desc, visible));
@@ -533,7 +540,7 @@
@Override
public AnnotationVisitor visitTypeAnnotation(final int typeRef,
- final TypePath typePath, final String desc, final boolean visible) {
+ final TypePath typePath, final String desc, final boolean visible) {
checkState();
int sort = typeRef >>> 24;
if (sort != TypeReference.CLASS_TYPE_PARAMETER
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/CheckFieldAdapter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/CheckFieldAdapter.java
index d78bd27..5cc8b8c 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/CheckFieldAdapter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/CheckFieldAdapter.java
@@ -31,9 +31,9 @@
import org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor;
import org.eclipse.persistence.internal.libraries.asm.Attribute;
+import org.eclipse.persistence.internal.libraries.asm.FieldVisitor;
import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.TypePath;
-import org.eclipse.persistence.internal.libraries.asm.FieldVisitor;
import org.eclipse.persistence.internal.libraries.asm.TypeReference;
/**
@@ -54,7 +54,7 @@
* If a subclass calls this constructor.
*/
public CheckFieldAdapter(final FieldVisitor fv) {
- this(Opcodes.ASM5, fv);
+ this(Opcodes.ASM6, fv);
if (getClass() != CheckFieldAdapter.class) {
throw new IllegalStateException();
}
@@ -65,7 +65,7 @@
*
* @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 fv
* the field visitor to which this adapter must delegate calls.
*/
@@ -75,7 +75,7 @@
@Override
public AnnotationVisitor visitAnnotation(final String desc,
- final boolean visible) {
+ final boolean visible) {
checkEnd();
CheckMethodAdapter.checkDesc(desc, false);
return new CheckAnnotationAdapter(super.visitAnnotation(desc, visible));
@@ -83,7 +83,7 @@
@Override
public AnnotationVisitor visitTypeAnnotation(final int typeRef,
- final TypePath typePath, final String desc, final boolean visible) {
+ final TypePath typePath, final String desc, final boolean visible) {
checkEnd();
int sort = typeRef >>> 24;
if (sort != TypeReference.FIELD) {
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/CheckMethodAdapter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/CheckMethodAdapter.java
index 0dd52b4..a75bf8f 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/CheckMethodAdapter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/CheckMethodAdapter.java
@@ -39,9 +39,6 @@
import java.util.Map;
import java.util.Set;
-import org.eclipse.persistence.internal.libraries.asm.tree.analysis.Analyzer;
-import org.eclipse.persistence.internal.libraries.asm.tree.analysis.BasicValue;
-import org.eclipse.persistence.internal.libraries.asm.tree.analysis.BasicVerifier;
import org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor;
import org.eclipse.persistence.internal.libraries.asm.Attribute;
import org.eclipse.persistence.internal.libraries.asm.Handle;
@@ -52,6 +49,9 @@
import org.eclipse.persistence.internal.libraries.asm.TypePath;
import org.eclipse.persistence.internal.libraries.asm.TypeReference;
import org.eclipse.persistence.internal.libraries.asm.tree.MethodNode;
+import org.eclipse.persistence.internal.libraries.asm.tree.analysis.Analyzer;
+import org.eclipse.persistence.internal.libraries.asm.tree.analysis.BasicValue;
+import org.eclipse.persistence.internal.libraries.asm.tree.analysis.BasicVerifier;
/**
* A {@link MethodVisitor} that checks that its methods are properly used. More
@@ -60,7 +60,7 @@
* arguments - such as the fact that the given opcode is correct for a given
* visit method. This adapter can also perform some basic data flow checks (more
* precisely those that can be performed without the full class hierarchy - see
- * {@link BasicVerifier}). For instance in a
+ * {@link org.eclipse.persistence.internal.libraries.asm.tree.analysis.BasicVerifier}). For instance in a
* method whose signature is <tt>void m ()</tt>, the invalid instruction
* IRETURN, or the invalid sequence IADD L2I will be detected if the data flow
* checks are enabled. These checks are enabled by using the
@@ -397,7 +397,7 @@
*/
public CheckMethodAdapter(final MethodVisitor mv,
final Map<Label, Integer> labels) {
- this(Opcodes.ASM5, mv, labels);
+ this(Opcodes.ASM6, mv, labels);
if (getClass() != CheckMethodAdapter.class) {
throw new IllegalStateException();
}
@@ -410,7 +410,8 @@
*
* @param api
* the ASM API version implemented by this CheckMethodAdapter.
- * 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}.
* @param mv
* the method visitor to which this adapter must delegate calls.
* @param labels
@@ -483,7 +484,7 @@
@Override
public AnnotationVisitor visitAnnotation(final String desc,
- final boolean visible) {
+ final boolean visible) {
checkEndMethod();
checkDesc(desc, false);
return new CheckAnnotationAdapter(super.visitAnnotation(desc, visible));
@@ -491,7 +492,7 @@
@Override
public AnnotationVisitor visitTypeAnnotation(final int typeRef,
- final TypePath typePath, final String desc, final boolean visible) {
+ final TypePath typePath, final String desc, final boolean visible) {
checkEndMethod();
int sort = typeRef >>> 24;
if (sort != TypeReference.METHOD_TYPE_PARAMETER
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/CheckModuleAdapter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/CheckModuleAdapter.java
new file mode 100644
index 0000000..41633a4
--- /dev/null
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/CheckModuleAdapter.java
@@ -0,0 +1,98 @@
+/***
+ * 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.eclipse.persistence.internal.libraries.asm.util;
+
+import org.eclipse.persistence.internal.libraries.asm.ModuleVisitor;
+import org.eclipse.persistence.internal.libraries.asm.Opcodes;
+
+/**
+ * @author Remi Forax
+ */
+public final class CheckModuleAdapter extends ModuleVisitor {
+ private boolean end;
+
+ public CheckModuleAdapter(final ModuleVisitor mv) {
+ super(Opcodes.ASM6, mv);
+ }
+
+ @Override
+ public void visitRequire(String module, int access) {
+ checkEnd();
+ if (module == null) {
+ throw new IllegalArgumentException("require cannot be null");
+ }
+ super.visitRequire(module, access);
+ }
+
+ @Override
+ public void visitExport(String packaze, String... modules) {
+ checkEnd();
+ if (packaze == null) {
+ throw new IllegalArgumentException("require cannot be null");
+ }
+ if (modules != null) {
+ for(int i = 0; i < modules.length; i++) {
+ if (modules[i] == null) {
+ throw new IllegalArgumentException("to at index " + i + " cannot be null");
+ }
+ }
+ }
+ super.visitExport(packaze, modules);
+ }
+
+ @Override
+ public void visitUse(String service) {
+ checkEnd();
+ CheckMethodAdapter.checkInternalName(service, "service");
+ super.visitUse(service);
+ }
+
+ @Override
+ public void visitProvide(String service, String impl) {
+ checkEnd();
+ CheckMethodAdapter.checkInternalName(service, "service");
+ CheckMethodAdapter.checkInternalName(impl, "impl");
+ super.visitProvide(service, impl);
+ }
+
+ @Override
+ public void visitEnd() {
+ checkEnd();
+ end = true;
+ super.visitEnd();
+ }
+
+ private void checkEnd() {
+ if (end) {
+ throw new IllegalStateException(
+ "Cannot call a visit method after visitEnd has been called");
+ }
+ }
+}
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/CheckSignatureAdapter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/CheckSignatureAdapter.java
index cb17d17..37c94d4 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/CheckSignatureAdapter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/CheckSignatureAdapter.java
@@ -113,7 +113,7 @@
* <tt>null</tt>.
*/
public CheckSignatureAdapter(final int type, final SignatureVisitor sv) {
- this(Opcodes.ASM5, type, sv);
+ this(Opcodes.ASM6, type, sv);
}
/**
@@ -121,7 +121,7 @@
*
* @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 type
* the type of signature to be checked. See
* {@link #CLASS_SIGNATURE}, {@link #METHOD_SIGNATURE} and
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/Printer.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/Printer.java
index 8123a58..48f4924 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/Printer.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/Printer.java
@@ -33,7 +33,10 @@
import java.util.ArrayList;
import java.util.List;
-import org.eclipse.persistence.internal.libraries.asm.*;
+import org.eclipse.persistence.internal.libraries.asm.Attribute;
+import org.eclipse.persistence.internal.libraries.asm.Handle;
+import org.eclipse.persistence.internal.libraries.asm.Label;
+import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.TypePath;
/**
@@ -50,14 +53,14 @@
/**
* The names of the for <code>operand</code> parameter values of the
- * {@link MethodVisitor#visitIntInsn} method when
+ * {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitIntInsn} method when
* <code>opcode</code> is <code>NEWARRAY</code>.
*/
public static final String[] TYPES;
/**
* The names of the <code>tag</code> field values for
- * {@link Handle}.
+ * {@link org.eclipse.persistence.internal.libraries.asm.Handle}.
*/
public static final String[] HANDLE_TAG;
@@ -114,7 +117,7 @@
/**
* 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,7 +145,7 @@
*
* @param api
* the ASM API version implemented by this printer. Must be one
- * of {@link Opcodes#ASM4} or {@link Opcodes#ASM5}.
+ * of {@link Opcodes#ASM4}, {@link Opcodes#ASM5} or {@link Opcodes#ASM6}.
*/
protected Printer(final int api) {
this.api = api;
@@ -152,7 +155,7 @@
/**
* Class header.
- * See {@link ClassVisitor#visit}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.ClassVisitor#visit}.
*
* @param version
* the class version.
@@ -161,19 +164,19 @@
* also indicates if the class is deprecated.
* @param name
* the internal name of the class (see
- * {@link Type#getInternalName() getInternalName}).
+ * {@link org.eclipse.persistence.internal.libraries.asm.Type#getInternalName() getInternalName}).
* @param signature
* the signature of this class. May be <tt>null</tt> 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 Type#getInternalName() getInternalName}).
+ * {@link org.eclipse.persistence.internal.libraries.asm.Type#getInternalName() getInternalName}).
* For interfaces, the super class is {@link Object}. May be
* <tt>null</tt>, but only for the {@link Object} class.
* @param interfaces
* the internal names of the class's interfaces (see
- * {@link Type#getInternalName() getInternalName}).
+ * {@link org.eclipse.persistence.internal.libraries.asm.Type#getInternalName() getInternalName}).
* May be <tt>null</tt>.
*/
public abstract void visit(final int version, final int access,
@@ -182,7 +185,7 @@
/**
* Class source.
- * See {@link ClassVisitor#visitSource}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.ClassVisitor#visitSource}.
*
* @param source
* the name of the source file from which the class was compiled.
@@ -194,9 +197,14 @@
*/
public abstract void visitSource(final String source, final String debug);
+
+ public Printer visitModule() {
+ throw new RuntimeException("Must be overriden");
+ }
+
/**
* Class outer class.
- * See {@link ClassVisitor#visitOuterClass}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.ClassVisitor#visitOuterClass}.
*
* Visits the enclosing class of the class. This method must be called only
* if the class has an enclosing class.
@@ -217,7 +225,7 @@
/**
* Class annotation.
- * See {@link ClassVisitor#visitAnnotation}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.ClassVisitor#visitAnnotation}.
*
* @param desc
* the class descriptor of the annotation class.
@@ -230,15 +238,15 @@
/**
* Class type annotation.
- * See {@link ClassVisitor#visitTypeAnnotation}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.ClassVisitor#visitTypeAnnotation}.
*
* @param typeRef
* a reference to the annotated type. The sort of this type
* reference must be
- * {@link TypeReference#CLASS_TYPE_PARAMETER CLASS_TYPE_PARAMETER},
- * {@link TypeReference#CLASS_TYPE_PARAMETER_BOUND CLASS_TYPE_PARAMETER_BOUND}
- * or {@link TypeReference#CLASS_EXTENDS CLASS_EXTENDS}.
- * See {@link TypeReference}.
+ * {@link org.eclipse.persistence.internal.libraries.asm.TypeReference#CLASS_TYPE_PARAMETER CLASS_TYPE_PARAMETER},
+ * {@link org.eclipse.persistence.internal.libraries.asm.TypeReference#CLASS_TYPE_PARAMETER_BOUND CLASS_TYPE_PARAMETER_BOUND}
+ * or {@link org.eclipse.persistence.internal.libraries.asm.TypeReference#CLASS_EXTENDS CLASS_EXTENDS}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.TypeReference}.
* @param typePath
* the path to the annotated type argument, wildcard bound, array
* element type, or static inner type within 'typeRef'. May be
@@ -250,13 +258,13 @@
* @return the printer
*/
public Printer visitClassTypeAnnotation(final int typeRef,
- final TypePath typePath, final String desc, final boolean visible) {
+ final TypePath typePath, final String desc, final boolean visible) {
throw new RuntimeException("Must be overriden");
}
/**
* Class attribute.
- * See {@link ClassVisitor#visitAttribute}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.ClassVisitor#visitAttribute}.
*
* @param attr
* an attribute.
@@ -265,14 +273,14 @@
/**
* Class inner name.
- * See {@link ClassVisitor#visitInnerClass}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.ClassVisitor#visitInnerClass}.
*
* @param name
* the internal name of an inner class (see
- * {@link Type#getInternalName() getInternalName}).
+ * {@link org.eclipse.persistence.internal.libraries.asm.Type#getInternalName() getInternalName}).
* @param outerName
* the internal name of the class to which the inner class
- * belongs (see {@link Type#getInternalName() getInternalName}).
+ * belongs (see {@link org.eclipse.persistence.internal.libraries.asm.Type#getInternalName() getInternalName}).
* May be <tt>null</tt> for not member classes.
* @param innerName
* the (simple) name of the inner class inside its enclosing
@@ -286,7 +294,7 @@
/**
* Class field.
- * See {@link ClassVisitor#visitField}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.ClassVisitor#visitField}.
*
* @param access
* the field's access flags (see {@link Opcodes}). This parameter
@@ -294,7 +302,7 @@
* @param name
* the field's name.
* @param desc
- * the field's descriptor (see {@link Type Type}).
+ * the field's descriptor (see {@link org.eclipse.persistence.internal.libraries.asm.Type Type}).
* @param signature
* the field's signature. May be <tt>null</tt> if the field's
* type does not use generic types.
@@ -315,7 +323,7 @@
/**
* Class method.
- * See {@link ClassVisitor#visitMethod}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.ClassVisitor#visitMethod}.
*
* @param access
* the method's access flags (see {@link Opcodes}). This
@@ -324,14 +332,14 @@
* @param name
* the method's name.
* @param desc
- * the method's descriptor (see {@link Type Type}).
+ * the method's descriptor (see {@link org.eclipse.persistence.internal.libraries.asm.Type Type}).
* @param signature
* the method's signature. May be <tt>null</tt> if the method
* parameters, return type and exceptions do not use generic
* types.
* @param exceptions
* the internal names of the method's exception classes (see
- * {@link Type#getInternalName() getInternalName}). May be
+ * {@link org.eclipse.persistence.internal.libraries.asm.Type#getInternalName() getInternalName}). May be
* <tt>null</tt>.
* @return the printer
*/
@@ -339,17 +347,44 @@
final String desc, final String signature, final String[] exceptions);
/**
- * Class end. See {@link ClassVisitor#visitEnd}.
+ * Class end. See {@link org.eclipse.persistence.internal.libraries.asm.ClassVisitor#visitEnd}.
*/
public abstract void visitClassEnd();
// ------------------------------------------------------------------------
+ // Module
+ // ------------------------------------------------------------------------
+
+ public void visitRequire(String module, int access) {
+ throw new RuntimeException("Must be overriden");
+ }
+
+ public void visitExport(String packaze, String... modules) {
+ throw new RuntimeException("Must be overriden");
+ }
+
+ public void visitUse(String service) {
+ throw new RuntimeException("Must be overriden");
+ }
+
+ public void visitProvide(String service, String impl) {
+ throw new RuntimeException("Must be overriden");
+ }
+
+ /**
+ * Module end. See {@link org.eclipse.persistence.internal.libraries.asm.ModuleVisitor#visitEnd}.
+ */
+ public void visitModuleEnd() {
+ throw new RuntimeException("Must be overriden");
+ }
+
+ // ------------------------------------------------------------------------
// Annotations
// ------------------------------------------------------------------------
/**
* Annotation value.
- * See {@link AnnotationVisitor#visit}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor#visit}.
*
* @param name
* the value name.
@@ -357,7 +392,7 @@
* the actual value, whose type must be {@link Byte},
* {@link Boolean}, {@link Character}, {@link Short},
* {@link Integer} , {@link Long}, {@link Float}, {@link Double},
- * {@link String} or {@link Type}
+ * {@link String} or {@link org.eclipse.persistence.internal.libraries.asm.Type}
* or OBJECT or ARRAY sort.
* This value can also be an array of byte, boolean, short, char, int,
* long, float or double values (this is equivalent to using
@@ -368,7 +403,7 @@
/**
* Annotation enum value.
- * See {@link AnnotationVisitor#visitEnum}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor#visitEnum}.
*
* Visits an enumeration value of the annotation.
*
@@ -384,7 +419,7 @@
/**
* Nested annotation value.
- * See {@link AnnotationVisitor#visitAnnotation}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor#visitAnnotation}.
*
* @param name
* the value name.
@@ -396,12 +431,12 @@
/**
* Annotation array value.
- * See {@link AnnotationVisitor#visitArray}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor#visitArray}.
*
* Visits an array value of the annotation. Note that arrays of primitive
* types (such as byte, boolean, short, char, int, long, float or double)
* can be passed as value to {@link #visit visit}. This is what
- * {@link ClassReader} does.
+ * {@link org.eclipse.persistence.internal.libraries.asm.ClassReader} does.
*
* @param name
* the value name.
@@ -410,7 +445,7 @@
public abstract Printer visitArray(final String name);
/**
- * Annotation end. See {@link AnnotationVisitor#visitEnd}.
+ * Annotation end. See {@link org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor#visitEnd}.
*/
public abstract void visitAnnotationEnd();
@@ -420,7 +455,7 @@
/**
* Field annotation.
- * See {@link FieldVisitor#visitAnnotation}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.FieldVisitor#visitAnnotation}.
*
* @param desc
* the class descriptor of the annotation class.
@@ -433,12 +468,12 @@
/**
* Field type annotation.
- * See {@link FieldVisitor#visitTypeAnnotation}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.FieldVisitor#visitTypeAnnotation}.
*
* @param typeRef
* a reference to the annotated type. The sort of this type
- * reference must be {@link TypeReference#FIELD FIELD}.
- * See {@link TypeReference}.
+ * reference must be {@link org.eclipse.persistence.internal.libraries.asm.TypeReference#FIELD FIELD}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.TypeReference}.
* @param typePath
* the path to the annotated type argument, wildcard bound, array
* element type, or static inner type within 'typeRef'. May be
@@ -456,7 +491,7 @@
/**
* Field attribute.
- * See {@link FieldVisitor#visitAttribute}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.FieldVisitor#visitAttribute}.
*
* @param attr
* an attribute.
@@ -465,7 +500,7 @@
/**
* Field end.
- * See {@link FieldVisitor#visitEnd}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.FieldVisitor#visitEnd}.
*/
public abstract void visitFieldEnd();
@@ -475,7 +510,7 @@
/**
* Method parameter.
- * See {@link MethodVisitor#visitParameter(String, int)}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitParameter(String, int)}.
*
* @param name
* parameter name or null if none is provided.
@@ -490,7 +525,7 @@
/**
* Method default annotation.
- * See {@link MethodVisitor#visitAnnotationDefault}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitAnnotationDefault}.
*
* @return the printer
*/
@@ -498,7 +533,7 @@
/**
* Method annotation.
- * See {@link MethodVisitor#visitAnnotation}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitAnnotation}.
*
* @param desc
* the class descriptor of the annotation class.
@@ -511,12 +546,12 @@
/**
* Method type annotation.
- * See {@link MethodVisitor#visitTypeAnnotation}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitTypeAnnotation}.
*
* @param typeRef
* a reference to the annotated type. The sort of this type
- * reference must be {@link TypeReference#FIELD FIELD}.
- * See {@link TypeReference}.
+ * reference must be {@link org.eclipse.persistence.internal.libraries.asm.TypeReference#FIELD FIELD}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.TypeReference}.
* @param typePath
* the path to the annotated type argument, wildcard bound, array
* element type, or static inner type within 'typeRef'. May be
@@ -534,7 +569,7 @@
/**
* Method parameter annotation.
- * See {@link MethodVisitor#visitParameterAnnotation}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitParameterAnnotation}.
*
* @param parameter
* the parameter index.
@@ -549,7 +584,7 @@
/**
* Method attribute.
- * See {@link MethodVisitor#visitAttribute}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitAttribute}.
*
* @param attr
* an attribute.
@@ -558,13 +593,13 @@
/**
* Method start.
- * See {@link MethodVisitor#visitCode}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitCode}.
*/
public abstract void visitCode();
/**
* Method stack frame.
- * See {@link MethodVisitor#visitFrame}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitFrame}.
*
* Visits the current state of the local variables and operand stack
* elements. This method must(*) be called <i>just before</i> any
@@ -645,7 +680,7 @@
/**
* Method instruction.
- * See {@link MethodVisitor#visitInsn}
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitInsn}
*
* @param opcode
* the opcode of the instruction to be visited. This opcode is
@@ -668,7 +703,7 @@
/**
* Method instruction.
- * See {@link MethodVisitor#visitIntInsn}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitIntInsn}.
*
* @param opcode
* the opcode of the instruction to be visited. This opcode is
@@ -689,7 +724,7 @@
/**
* Method instruction.
- * See {@link MethodVisitor#visitVarInsn}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitVarInsn}.
*
* @param opcode
* the opcode of the local variable instruction to be visited.
@@ -703,7 +738,7 @@
/**
* Method instruction.
- * See {@link MethodVisitor#visitTypeInsn}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitTypeInsn}.
*
/**
* Visits a type instruction. A type instruction is an instruction that
@@ -715,31 +750,31 @@
* @param type
* the operand of the instruction to be visited. This operand
* must be the internal name of an object or array class (see
- * {@link Type#getInternalName() getInternalName}).
+ * {@link org.eclipse.persistence.internal.libraries.asm.Type#getInternalName() getInternalName}).
*/
public abstract void visitTypeInsn(final int opcode, final String type);
/**
* Method instruction.
- * See {@link MethodVisitor#visitFieldInsn}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitFieldInsn}.
*
* @param opcode
* the opcode of the type instruction to be visited. This opcode
* is either GETSTATIC, PUTSTATIC, GETFIELD or PUTFIELD.
* @param owner
* the internal name of the field's owner class (see
- * {@link Type#getInternalName() getInternalName}).
+ * {@link org.eclipse.persistence.internal.libraries.asm.Type#getInternalName() getInternalName}).
* @param name
* the field's name.
* @param desc
- * the field's descriptor (see {@link Type Type}).
+ * the field's descriptor (see {@link org.eclipse.persistence.internal.libraries.asm.Type Type}).
*/
public abstract void visitFieldInsn(final int opcode, final String owner,
final String name, final String desc);
/**
* Method instruction.
- * See {@link MethodVisitor#visitMethodInsn}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitMethodInsn}.
*
* @param opcode
* the opcode of the type instruction to be visited. This opcode
@@ -747,11 +782,11 @@
* INVOKEINTERFACE.
* @param owner
* the internal name of the method's owner class (see
- * {@link Type#getInternalName() getInternalName}).
+ * {@link org.eclipse.persistence.internal.libraries.asm.Type#getInternalName() getInternalName}).
* @param name
* the method's name.
* @param desc
- * the method's descriptor (see {@link Type Type}).
+ * the method's descriptor (see {@link org.eclipse.persistence.internal.libraries.asm.Type Type}).
*/
@Deprecated
public void visitMethodInsn(final int opcode, final String owner,
@@ -766,7 +801,7 @@
/**
* Method instruction.
- * See {@link MethodVisitor#visitMethodInsn}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitMethodInsn}.
*
* @param opcode
* the opcode of the type instruction to be visited. This opcode
@@ -774,11 +809,11 @@
* INVOKEINTERFACE.
* @param owner
* the internal name of the method's owner class (see
- * {@link Type#getInternalName() getInternalName}).
+ * {@link org.eclipse.persistence.internal.libraries.asm.Type#getInternalName() getInternalName}).
* @param name
* the method's name.
* @param desc
- * the method's descriptor (see {@link Type Type}).
+ * the method's descriptor (see {@link org.eclipse.persistence.internal.libraries.asm.Type Type}).
* @param itf
* if the method's owner class is an interface.
*/
@@ -797,20 +832,20 @@
/**
* Method instruction.
- * See {@link MethodVisitor#visitInvokeDynamicInsn}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitInvokeDynamicInsn}.
*
* Visits an invokedynamic instruction.
*
* @param name
* the method's name.
* @param desc
- * the method's descriptor (see {@link Type Type}).
+ * the method's descriptor (see {@link org.eclipse.persistence.internal.libraries.asm.Type Type}).
* @param bsm
* the bootstrap method.
* @param bsmArgs
* the bootstrap method constant arguments. Each argument must be
* an {@link Integer}, {@link Float}, {@link Long},
- * {@link Double}, {@link String}, {@link Type} or {@link Handle}
+ * {@link Double}, {@link String}, {@link org.eclipse.persistence.internal.libraries.asm.Type} or {@link Handle}
* value. This method is allowed to modify the content of the
* array so a caller should expect that this array may change.
*/
@@ -819,7 +854,7 @@
/**
* Method jump instruction.
- * See {@link MethodVisitor#visitJumpInsn}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitJumpInsn}.
*
* @param opcode
* the opcode of the type instruction to be visited. This opcode
@@ -835,7 +870,7 @@
/**
* Method label.
- * See {@link MethodVisitor#visitLabel}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitLabel}.
*
* @param label
* a {@link Label Label} object.
@@ -844,7 +879,7 @@
/**
* Method instruction.
- * See {@link MethodVisitor#visitLdcInsn}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitLdcInsn}.
*
* Visits a LDC instruction. Note that new constant types may be added in
* future versions of the Java Virtual Machine. To easily detect new
@@ -883,9 +918,9 @@
* @param cst
* the constant to be loaded on the stack. This parameter must be
* a non null {@link Integer}, a {@link Float}, a {@link Long}, a
- * {@link Double}, a {@link String}, a {@link Type}
+ * {@link Double}, a {@link String}, a {@link org.eclipse.persistence.internal.libraries.asm.Type}
* of OBJECT or ARRAY sort for <tt>.class</tt> constants, for classes whose
- * version is 49.0, a {@link Type} of METHOD sort or a
+ * version is 49.0, a {@link org.eclipse.persistence.internal.libraries.asm.Type} of METHOD sort or a
* {@link Handle} for MethodType and MethodHandle constants, for
* classes whose version is 51.0.
*/
@@ -893,7 +928,7 @@
/**
* Method instruction.
- * See {@link MethodVisitor#visitIincInsn}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitIincInsn}.
*
* @param var
* index of the local variable to be incremented.
@@ -904,7 +939,7 @@
/**
* Method instruction.
- * See {@link MethodVisitor#visitTableSwitchInsn}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitTableSwitchInsn}.
*
* @param min
* the minimum key value.
@@ -921,7 +956,7 @@
/**
* Method instruction.
- * See {@link MethodVisitor#visitLookupSwitchInsn}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitLookupSwitchInsn}.
*
* @param dflt
* beginning of the default handler block.
@@ -936,10 +971,10 @@
/**
* Method instruction.
- * See {@link MethodVisitor#visitMultiANewArrayInsn}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitMultiANewArrayInsn}.
*
* @param desc
- * an array type descriptor (see {@link Type Type}).
+ * an array type descriptor (see {@link org.eclipse.persistence.internal.libraries.asm.Type Type}).
* @param dims
* number of dimensions of the array to allocate.
*/
@@ -948,20 +983,20 @@
/**
* Instruction type annotation.
- * See {@link MethodVisitor#visitInsnAnnotation}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitInsnAnnotation}.
*
* @param typeRef
* a reference to the annotated type. The sort of this type
- * reference must be {@link TypeReference#INSTANCEOF INSTANCEOF},
- * {@link TypeReference#NEW NEW},
- * {@link TypeReference#CONSTRUCTOR_REFERENCE CONSTRUCTOR_REFERENCE},
- * {@link TypeReference#METHOD_REFERENCE METHOD_REFERENCE},
- * {@link TypeReference#CAST CAST},
- * {@link TypeReference#CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT},
- * {@link TypeReference#METHOD_INVOCATION_TYPE_ARGUMENT METHOD_INVOCATION_TYPE_ARGUMENT},
- * {@link TypeReference#CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT},
- * or {@link TypeReference#METHOD_REFERENCE_TYPE_ARGUMENT METHOD_REFERENCE_TYPE_ARGUMENT}.
- * See {@link TypeReference}.
+ * reference must be {@link org.eclipse.persistence.internal.libraries.asm.TypeReference#INSTANCEOF INSTANCEOF},
+ * {@link org.eclipse.persistence.internal.libraries.asm.TypeReference#NEW NEW},
+ * {@link org.eclipse.persistence.internal.libraries.asm.TypeReference#CONSTRUCTOR_REFERENCE CONSTRUCTOR_REFERENCE},
+ * {@link org.eclipse.persistence.internal.libraries.asm.TypeReference#METHOD_REFERENCE METHOD_REFERENCE},
+ * {@link org.eclipse.persistence.internal.libraries.asm.TypeReference#CAST CAST},
+ * {@link org.eclipse.persistence.internal.libraries.asm.TypeReference#CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT},
+ * {@link org.eclipse.persistence.internal.libraries.asm.TypeReference#METHOD_INVOCATION_TYPE_ARGUMENT METHOD_INVOCATION_TYPE_ARGUMENT},
+ * {@link org.eclipse.persistence.internal.libraries.asm.TypeReference#CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT},
+ * or {@link org.eclipse.persistence.internal.libraries.asm.TypeReference#METHOD_REFERENCE_TYPE_ARGUMENT METHOD_REFERENCE_TYPE_ARGUMENT}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.TypeReference}.
* @param typePath
* the path to the annotated type argument, wildcard bound, array
* element type, or static inner type within 'typeRef'. May be
@@ -979,7 +1014,7 @@
/**
* Method exception handler.
- * See {@link MethodVisitor#visitTryCatchBlock}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitTryCatchBlock}.
*
* @param start
* beginning of the exception handler's scope (inclusive).
@@ -1000,13 +1035,13 @@
/**
* Try catch block type annotation.
- * See {@link MethodVisitor#visitTryCatchAnnotation}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitTryCatchAnnotation}.
*
* @param typeRef
* a reference to the annotated type. The sort of this type
- * reference must be {@link TypeReference#EXCEPTION_PARAMETER
+ * reference must be {@link org.eclipse.persistence.internal.libraries.asm.TypeReference#EXCEPTION_PARAMETER
* EXCEPTION_PARAMETER}.
- * See {@link TypeReference}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.TypeReference}.
* @param typePath
* the path to the annotated type argument, wildcard bound, array
* element type, or static inner type within 'typeRef'. May be
@@ -1024,7 +1059,7 @@
/**
* Method debug info.
- * See {@link MethodVisitor#visitLocalVariable}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitLocalVariable}.
*
* @param name
* the name of a local variable.
@@ -1052,14 +1087,14 @@
/**
* Local variable type annotation.
- * See {@link MethodVisitor#visitTryCatchAnnotation}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitTryCatchAnnotation}.
*
* @param typeRef
* a reference to the annotated type. The sort of this type
- * reference must be {@link TypeReference#LOCAL_VARIABLE
- * LOCAL_VARIABLE} or {@link TypeReference#RESOURCE_VARIABLE
+ * reference must be {@link org.eclipse.persistence.internal.libraries.asm.TypeReference#LOCAL_VARIABLE
+ * LOCAL_VARIABLE} or {@link org.eclipse.persistence.internal.libraries.asm.TypeReference#RESOURCE_VARIABLE
* RESOURCE_VARIABLE}.
- * See {@link TypeReference}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.TypeReference}.
* @param typePath
* the path to the annotated type argument, wildcard bound, array
* element type, or static inner type within 'typeRef'. May be
@@ -1088,7 +1123,7 @@
/**
* Method debug info.
- * See {@link MethodVisitor#visitLineNumber}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitLineNumber}.
*
* @param line
* a line number. This number refers to the source file from
@@ -1103,7 +1138,7 @@
/**
* Method max stack and max locals.
- * See {@link MethodVisitor#visitMaxs}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitMaxs}.
*
* @param maxStack
* maximum stack size of the method.
@@ -1114,7 +1149,7 @@
/**
* Method end.
- * See {@link MethodVisitor#visitEnd}.
+ * See {@link org.eclipse.persistence.internal.libraries.asm.MethodVisitor#visitEnd}.
*/
public abstract void visitMethodEnd();
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/Textifiable.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/Textifiable.java
index b39a236..3124657 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/Textifiable.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/Textifiable.java
@@ -31,11 +31,10 @@
import java.util.Map;
-import org.eclipse.persistence.internal.libraries.asm.Attribute;
import org.eclipse.persistence.internal.libraries.asm.Label;
/**
- * An {@link Attribute Attribute} that can print a readable
+ * An {@link org.eclipse.persistence.internal.libraries.asm.Attribute Attribute} that can print a readable
* representation of itself.
*
* Implementations should construct readable output from an attribute data
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/Textifier.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/Textifier.java
index 2a75c71..0f93fda 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/Textifier.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/Textifier.java
@@ -34,7 +34,6 @@
import java.util.HashMap;
import java.util.Map;
-import org.eclipse.persistence.internal.libraries.asm.signature.SignatureReader;
import org.eclipse.persistence.internal.libraries.asm.Attribute;
import org.eclipse.persistence.internal.libraries.asm.ClassReader;
import org.eclipse.persistence.internal.libraries.asm.Handle;
@@ -43,6 +42,7 @@
import org.eclipse.persistence.internal.libraries.asm.Type;
import org.eclipse.persistence.internal.libraries.asm.TypePath;
import org.eclipse.persistence.internal.libraries.asm.TypeReference;
+import org.eclipse.persistence.internal.libraries.asm.signature.SignatureReader;
/**
* A {@link Printer} that prints a disassembled view of the classes it visits.
@@ -153,7 +153,7 @@
* If a subclass calls this constructor.
*/
public Textifier() {
- this(Opcodes.ASM5);
+ this(Opcodes.ASM6);
if (getClass() != Textifier.class) {
throw new IllegalStateException();
}
@@ -164,7 +164,7 @@
*
* @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}.
*/
protected Textifier(final int api) {
super(api);
@@ -242,15 +242,19 @@
.append(sv.getDeclaration()).append('\n');
}
- appendAccess(access & ~Opcodes.ACC_SUPER);
+ String internalName = name;
+ appendAccess(access & ~(Opcodes.ACC_SUPER|Opcodes.ACC_MODULE));
if ((access & Opcodes.ACC_ANNOTATION) != 0) {
buf.append("@interface ");
} else if ((access & Opcodes.ACC_INTERFACE) != 0) {
buf.append("interface ");
+ } else if ((access & Opcodes.ACC_MODULE) != 0) {
+ buf.append("module ");
+ internalName = name.substring(0, name.length() - "/module-info".length());
} else if ((access & Opcodes.ACC_ENUM) == 0) {
buf.append("class ");
}
- appendDescriptor(INTERNAL_NAME, name);
+ appendDescriptor(INTERNAL_NAME, internalName);
if (superName != null && !"java/lang/Object".equals(superName)) {
buf.append(" extends ");
@@ -284,6 +288,13 @@
text.add(buf.toString());
}
}
+
+ @Override
+ public Printer visitModule() {
+ Textifier t = createTextifier();
+ text.add(t.getText());
+ return t;
+ }
@Override
public void visitOuterClass(final String owner, final String name,
@@ -308,7 +319,7 @@
}
@Override
- public Printer visitClassTypeAnnotation(int typeRef, TypePath typePath,
+ public Textifier visitClassTypeAnnotation(int typeRef, TypePath typePath,
String desc, boolean visible) {
text.add("\n");
return visitTypeAnnotation(typeRef, typePath, desc, visible);
@@ -454,6 +465,64 @@
}
// ------------------------------------------------------------------------
+ // Module
+ // ------------------------------------------------------------------------
+
+ @Override
+ public void visitRequire(String require, int access) {
+ buf.setLength(0);
+ buf.append(tab).append("requires ");
+ if ((access & Opcodes.ACC_PUBLIC) != 0) {
+ buf.append("public ");
+ }
+ buf.append(require)
+ .append("; // access flags 0x")
+ .append(Integer.toHexString(access).toUpperCase())
+ .append('\n');
+ text.add(buf.toString());
+ }
+
+ @Override
+ public void visitExport(String export, String... tos) {
+ buf.setLength(0);
+ buf.append(tab).append("exports ").append(export);
+ if (tos != null && tos.length > 0) {
+ buf.append(" to\n");
+ for (int i = 0; i < tos.length; ++i) {
+ buf.append(tab2).append(tos[i]);
+ buf.append(i != tos.length - 1 ? ",\n": "");
+ }
+ }
+ buf.append(";\n");
+ text.add(buf.toString());
+ }
+
+ @Override
+ public void visitUse(String use) {
+ buf.setLength(0);
+ buf.append(tab).append("uses ");
+ appendDescriptor(INTERNAL_NAME, use);
+ buf.append(";\n");
+ text.add(buf.toString());
+ }
+
+ @Override
+ public void visitProvide(String provide, String with) {
+ buf.setLength(0);
+ buf.append(tab).append("provides ");
+ appendDescriptor(INTERNAL_NAME, provide);
+ buf.append(" with\n").append(tab2);
+ appendDescriptor(INTERNAL_NAME, with);
+ buf.append(";\n");
+ text.add(buf.toString());
+ }
+
+ @Override
+ public void visitModuleEnd() {
+ // empty
+ }
+
+ // ------------------------------------------------------------------------
// Annotations
// ------------------------------------------------------------------------
@@ -643,7 +712,7 @@
}
@Override
- public Printer visitFieldTypeAnnotation(int typeRef, TypePath typePath,
+ public Textifier visitFieldTypeAnnotation(int typeRef, TypePath typePath,
String desc, boolean visible) {
return visitTypeAnnotation(typeRef, typePath, desc, visible);
}
@@ -687,7 +756,7 @@
}
@Override
- public Printer visitMethodTypeAnnotation(int typeRef, TypePath typePath,
+ public Textifier visitMethodTypeAnnotation(int typeRef, TypePath typePath,
String desc, boolean visible) {
return visitTypeAnnotation(typeRef, typePath, desc, visible);
}
@@ -968,7 +1037,7 @@
}
@Override
- public Printer visitInsnAnnotation(int typeRef, TypePath typePath,
+ public Textifier visitInsnAnnotation(int typeRef, TypePath typePath,
String desc, boolean visible) {
return visitTypeAnnotation(typeRef, typePath, desc, visible);
}
@@ -990,7 +1059,7 @@
}
@Override
- public Printer visitTryCatchAnnotation(int typeRef, TypePath typePath,
+ public Textifier visitTryCatchAnnotation(int typeRef, TypePath typePath,
String desc, boolean visible) {
buf.setLength(0);
buf.append(tab2).append("TRYCATCHBLOCK @");
@@ -1035,7 +1104,7 @@
}
@Override
- public Printer visitLocalVariableAnnotation(int typeRef, TypePath typePath,
+ public Textifier visitLocalVariableAnnotation(int typeRef, TypePath typePath,
Label[] start, Label[] end, int[] index, String desc,
boolean visible) {
buf.setLength(0);
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/TraceAnnotationVisitor.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/TraceAnnotationVisitor.java
index 7e18757..9ccb280 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/TraceAnnotationVisitor.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/TraceAnnotationVisitor.java
@@ -47,7 +47,7 @@
}
public TraceAnnotationVisitor(final AnnotationVisitor av, final Printer p) {
- super(Opcodes.ASM5, av);
+ super(Opcodes.ASM6, av);
this.p = p;
}
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/TraceClassVisitor.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/TraceClassVisitor.java
index 448bb29..2666a16 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/TraceClassVisitor.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/TraceClassVisitor.java
@@ -33,11 +33,12 @@
import org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor;
import org.eclipse.persistence.internal.libraries.asm.Attribute;
-import org.eclipse.persistence.internal.libraries.asm.Opcodes;
-import org.eclipse.persistence.internal.libraries.asm.TypePath;
import org.eclipse.persistence.internal.libraries.asm.ClassVisitor;
import org.eclipse.persistence.internal.libraries.asm.FieldVisitor;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
+import org.eclipse.persistence.internal.libraries.asm.ModuleVisitor;
+import org.eclipse.persistence.internal.libraries.asm.Opcodes;
+import org.eclipse.persistence.internal.libraries.asm.TypePath;
/**
* A {@link ClassVisitor} that prints the classes it visits with a
@@ -131,7 +132,7 @@
*/
public TraceClassVisitor(final ClassVisitor cv, final Printer p,
final PrintWriter pw) {
- super(Opcodes.ASM5, cv);
+ super(Opcodes.ASM6, cv);
this.pw = pw;
this.p = p;
}
@@ -149,6 +150,13 @@
p.visitSource(file, debug);
super.visitSource(file, debug);
}
+
+ @Override
+ public ModuleVisitor visitModule() {
+ Printer p = this.p.visitModule();
+ ModuleVisitor mv = super.visitModule();
+ return new TraceModuleVisitor(mv, p);
+ }
@Override
public void visitOuterClass(final String owner, final String name,
@@ -159,7 +167,7 @@
@Override
public AnnotationVisitor visitAnnotation(final String desc,
- final boolean visible) {
+ final boolean visible) {
Printer p = this.p.visitClassAnnotation(desc, visible);
AnnotationVisitor av = cv == null ? null : cv.visitAnnotation(desc,
visible);
@@ -168,7 +176,7 @@
@Override
public AnnotationVisitor visitTypeAnnotation(int typeRef,
- TypePath typePath, String desc, boolean visible) {
+ TypePath typePath, String desc, boolean visible) {
Printer p = this.p.visitClassTypeAnnotation(typeRef, typePath, desc,
visible);
AnnotationVisitor av = cv == null ? null : cv.visitTypeAnnotation(
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/TraceFieldVisitor.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/TraceFieldVisitor.java
index 669694c..e6a583c 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/TraceFieldVisitor.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/TraceFieldVisitor.java
@@ -31,9 +31,9 @@
import org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor;
import org.eclipse.persistence.internal.libraries.asm.Attribute;
+import org.eclipse.persistence.internal.libraries.asm.FieldVisitor;
import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.TypePath;
-import org.eclipse.persistence.internal.libraries.asm.FieldVisitor;
/**
* A {@link FieldVisitor} that prints the fields it visits with a
@@ -50,13 +50,13 @@
}
public TraceFieldVisitor(final FieldVisitor fv, final Printer p) {
- super(Opcodes.ASM5, fv);
+ super(Opcodes.ASM6, fv);
this.p = p;
}
@Override
public AnnotationVisitor visitAnnotation(final String desc,
- final boolean visible) {
+ final boolean visible) {
Printer p = this.p.visitFieldAnnotation(desc, visible);
AnnotationVisitor av = fv == null ? null : fv.visitAnnotation(desc,
visible);
@@ -65,7 +65,7 @@
@Override
public AnnotationVisitor visitTypeAnnotation(int typeRef,
- TypePath typePath, String desc, boolean visible) {
+ TypePath typePath, String desc, boolean visible) {
Printer p = this.p.visitFieldTypeAnnotation(typeRef, typePath, desc,
visible);
AnnotationVisitor av = fv == null ? null : fv.visitTypeAnnotation(
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/TraceMethodVisitor.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/TraceMethodVisitor.java
index cb53b82..301d531 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/TraceMethodVisitor.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/TraceMethodVisitor.java
@@ -30,12 +30,12 @@
package org.eclipse.persistence.internal.libraries.asm.util;
import org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor;
-import org.eclipse.persistence.internal.libraries.asm.TypePath;
import org.eclipse.persistence.internal.libraries.asm.Attribute;
import org.eclipse.persistence.internal.libraries.asm.Handle;
import org.eclipse.persistence.internal.libraries.asm.Label;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
import org.eclipse.persistence.internal.libraries.asm.Opcodes;
+import org.eclipse.persistence.internal.libraries.asm.TypePath;
/**
* A {@link MethodVisitor} that prints the methods it visits with a
@@ -52,7 +52,7 @@
}
public TraceMethodVisitor(final MethodVisitor mv, final Printer p) {
- super(Opcodes.ASM5, mv);
+ super(Opcodes.ASM6, mv);
this.p = p;
}
@@ -64,7 +64,7 @@
@Override
public AnnotationVisitor visitAnnotation(final String desc,
- final boolean visible) {
+ final boolean visible) {
Printer p = this.p.visitMethodAnnotation(desc, visible);
AnnotationVisitor av = mv == null ? null : mv.visitAnnotation(desc,
visible);
@@ -73,7 +73,7 @@
@Override
public AnnotationVisitor visitTypeAnnotation(int typeRef,
- TypePath typePath, String desc, boolean visible) {
+ TypePath typePath, String desc, boolean visible) {
Printer p = this.p.visitMethodTypeAnnotation(typeRef, typePath, desc,
visible);
AnnotationVisitor av = mv == null ? null : mv.visitTypeAnnotation(
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/TraceModuleVisitor.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/TraceModuleVisitor.java
new file mode 100644
index 0000000..b39c61d
--- /dev/null
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/TraceModuleVisitor.java
@@ -0,0 +1,83 @@
+/***
+ * 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.eclipse.persistence.internal.libraries.asm.util;
+
+import org.eclipse.persistence.internal.libraries.asm.ModuleVisitor;
+import org.eclipse.persistence.internal.libraries.asm.Opcodes;
+
+/**
+ * A {@link ModuleVisitor} that prints the fields it visits with a
+ * {@link Printer}.
+ *
+ * @author Remi Forax
+ */
+public final class TraceModuleVisitor extends ModuleVisitor {
+
+ public final Printer p;
+
+ public TraceModuleVisitor(final Printer p) {
+ this(null, p);
+ }
+
+ public TraceModuleVisitor(final ModuleVisitor mv, final Printer p) {
+ super(Opcodes.ASM6, mv);
+ this.p = p;
+ }
+
+ @Override
+ public void visitRequire(String module, int access) {
+ p.visitRequire(module, access);
+ super.visitRequire(module, access);
+ }
+
+ @Override
+ public void visitExport(String packaze, String... modules) {
+ p.visitExport(packaze, modules);
+ super.visitExport(packaze, modules);
+ }
+
+ @Override
+ public void visitUse(String use) {
+ p.visitUse(use);
+ super.visitUse(use);
+ }
+
+ @Override
+ public void visitProvide(String service, String impl) {
+ p.visitProvide(service, impl);
+ super.visitProvide(service, impl);
+ }
+
+ @Override
+ public void visitEnd() {
+ p.visitModuleEnd();
+ super.visitEnd();
+ }
+}
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/TraceSignatureVisitor.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/TraceSignatureVisitor.java
index 8bed661..51c2d03 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/TraceSignatureVisitor.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/util/TraceSignatureVisitor.java
@@ -75,13 +75,13 @@
private String separator = "";
public TraceSignatureVisitor(final int access) {
- super(Opcodes.ASM5);
+ super(Opcodes.ASM6);
isInterface = (access & Opcodes.ACC_INTERFACE) != 0;
this.declaration = new StringBuilder();
}
private TraceSignatureVisitor(final StringBuilder buf) {
- super(Opcodes.ASM5);
+ super(Opcodes.ASM6);
this.declaration = buf;
}
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/ASMContentHandler.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/ASMContentHandler.java
index c263e1d..b23fc90 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/ASMContentHandler.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/ASMContentHandler.java
@@ -40,6 +40,7 @@
import org.eclipse.persistence.internal.libraries.asm.Handle;
import org.eclipse.persistence.internal.libraries.asm.Label;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
+import org.eclipse.persistence.internal.libraries.asm.ModuleVisitor;
import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.Type;
import org.eclipse.persistence.internal.libraries.asm.TypePath;
@@ -52,8 +53,8 @@
* document into Java class file. This class can be feeded by any kind of SAX
* 2.0 event producers, e.g. XML parser, XSLT or XPath engines, or custom code.
*
- * @see SAXClassAdapter
- * @see Processor
+ * @see org.eclipse.persistence.internal.libraries.asm.xml.SAXClassAdapter
+ * @see org.eclipse.persistence.internal.libraries.asm.xml.Processor
*
* @author Eugene Kuleshov
*/
@@ -90,6 +91,15 @@
RULES.add(BASE + "/outerclass", new OuterClassRule());
RULES.add(BASE + "/innerclass", new InnerClassRule());
RULES.add(BASE + "/source", new SourceRule());
+
+ ModuleRule moduleRule = new ModuleRule();
+ RULES.add(BASE + "/module", moduleRule);
+ RULES.add(BASE + "/module/requires", moduleRule);
+ RULES.add(BASE + "/module/exports", moduleRule);
+ RULES.add(BASE + "/module/exports/to", moduleRule);
+ RULES.add(BASE + "/module/uses", moduleRule);
+ RULES.add(BASE + "/module/provides", moduleRule);
+
RULES.add(BASE + "/field", new FieldRule());
RULES.add(BASE + "/method", new MethodRule());
@@ -675,6 +685,9 @@
if (s.indexOf("mandated") != -1) {
access |= ACC_MANDATED;
}
+ if (s.indexOf("module") != -1) {
+ access |= ACC_MODULE;
+ }
return access;
}
}
@@ -743,7 +756,56 @@
push(cv);
}
}
+
+ /**
+ * ModuleRule: module, requires, exports, restricted-to, uses and provides
+ */
+ final class ModuleRule extends Rule {
+ @Override
+ public final void begin(final String element, final Attributes attrs)
+ throws SAXException {
+ if ("module".equals(element)) {
+ push(cv.visitModule());
+ } else if ("requires".equals(element)) {
+ ModuleVisitor mv = (ModuleVisitor) peek();
+ mv.visitRequire(attrs.getValue("module"),
+ getAccess(attrs.getValue("access")));
+ } else if ("exports".equals(element)) {
+ // encode the name of the exported package as the first item
+ ArrayList<String> list = new ArrayList<String>();
+ list.add(attrs.getValue("name"));
+ push(list);
+ } else if ("to".equals(element)) {
+ @SuppressWarnings("unchecked")
+ ArrayList<String> list = (ArrayList<String>) peek();
+ list.add(attrs.getValue("module"));
+ } else if ("uses".equals(element)) {
+ ModuleVisitor mv = (ModuleVisitor) peek();
+ mv.visitUse(attrs.getValue("service"));
+ } else if ("provides".equals(element)) {
+ ModuleVisitor mv = (ModuleVisitor) peek();
+ mv.visitProvide(attrs.getValue("service"), attrs.getValue("impl"));
+ }
+ }
+ @Override
+ public void end(final String element) {
+ if ("exports".equals(element)) {
+ @SuppressWarnings("unchecked")
+ ArrayList<String> list = (ArrayList<String>) pop();
+ String export = list.remove(0); // name of the exported package
+ String[] tos = null;
+ if (!list.isEmpty()) {
+ tos = list.toArray(new String[list.size()]);
+ }
+ ModuleVisitor mv = (ModuleVisitor) peek();
+ mv.visitExport(export, tos);
+ } else if ("module".equals(element)) {
+ ((ModuleVisitor) pop()).visitEnd();
+ }
+ }
+ }
+
/**
* OuterClassRule
*/
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/SAXAnnotationAdapter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/SAXAnnotationAdapter.java
index 327ffe1..98d4418 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/SAXAnnotationAdapter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/SAXAnnotationAdapter.java
@@ -31,8 +31,8 @@
import org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor;
import org.eclipse.persistence.internal.libraries.asm.Opcodes;
-import org.eclipse.persistence.internal.libraries.asm.TypePath;
import org.eclipse.persistence.internal.libraries.asm.Type;
+import org.eclipse.persistence.internal.libraries.asm.TypePath;
import org.xml.sax.helpers.AttributesImpl;
/**
@@ -48,20 +48,20 @@
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 @@
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);
}
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/SAXClassAdapter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/SAXClassAdapter.java
index 3bd2759..4cffdc4 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/SAXClassAdapter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/SAXClassAdapter.java
@@ -33,19 +33,20 @@
import org.eclipse.persistence.internal.libraries.asm.ClassVisitor;
import org.eclipse.persistence.internal.libraries.asm.FieldVisitor;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
+import org.eclipse.persistence.internal.libraries.asm.ModuleVisitor;
import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.TypePath;
import org.xml.sax.ContentHandler;
import org.xml.sax.helpers.AttributesImpl;
/**
- * A {@link ClassVisitor ClassVisitor} that generates SAX 2.0
+ * A {@link org.eclipse.persistence.internal.libraries.asm.ClassVisitor ClassVisitor} that generates SAX 2.0
* events from the visited class. It can feed any kind of
* {@link org.xml.sax.ContentHandler ContentHandler}, e.g. XML serializer, XSLT
* or XQuery engines.
*
- * @see Processor
- * @see ASMContentHandler
+ * @see org.eclipse.persistence.internal.libraries.asm.xml.Processor
+ * @see org.eclipse.persistence.internal.libraries.asm.xml.ASMContentHandler
*
* @author Eugene Kuleshov
*/
@@ -81,7 +82,7 @@
* {@link ContentHandler#endDocument() endDocument()} events.
*/
public SAXClassAdapter(final ContentHandler h, boolean singleDocument) {
- super(Opcodes.ASM5);
+ super(Opcodes.ASM6);
this.sa = new SAXAdapter(h);
this.singleDocument = singleDocument;
if (!singleDocument) {
@@ -101,6 +102,13 @@
sa.addElement("source", att);
}
+
+ @Override
+ public ModuleVisitor visitModule() {
+ AttributesImpl att = new AttributesImpl();
+ sa.addStart("module", att);
+ return new SAXModuleAdapter(sa);
+ }
@Override
public void visitOuterClass(final String owner, final String name,
@@ -119,7 +127,7 @@
@Override
public AnnotationVisitor visitAnnotation(final String desc,
- final boolean visible) {
+ final boolean visible) {
return new SAXAnnotationAdapter(sa, "annotation", visible ? 1 : -1,
null, desc);
}
@@ -328,8 +336,12 @@
if ((access & Opcodes.ACC_DEPRECATED) != 0) {
sb.append("deprecated ");
}
- if ((access & Opcodes.ACC_MANDATED) != 0) {
- sb.append("mandated ");
+ if ((access & (Opcodes.ACC_MANDATED|Opcodes.ACC_MODULE)) != 0) {
+ if ((access & ACCESS_CLASS) == 0) {
+ sb.append("module ");
+ } else {
+ sb.append("mandated ");
+ }
}
}
}
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/SAXCodeAdapter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/SAXCodeAdapter.java
index c9742cd..e98d4d9 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/SAXCodeAdapter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/SAXCodeAdapter.java
@@ -33,21 +33,21 @@
import java.util.Map;
import org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor;
-import org.eclipse.persistence.internal.libraries.asm.TypePath;
-import org.eclipse.persistence.internal.libraries.asm.util.Printer;
import org.eclipse.persistence.internal.libraries.asm.Handle;
import org.eclipse.persistence.internal.libraries.asm.Label;
import org.eclipse.persistence.internal.libraries.asm.MethodVisitor;
import org.eclipse.persistence.internal.libraries.asm.Opcodes;
import org.eclipse.persistence.internal.libraries.asm.Type;
+import org.eclipse.persistence.internal.libraries.asm.TypePath;
+import org.eclipse.persistence.internal.libraries.asm.util.Printer;
import org.xml.sax.helpers.AttributesImpl;
/**
* A {@link MethodVisitor} that generates SAX 2.0 events from the visited
* method.
*
- * @see SAXClassAdapter
- * @see Processor
+ * @see org.eclipse.persistence.internal.libraries.asm.xml.SAXClassAdapter
+ * @see org.eclipse.persistence.internal.libraries.asm.xml.Processor
*
* @author Eugene Kuleshov
*/
@@ -69,7 +69,7 @@
* content handler that will be used to send SAX 2.0 events.
*/
public SAXCodeAdapter(final SAXAdapter sa, final int access) {
- super(Opcodes.ASM5);
+ super(Opcodes.ASM6);
this.sa = sa;
this.access = access;
this.labelNames = new HashMap<Label, String>();
@@ -356,7 +356,7 @@
@Override
public AnnotationVisitor visitTypeAnnotation(int typeRef,
- TypePath typePath, String desc, boolean visible) {
+ TypePath typePath, String desc, boolean visible) {
return new SAXAnnotationAdapter(sa, "typeAnnotation", visible ? 1 : -1,
null, desc, typeRef, typePath);
}
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/SAXFieldAdapter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/SAXFieldAdapter.java
index 47a8218..6f8c256 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/SAXFieldAdapter.java
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/SAXFieldAdapter.java
@@ -45,21 +45,21 @@
SAXAdapter sa;
public SAXFieldAdapter(final SAXAdapter sa, final Attributes att) {
- super(Opcodes.ASM5);
+ super(Opcodes.ASM6);
this.sa = sa;
sa.addStart("field", att);
}
@Override
public AnnotationVisitor visitAnnotation(final String desc,
- final boolean visible) {
+ final boolean visible) {
return new SAXAnnotationAdapter(sa, "annotation", visible ? 1 : -1,
null, desc);
}
@Override
public AnnotationVisitor visitTypeAnnotation(int typeRef,
- TypePath typePath, String desc, boolean visible) {
+ TypePath typePath, String desc, boolean visible) {
return new SAXAnnotationAdapter(sa, "typeAnnotation", visible ? 1 : -1,
null, desc, typeRef, typePath);
}
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/SAXModuleAdapter.java b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/SAXModuleAdapter.java
new file mode 100644
index 0000000..52c4a63
--- /dev/null
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/SAXModuleAdapter.java
@@ -0,0 +1,94 @@
+/***
+ * ASM XML Adapter
+ * Copyright (c) 2004-2011, Eugene Kuleshov
+ * 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.eclipse.persistence.internal.libraries.asm.xml;
+
+import org.eclipse.persistence.internal.libraries.asm.ModuleVisitor;
+import org.eclipse.persistence.internal.libraries.asm.Opcodes;
+import org.xml.sax.helpers.AttributesImpl;
+
+/**
+ * Generate SAX event for a module description.
+ *
+ * @author Remi Forax
+ */
+public final class SAXModuleAdapter extends ModuleVisitor {
+
+ private final SAXAdapter sa;
+
+ public SAXModuleAdapter(final SAXAdapter sa) {
+ super(Opcodes.ASM6);
+ this.sa = sa;
+ }
+
+ @Override
+ public void visitRequire(String module, int access) {
+ AttributesImpl att = new AttributesImpl();
+ StringBuilder sb = new StringBuilder();
+ SAXClassAdapter.appendAccess(access, sb);
+ att.addAttribute("", "module", "module", "", module);
+ att.addAttribute("", "access", "access", "", sb.toString());
+ sa.addElement("requires", att);
+ }
+
+ @Override
+ public void visitExport(String packaze, String... modules) {
+ AttributesImpl att = new AttributesImpl();
+ att.addAttribute("", "name", "name", "", packaze);
+ sa.addStart("exports", att);
+ if (modules != null && modules.length > 0) {
+ for(String to: modules) {
+ AttributesImpl atts = new AttributesImpl();
+ atts.addAttribute("", "module", "module", "", to);
+ sa.addElement("to", atts);
+ }
+ }
+ sa.addEnd("exports");
+ }
+
+ @Override
+ public void visitUse(String service) {
+ AttributesImpl att = new AttributesImpl();
+ att.addAttribute("", "service", "service", "", service);
+ sa.addElement("uses", att);
+ }
+
+ @Override
+ public void visitProvide(String service, String impl) {
+ AttributesImpl att = new AttributesImpl();
+ att.addAttribute("", "service", "service", "", service);
+ att.addAttribute("", "impl", "impl", "", impl);
+ sa.addElement("provides", att);
+ }
+
+ @Override
+ public void visitEnd() {
+ sa.addEnd("module");
+ }
+}
diff --git a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/asm-xml.dtd b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/asm-xml.dtd
index b862085..b2be0d9 100644
--- a/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/asm-xml.dtd
+++ b/plugins/org.eclipse.persistence.asm/src/org/eclipse/persistence/internal/libraries/asm/xml/asm-xml.dtd
@@ -41,7 +41,7 @@
<!--
Root element for a single class.
-->
-<!ELEMENT class ( interfaces, ( field | innerclass | method )*)>
+<!ELEMENT class ( interfaces, module?, ( field | innerclass | method )*)>
<!ATTLIST class access CDATA #REQUIRED>
<!ATTLIST class name CDATA #REQUIRED>
<!ATTLIST class parent CDATA #REQUIRED>
@@ -53,6 +53,20 @@
<!ELEMENT interface EMPTY>
<!ATTLIST interface name CDATA #REQUIRED>
+<!ELEMENT module ( requires*, exports*, uses*, provides* )>
+<!ELEMENT requires EMPTY>
+<!ATTLIST requires module CDATA #REQUIRED>
+<!ATTLIST requires access CDATA #REQUIRED>
+<!ELEMENT exports ( to* )>
+<!ATTLIST exports name CDATA #REQUIRED>
+<!ELEMENT to EMPTY>
+<!ATTLIST to module CDATA #REQUIRED>
+<!ELEMENT uses EMPTY>
+<!ATTLIST uses service CDATA #REQUIRED>
+<!ELEMENT provides EMPTY>
+<!ATTLIST provides service CDATA #REQUIRED>
+<!ATTLIST provides impl CDATA #REQUIRED>
+
<!ELEMENT field EMPTY>
<!ATTLIST field access CDATA #REQUIRED>
<!ATTLIST field desc CDATA #REQUIRED>
diff --git a/plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar b/plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar
deleted file mode 100644
index 92eda55..0000000
--- a/plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar b/plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar
new file mode 100644
index 0000000..bd31459
--- /dev/null
+++ b/plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar
Binary files differ
diff --git a/sdo/eclipselink.sdo.test/antbuild.properties b/sdo/eclipselink.sdo.test/antbuild.properties
index a7d0322..03130da 100644
--- a/sdo/eclipselink.sdo.test/antbuild.properties
+++ b/sdo/eclipselink.sdo.test/antbuild.properties
@@ -36,7 +36,7 @@
resource.dir=resource
report.dir=reports
-asm=org.eclipse.persistence.asm_5.1.0.v201605131250.jar
+asm=org.eclipse.persistence.asm_6.0.0.v201702131300.jar
xml.platform=org.eclipse.persistence.platform.xml.jaxp.JAXPPlatform
parser=org.eclipse.persistence.platform.xml.jaxp.JAXPParser
diff --git a/sdo/org.eclipse.persistence.sdo/META-INF/MANIFEST.MF b/sdo/org.eclipse.persistence.sdo/META-INF/MANIFEST.MF
index b273002..180ae14 100644
--- a/sdo/org.eclipse.persistence.sdo/META-INF/MANIFEST.MF
+++ b/sdo/org.eclipse.persistence.sdo/META-INF/MANIFEST.MF
@@ -14,7 +14,7 @@
HK2-Bundle-Name: org.eclipse.persistence:org.eclipse.persistence.sdo
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.persistence.core;bundle-version="2.7.0";visibility:=reexport,
- org.eclipse.persistence.asm;bundle-version="5.1";resolution:=optional,
+ org.eclipse.persistence.asm;bundle-version="6.0.0";resolution:=optional,
org.eclipse.persistence.moxy;bundle-version="2.7.0";resolution:=optional,
commonj.sdo;bundle-version="2.1.1"
Bundle-Vendor: Eclipse.org - EclipseLink Project
@@ -34,7 +34,7 @@
org.eclipse.persistence.internal.databaseaccess;version="2.7.0",
org.eclipse.persistence.internal.descriptors;version="2.7.0",
org.eclipse.persistence.internal.helper;version="2.7.0",
- org.eclipse.persistence.internal.libraries.asm;version="[5.0.1,6.0)";resolution:=optional,
+ org.eclipse.persistence.internal.libraries.asm;version="[6.0,7.0)";resolution:=optional,
org.eclipse.persistence.internal.localization;version="2.7.0",
org.eclipse.persistence.internal.oxm;version="2.7.0",
org.eclipse.persistence.internal.oxm.record;version="2.7.0",
diff --git a/sdo/org.eclipse.persistence.sdo/sdo.iml b/sdo/org.eclipse.persistence.sdo/sdo.iml
index 5285059..adb49f4 100644
--- a/sdo/org.eclipse.persistence.sdo/sdo.iml
+++ b/sdo/org.eclipse.persistence.sdo/sdo.iml
@@ -25,11 +25,11 @@
<orderEntry type="module-library">
<library>
<CLASSES>
- <root url="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
- <root url="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar!/" />
</SOURCES>
</library>
</orderEntry>
diff --git a/utils/eclipselink.dbws.builder.test.oracle/.classpath b/utils/eclipselink.dbws.builder.test.oracle/.classpath
index 6b078a1..4df9053 100644
--- a/utils/eclipselink.dbws.builder.test.oracle/.classpath
+++ b/utils/eclipselink.dbws.builder.test.oracle/.classpath
@@ -8,7 +8,7 @@
<classpathentry kind="src" path="src"/>
<classpathentry kind="var" path="ECLIPSELINK_HOME/utils/plugins/javax.wsdl_1.6.2.v201012040545.jar" sourcepath="/ECLIPSELINK_HOME/utils/plugins/wsdl4j-src-1.6.2.zip"/>
<classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.eclipse.persistence.antlr_3.2.0.v201302191141.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.eclipse.persistence.antlr.source_3.2.0.v201302191141.jar"/>
- <classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar"/>
+ <classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar"/>
<classpathentry kind="var" path="ECLIPSELINK_HOME/utils/plugins/org.eclipse.persistence.oracleddlparser_1.0.0.v20150306.jar" sourcepath="/ECLIPSELINK_HOME/utils/plugins/org.eclipse.persistence.oracleddlparser.source_1.0.0.v20150306.jar"/>
<classpathentry kind="lib" path="/oracle.libs/xdb.jar"/>
<classpathentry kind="lib" path="/oracle.libs/xmlparserv2.jar"/>
@@ -16,4 +16,4 @@
<classpathentry combineaccessrules="false" kind="src" path="/org.eclipse.persistence.moxy"/>
<classpathentry kind="var" path="ECLIPSELINK_HOME/jpa/plugins/javax.persistence_2.1.1.v201509150925.jar" sourcepath="/ECLIPSELINK_HOME/jpa/plugins/javax.persistence.source_2.1.1.v201509150925.jar"/>
<classpathentry kind="output" path="classes"/>
-</classpath>
+</classpath>
\ No newline at end of file
diff --git a/utils/eclipselink.utils.sigcompare/.classpath b/utils/eclipselink.utils.sigcompare/.classpath
index 2a49a33..7818135 100644
--- a/utils/eclipselink.utils.sigcompare/.classpath
+++ b/utils/eclipselink.utils.sigcompare/.classpath
@@ -3,6 +3,6 @@
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
- <classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm_5.1.0.v201605131250.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm.source_5.1.0.v201605131250.jar"/>
+ <classpathentry kind="var" path="ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm_6.0.0.v201702131300.jar" sourcepath="/ECLIPSELINK_HOME/plugins/org.eclipse.persistence.asm.source_6.0.0.v201702131300.jar"/>
<classpathentry kind="output" path="classes"/>
-</classpath>
+</classpath>
\ No newline at end of file
diff --git a/utils/org.eclipse.persistence.dbws.builder/antbuild.properties b/utils/org.eclipse.persistence.dbws.builder/antbuild.properties
index 2cf7bca..0c42776 100644
--- a/utils/org.eclipse.persistence.dbws.builder/antbuild.properties
+++ b/utils/org.eclipse.persistence.dbws.builder/antbuild.properties
@@ -23,6 +23,6 @@
# Variable Definitions (execution location dependent)
# -----------------------------------
-asm.jar=org.eclipse.persistence.asm_5.1.0.v201605131250.jar
+asm.jar=org.eclipse.persistence.asm_6.0.0.v201702131300.jar
servlet.jar=javax.servlet_2.4.0.v200806031604.jar
-wsdl.jar=javax.wsdl_1.6.2.v201012040545.jar
+wsdl.jar=javax.wsdl_1.6.2.v201012040545.jar
\ No newline at end of file