@Test public void testVisitTryCatchBlock() { AsmClass sourceFileClass = asmClassProvider.getClass("tags/SourceFile"); AsmClass tagExceptionClass = asmClassProvider.getClass("tags/TagException"); AsmMethod readSourceFileMethod = sourceFileClass.getMethod("readSourceFile()V"); assertThat(readSourceFileMethod.getDistinctUsedAsmClasses()).contains(tagExceptionClass); }
@Test public void testVisitTypeInsn() { AsmClass sourceFileClass = asmClassProvider.getClass("tags/SourceFile"); AsmMethod constructor = sourceFileClass.getMethod("<init>()V"); assertThat( constructor .getDistinctUsedAsmClasses() .contains(asmClassProvider.getClass("java/util/ArrayList"))) .isNotNull(); }
@Test public void testVisitMethod() { AsmClass asmClass = asmClassProvider.getClass("java/lang/String"); assertThat(asmClass.getMethod("charAt(I)C")).isNotNull(); assertThat(asmClass.getMethod("charAt(I)C").isPublic()).isTrue(); assertThat(asmClass.getMethod("charAt(I)C").isDeprecated()).isFalse(); assertThat(asmClass.getMethod("charAt(I)C").isStatic()).isFalse(); assertThat(asmClass.getMethod("valueOf(C)Ljava/lang/String;").isStatic()).isTrue(); asmClass = asmClassProvider.getClass("tags/File"); AsmMethod getLines = asmClass.getMethod("read(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/String;"); assertThat(getLines.getDistinctUsedAsmClasses().contains(new AsmClass("java/util/Collection"))) .isTrue(); assertThat(getLines.getDistinctUsedAsmClasses().contains(new AsmClass("tags/File"))).isTrue(); assertThat(getLines.getDistinctUsedAsmClasses().contains(new AsmClass("java/lang/String"))) .isTrue(); assertThat( getLines .getDistinctUsedAsmClasses() .contains(new AsmClass("java/lang/RuntimeException"))) .isTrue(); }