美文网首页
ASM框架学习(四)-AnnotationVisitor和Sig

ASM框架学习(四)-AnnotationVisitor和Sig

作者: 奔跑地蜗牛 | 来源:发表于2019-05-17 10:34 被阅读0次

简介

AnnotationVisitor是用来访问Annotation的,SignatureVisitor使用来访问签名的;

AnnotationVisitor

AnnotationVisitor访问顺序如下:

(visit | visitEnum| visitAnnotation | code visitArray )* visitEnd.
()*可以访问多次,而visitEnd只能访问一次;

  • visit:访问注解的基本值;
  • visitEnum:访问注解的枚举类型值;
  • visitAnnotation:访问嵌套注解类型,也就是一个注解可能被其他注解所注释;
  • visitArray: 访问注解的数组值;
  • visitEnd:访问结束通知;

SignatureVisitor

SignatureVisitor用来访问泛型类型的,其访问顺序如下:

类签名ClassSignature:( visitFormalTypeParameter visitClassBound?
visitInterfaceBound* )* (visitSuperclass visitInterface* )
方法签名MethodSignature:( visitFormalTypeParameter visitClassBound?
visitInterfaceBound* )* ( visitParameterType* visitReturnType visitExceptionType* )
域签名FieldSignature: visitBaseType | visitTypeVariable | visitArrayType | ( visitClassType visitTypeArgument* (visitInnerClassType visitTypeArgument* )* visitEnd ) )

  • visitFormalTypeParameter(final String name):访问正规类型参数;
  • visitClassBound:访问最后一个被访问的正规类型参数的类界限;
  • visitInterfaceBound:访问最后一个被访问的正规类型参数的接口界限;
  • visitSuperclass:访问该类型的超类;
  • visitInterface:访问该类所实现的接口;
  • visitParameterType:访问方法参数类型;
  • visitReturnType:访问方法返回值类型;
  • visitExceptionType:访问方法异常类型;
  • visitBaseType:访问基本类型的签名;
  • visitTypeVariable:访问类型变量的签名;
  • visitArrayType:访问一个数组类型的签名;
  • visitClassType:开始访问类或者接口类型的签名;
  • visitInnerClassType:访问内部类;
  • visitTypeArgument:访问最后被访问类或者接口的无界限类型参数;
  • visitTypeArgument(final char wildcard):访问最后被访问类或者内部类的类型参数;
  • visitEnd:访问结束通知

相关文章

  • ASM框架学习(四)-AnnotationVisitor和Sig

    简介 AnnotationVisitor是用来访问Annotation的,SignatureVisitor使用来访...

  • 奇门遁甲之ASM操纵字节码

    本文记录对ASM 字节码操控框架的梳理和总结,方便需要时查看。 一、什么是ASM ASM 是一个 Java 字节码...

  • ASM字节码插桩详解

    1、ASM概述 ASM是一个功能比较齐全的java字节码操作与分析框架,通过ASM框架,我们可以动态的生成类或者增...

  • ASM框架学习(三)-FieldVisitor和MethodVi

    简介 FiedVisitor是用来在访问类的域字节码过程中创建域或者修改域字节码信息的;MethodVisitor...

  • ASM框架学习(二)-ClassVisitor

    简介 ClassVisitor是用来生成asm和改变字节码的,ClassVisitor是一个访问字节码的框架,其对...

  • ASM Core Api 详解

    前言 前面一篇文章 ASM 简介 对 ASM 框架做了简单的介绍。 本篇文章主要对该框架的 Core Api 其中...

  • JAVA中ASM是什么?

    什么是 ASM ? ASM 是一个 Java 字节码操控框架。它能被用来动态生成类或者增强既有类的功能。ASM 可...

  • 深入开源框架底层之ASM

    什么是 ASM ? ASM 是一个 Java 字节码操控框架。它能被用来动态生成类或者增强既有类的功能。ASM 可...

  • 简单看看ASM框架

    什么是ASM ASM 是一个 Java 字节码操控框架。它能被用来动态生成类或者增强既有类的功能。ASM 可以直接...

  • 43 AOP(面向切面编程)-ASM-2

    1. ASM 介绍 ASM 是一个 Java 字节码操作框架,它能用来动态生成类或者增强既有类的功能。ASM 可以...

网友评论

      本文标题:ASM框架学习(四)-AnnotationVisitor和Sig

      本文链接:https://www.haomeiwen.com/subject/zpfwaqtx.html