You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2018/09/30 18:37:18 UTC
[maven-plugin-tools] 02/03: [MPLUGIN-336] Upgrade ASM to 7.0-beta
Upgrade Opcodes.ASM5 to Opcodes.ASM7 Add missing visit methods to
MojoClassVisitor
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MPLUGIN-336
in repository https://gitbox.apache.org/repos/asf/maven-plugin-tools.git
commit a9dafa6366810e92ce0c79ce8df2f34952c30615
Author: rfscholte <rf...@apache.org>
AuthorDate: Sun Sep 30 20:35:42 2018 +0200
[MPLUGIN-336] Upgrade ASM to 7.0-beta
Upgrade Opcodes.ASM5 to Opcodes.ASM7
Add missing visit methods to MojoClassVisitor
---
.../scanner/visitors/MojoAnnotationVisitor.java | 2 +-
.../scanner/visitors/MojoClassVisitor.java | 36 +++++++++++++++++++++-
.../scanner/visitors/MojoFieldVisitor.java | 2 +-
pom.xml | 2 +-
4 files changed, 38 insertions(+), 4 deletions(-)
diff --git a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/visitors/MojoAnnotationVisitor.java b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/visitors/MojoAnnotationVisitor.java
index b2c82ed..dc28936 100644
--- a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/visitors/MojoAnnotationVisitor.java
+++ b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/visitors/MojoAnnotationVisitor.java
@@ -41,7 +41,7 @@ public class MojoAnnotationVisitor
MojoAnnotationVisitor( Logger logger, String annotationClassName )
{
- super( Opcodes.ASM5 );
+ super( Opcodes.ASM7 );
this.logger = logger;
this.annotationClassName = annotationClassName;
}
diff --git a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/visitors/MojoClassVisitor.java b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/visitors/MojoClassVisitor.java
index 44c50bb..086618f 100644
--- a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/visitors/MojoClassVisitor.java
+++ b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/visitors/MojoClassVisitor.java
@@ -30,6 +30,7 @@ import org.objectweb.asm.FieldVisitor;
import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.Opcodes;
import org.objectweb.asm.Type;
+import org.objectweb.asm.TypePath;
import java.util.ArrayList;
import java.util.HashMap;
@@ -53,7 +54,7 @@ public class MojoClassVisitor
public MojoClassVisitor( Logger logger )
{
- super( Opcodes.ASM5 );
+ super( Opcodes.ASM7 );
this.logger = logger;
}
@@ -111,6 +112,7 @@ public class MojoClassVisitor
return mojoFieldVisitors;
}
+ @Override
public void visit( int version, int access, String name, String signature, String superName, String[] interfaces )
{
mojoAnnotatedClass = new MojoAnnotatedClass();
@@ -121,6 +123,7 @@ public class MojoClassVisitor
}
}
+ @Override
public AnnotationVisitor visitAnnotation( String desc, boolean visible )
{
String annotationClassName = Type.getType( desc ).getClassName();
@@ -132,7 +135,21 @@ public class MojoClassVisitor
annotationVisitorMap.put( annotationClassName, mojoAnnotationVisitor );
return mojoAnnotationVisitor;
}
+
+ @Override
+ public AnnotationVisitor visitTypeAnnotation( int typeRef, TypePath typePath, String desc, boolean visible )
+ {
+ String annotationClassName = Type.getType( desc ).getClassName();
+ if ( !MojoAnnotationsScanner.CLASS_LEVEL_ANNOTATIONS.contains( annotationClassName ) )
+ {
+ return null;
+ }
+ MojoAnnotationVisitor mojoAnnotationVisitor = new MojoAnnotationVisitor( logger, annotationClassName );
+ annotationVisitorMap.put( annotationClassName, mojoAnnotationVisitor );
+ return mojoAnnotationVisitor;
+ }
+ @Override
public FieldVisitor visitField( int access, String name, String desc, String signature, Object value )
{
MojoFieldVisitor mojoFieldVisitor = new MojoFieldVisitor( logger, name, Type.getType( desc ).getClassName() );
@@ -140,35 +157,52 @@ public class MojoClassVisitor
return mojoFieldVisitor;
}
+ @Override
public MethodVisitor visitMethod( int access, String name, String desc, String signature, String[] exceptions )
{
// we don't need methods informations
return null;
}
+ @Override
public void visitAttribute( Attribute attr )
{
// no op
}
+ @Override
public void visitSource( String source, String debug )
{
// no op
}
+ @Override
public void visitOuterClass( String owner, String name, String desc )
{
// no op
}
+ @Override
public void visitInnerClass( String name, String outerName, String innerName, int access )
{
// no op
}
+ @Override
public void visitEnd()
{
// no op
}
+
+ @Override
+ public void visitNestHost( String nestHost )
+ {
+ // no op
+ }
+ @Override
+ public void visitNestMember( String nestMember )
+ {
+ // no op
+ }
}
diff --git a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/visitors/MojoFieldVisitor.java b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/visitors/MojoFieldVisitor.java
index 1ea3561..80afcb6 100644
--- a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/visitors/MojoFieldVisitor.java
+++ b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/visitors/MojoFieldVisitor.java
@@ -44,7 +44,7 @@ public class MojoFieldVisitor
MojoFieldVisitor( Logger logger, String fieldName, String className )
{
- super( Opcodes.ASM5 );
+ super( Opcodes.ASM7 );
this.logger = logger;
this.fieldName = fieldName;
this.className = className;
diff --git a/pom.xml b/pom.xml
index 6cb39f3..d735da6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -97,7 +97,7 @@
<antVersion>1.7.1</antVersion>
<mavenInvokerPluginVersion>3.0.1</mavenInvokerPluginVersion>
<maven.site.path>plugin-tools-archives/plugin-tools-LATEST</maven.site.path>
- <asmVersion>6.2</asmVersion>
+ <asmVersion>7.0-beta</asmVersion>
</properties>
<dependencyManagement>