2222import java .util .Optional ;
2323import java .util .Set ;
2424
25+ import codes .rafael .asmjdkbridge .ProbingClassReader ;
2526import com .tngtech .archunit .ArchConfiguration ;
2627import com .tngtech .archunit .core .domain .JavaClass ;
2728import com .tngtech .archunit .core .domain .JavaClassDescriptor ;
4041import com .tngtech .archunit .core .importer .TryCatchRecorder .TryCatchBlocksFinishedListener ;
4142import com .tngtech .archunit .core .importer .resolvers .ClassResolver ;
4243import com .tngtech .archunit .core .importer .resolvers .ClassResolver .ClassUriImporter ;
43- import org .objectweb .asm .ClassReader ;
4444import org .objectweb .asm .Label ;
4545import org .slf4j .Logger ;
4646import org .slf4j .LoggerFactory ;
@@ -66,7 +66,7 @@ JavaClasses process(ClassFileSource source) {
6666 try (InputStream s = location .openStream ()) {
6767 JavaClassProcessor javaClassProcessor =
6868 new JavaClassProcessor (new SourceDescriptor (location .getUri (), md5InClassSourcesEnabled ), classDetailsRecorder , accessHandler );
69- new ClassReader (s ).accept (javaClassProcessor , 0 );
69+ new ProbingClassReader (s ).accept (javaClassProcessor , 0 );
7070 javaClassProcessor .createJavaClass ().ifPresent (importRecord ::add );
7171 } catch (Exception e ) {
7272 LOG .warn (String .format ("Couldn't import class from %s" , location .getUri ()), e );
@@ -347,7 +347,7 @@ private static class UriImporterOfProcessor implements ClassUriImporter {
347347 public Optional <JavaClass > tryImport (URI uri ) {
348348 try (InputStream inputStream = uri .toURL ().openStream ()) {
349349 JavaClassProcessor classProcessor = new JavaClassProcessor (new SourceDescriptor (uri , md5InClassSourcesEnabled ), declarationHandler );
350- new ClassReader (inputStream ).accept (classProcessor , 0 );
350+ new ProbingClassReader (inputStream ).accept (classProcessor , 0 );
351351 return classProcessor .createJavaClass ();
352352 } catch (Exception e ) {
353353 LOG .warn (String .format ("Error during import from %s, falling back to simple import" , uri ), e );
0 commit comments