Author: krosenvold
Date: Sun Dec 22 18:04:13 2013
New Revision: 1553012

URL: http://svn.apache.org/r1553012
Log:
Cleaned up code

Modified:
    
maven/shared/trunk/maven-dependency-analyzer/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/DefaultClassVisitor.java
    
maven/shared/trunk/maven-dependency-analyzer/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/ResultCollector.java

Modified: 
maven/shared/trunk/maven-dependency-analyzer/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/DefaultClassVisitor.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-analyzer/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/DefaultClassVisitor.java?rev=1553012&r1=1553011&r2=1553012&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-dependency-analyzer/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/DefaultClassVisitor.java
 (original)
+++ 
maven/shared/trunk/maven-dependency-analyzer/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/DefaultClassVisitor.java
 Sun Dec 22 18:04:13 2013
@@ -23,13 +23,11 @@ import org.objectweb.asm.*;
 import org.objectweb.asm.signature.SignatureReader;
 import org.objectweb.asm.signature.SignatureVisitor;
 
-import java.util.HashSet;
-import java.util.Set;
 
 /**
  * Computes the set of classes referenced by visited code.
  * Inspired by <code>org.objectweb.asm.depend.DependencyVisitor</code> in the 
ASM dependencies example.
- * 
+ *
  * @author <a href="mailto:markhob...@gmail.com";>Mark Hobson</a>
  * @version $Id$
  */
@@ -37,7 +35,7 @@ public class DefaultClassVisitor extends
 {
     // fields -----------------------------------------------------------------
 
-    private final ResultCollector classes;
+    private final ResultCollector resultCollector;
 
     private final SignatureVisitor signatureVisitor;
 
@@ -56,7 +54,7 @@ public class DefaultClassVisitor extends
         this.annotationVisitor = annotationVisitor;
         this.fieldVisitor = fieldVisitor;
         this.methodVisitor = methodVisitor;
-        this.classes = resultCollector;
+        this.resultCollector = resultCollector;
     }
 
     public void visit( final int version, final int access, final String name, 
final String signature,
@@ -64,8 +62,8 @@ public class DefaultClassVisitor extends
     {
         if ( signature == null )
         {
-            addName( superName );
-            addNames( interfaces );
+            resultCollector.addName(superName);
+            resultCollector.addNames(interfaces);
         }
         else
         {
@@ -73,57 +71,46 @@ public class DefaultClassVisitor extends
         }
     }
 
-    /*
-     * @see org.objectweb.asm.ClassVisitor#visitAnnotation(java.lang.String, 
boolean)
-     */
     public AnnotationVisitor visitAnnotation( final String desc, final boolean 
visible )
     {
-        addDesc( desc );
+        resultCollector.addDesc(desc);
         
         return annotationVisitor;
     }
 
-    /*
-     * @see org.objectweb.asm.ClassVisitor#visitField(int, java.lang.String, 
java.lang.String, java.lang.String,
-     *      java.lang.Object)
-     */
     public FieldVisitor visitField( final int access, final String name, final 
String desc, final String signature,
                                     final Object value )
     {
         if ( signature == null )
         {
-            addDesc( desc );
+            resultCollector.addDesc(desc);
         }
         else
         {
-            addTypeSignature( signature );
+            addTypeSignature(signature);
         }
 
         if ( value instanceof Type )
         {
-            addType( (Type) value );
+            resultCollector.addType((Type) value);
         }
 
         return fieldVisitor;
     }
 
-    /*
-     * @see org.objectweb.asm.ClassVisitor#visitMethod(int, java.lang.String, 
java.lang.String, java.lang.String,
-     *      java.lang.String[])
-     */
     public MethodVisitor visitMethod( final int access, final String name, 
final String desc, final String signature,
                                       final String[] exceptions )
     {
         if ( signature == null )
         {
-            addMethodDesc( desc );
+            resultCollector.addMethodDesc(desc);
         }
         else
         {
-            addSignature( signature );
+            addSignature(signature);
         }
 
-        addNames( exceptions );
+        resultCollector.addNames( exceptions );
 
         return methodVisitor;
     }
@@ -131,69 +118,6 @@ public class DefaultClassVisitor extends
 
     // private methods --------------------------------------------------------
 
-    private void addName( String name )
-    {
-        if ( name == null )
-        {
-            return;
-        }
-
-        // decode arrays
-        if ( name.startsWith( "[L" ) && name.endsWith( ";" ) )
-        {
-            name = name.substring( 2, name.length() - 1 );
-        }
-
-        // decode internal representation
-        name = name.replace( '/', '.' );
-
-        classes.add( name );
-    }
-
-    private void addNames( final String[] names )
-    {
-        if ( names == null )
-        {
-            return;
-        }
-
-        for ( String name : names )
-        {
-            addName( name );
-        }
-    }
-
-    private void addDesc( final String desc )
-    {
-        addType( Type.getType( desc ) );
-    }
-
-    private void addMethodDesc( final String desc )
-    {
-        addType( Type.getReturnType( desc ) );
-
-        Type[] types = Type.getArgumentTypes( desc );
-
-        for ( Type type : types )
-        {
-            addType( type );
-        }
-    }
-
-    private void addType( final Type t )
-    {
-        switch ( t.getSort() )
-        {
-            case Type.ARRAY:
-                addType( t.getElementType() );
-                break;
-
-            case Type.OBJECT:
-                addName( t.getClassName().replace( '.', '/' ) );
-                break;
-        }
-    }
-
     private void addSignature( final String signature )
     {
         if ( signature != null )

Modified: 
maven/shared/trunk/maven-dependency-analyzer/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/ResultCollector.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-analyzer/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/ResultCollector.java?rev=1553012&r1=1553011&r2=1553012&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-dependency-analyzer/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/ResultCollector.java
 (original)
+++ 
maven/shared/trunk/maven-dependency-analyzer/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/ResultCollector.java
 Sun Dec 22 18:04:13 2013
@@ -1,5 +1,24 @@
 package org.apache.maven.shared.dependency.analyzer.asm;
 
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import org.objectweb.asm.Type;
 
 import java.util.HashSet;
@@ -59,4 +78,29 @@ public class ResultCollector {
     public void add(String name) {
         classes.add( name);
     }
+
+    void addNames(final String[] names)
+    {
+        if ( names == null )
+        {
+            return;
+        }
+
+        for ( String name : names )
+        {
+            addName(name);
+        }
+    }
+
+    void addMethodDesc(final String desc)
+    {
+        addType(Type.getReturnType(desc));
+
+        Type[] types = Type.getArgumentTypes( desc );
+
+        for ( Type type : types )
+        {
+            addType(type);
+        }
+    }
 }


Reply via email to