You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sl...@apache.org on 2020/08/05 07:28:41 UTC

[maven-dependency-analyzer] 01/02: [MDEP-679] Refactor: extract helper functions in ConstantPoolParser

This is an automated email from the ASF dual-hosted git repository.

slachiewicz pushed a commit to branch MDEP-679
in repository https://gitbox.apache.org/repos/asf/maven-dependency-analyzer.git

commit b6108240e0c462dd84f3e62d0f6c8aa72e9958ad
Author: John Lin <jo...@gmail.com>
AuthorDate: Sat Mar 21 10:00:34 2020 +0800

    [MDEP-679] Refactor: extract helper functions in ConstantPoolParser
---
 .../analyzer/asm/ConstantPoolParser.java           | 71 ++++++++++++++++++----
 1 file changed, 58 insertions(+), 13 deletions(-)

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 c0e0cac..0d9041a 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
@@ -117,37 +117,34 @@ public class ConstantPoolParser
                 case CONSTANT_METHODREF:
                 case CONSTANT_INTERFACEMETHODREF:
                 case CONSTANT_NAME_AND_TYPE:
-                    buf.getChar();
-                    buf.getChar();
+                    consumeReference( buf );
                     break;
                 case CONSTANT_INTEGER:
-                    buf.getInt();
+                    consumeInt( buf );
                     break;
                 case CONSTANT_FLOAT:
-                    buf.getFloat();
+                    consumeFloat( buf );
                     break;
                 case CONSTANT_DOUBLE:
-                    buf.getDouble();
+                    consumeDouble( buf );
                     ix++;
                     break;
                 case CONSTANT_LONG:
-                    buf.getLong();
+                    consumeLong( buf );
                     ix++;
                     break;
                 case CONSTANT_METHODHANDLE:
-                    buf.get();
-                    buf.getChar();
+                    consumeMethodHandle( buf );
                     break;
                 case CONSTANT_INVOKE_DYNAMIC:
-                    buf.getChar();
-                    buf.getChar();
+                    consumeInvokeDynamic( buf );
                     break;
                 case CONSTANT_MODULE:
-                    buf.getChar();
+                    consumeModule( buf );
                     break;
                 case CONSTANT_PACKAGE:
-                    buf.getChar();
-                    break;  
+                    consumePackage( buf );
+                    break;
             }
         }
         Set<String> result = new HashSet<String>();
@@ -189,4 +186,52 @@ public class ConstantPoolParser
         ( (Buffer) buf ).limit( oldLimit );
         return sb.toString();
     }
+
+    private static void consumeReference( ByteBuffer buf )
+    {
+        buf.getChar();
+        buf.getChar();
+    }
+
+    private static void consumeInt( ByteBuffer buf )
+    {
+        buf.getInt();
+    }
+
+    private static void consumeFloat( ByteBuffer buf )
+    {
+        buf.getFloat();
+    }
+
+    private static void consumeDouble( ByteBuffer buf )
+    {
+        buf.getDouble();
+    }
+
+    private static void consumeLong( ByteBuffer buf )
+    {
+        buf.getLong();
+    }
+
+    private static void consumeMethodHandle( ByteBuffer buf )
+    {
+        buf.get();
+        buf.getChar();
+    }
+
+    private static void consumeInvokeDynamic( ByteBuffer buf )
+    {
+        buf.getChar();
+        buf.getChar();
+    }
+
+    private static void consumeModule( ByteBuffer buf )
+    {
+        buf.getChar();
+    }
+
+    private static void consumePackage( ByteBuffer buf )
+    {
+        buf.getChar();
+    }
 }