You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kh...@apache.org on 2018/03/25 12:44:23 UTC
[maven-dependency-analyzer] 03/03: [MSHARED-710] - JDK 9 / 10 Issue
- Unknown constant pool type o Added missing constants to the
ConstantPoolParser.
This is an automated email from the ASF dual-hosted git repository.
khmarbaise pushed a commit to branch MSHARED-710
in repository https://gitbox.apache.org/repos/asf/maven-dependency-analyzer.git
commit 4d063367b5af8c1c37dce110e8ce9971ba658729
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Sun Mar 25 14:41:43 2018 +0200
[MSHARED-710] - JDK 9 / 10 Issue - Unknown constant pool type
o Added missing constants to the ConstantPoolParser.
---
.../dependency/analyzer/asm/ConstantPoolParser.java | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/ConstantPoolParser.java b/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/ConstantPoolParser.java
index 8e2b2d5..5c758d6 100644
--- a/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/ConstantPoolParser.java
+++ b/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/ConstantPoolParser.java
@@ -65,6 +65,18 @@ public class ConstantPoolParser
public static final byte CONSTANT_METHOD_TYPE = 16;
public static final byte CONSTANT_INVOKE_DYNAMIC = 18;
+
+ // JDK 9:
+ // https://docs.oracle.com/javase/specs/jvms/se9/html/jvms-4.html#jvms-4.4
+ // JDK 10:
+ // https://docs.oracle.com/javase/specs/jvms/se10/html/jvms-4.html#jvms-4.3
+ public static final byte CONSTANT_MODULE = 19;
+
+ // JDK 9:
+ // https://docs.oracle.com/javase/specs/jvms/se9/html/jvms-4.html#jvms-4.4
+ // JDK 10:
+ // https://docs.oracle.com/javase/specs/jvms/se10/html/jvms-4.html#jvms-4.3
+ public static final byte CONSTANT_PACKAGE = 20;
private static final int OXF0 = 0xf0;
@@ -93,7 +105,7 @@ public class ConstantPoolParser
switch ( tag )
{
default:
- throw new RuntimeException( "Unknown constant pool type" );
+ throw new RuntimeException( "Unknown constant pool type '" + tag + "'" );
case CONSTANT_UTF8:
stringConstants.put( ix, decodeString( buf ) );
continue;
@@ -131,6 +143,12 @@ public class ConstantPoolParser
buf.getChar();
buf.getChar();
break;
+ case CONSTANT_MODULE:
+ buf.getChar();
+ break;
+ case CONSTANT_PACKAGE:
+ buf.getChar();
+ break;
}
}
Set<String> result = new HashSet<String>();
--
To stop receiving notification emails like this one, please contact
khmarbaise@apache.org.