diff options
Diffstat (limited to 'java/com/google/devtools/build/android/desugar/InterfaceDesugaring.java')
-rw-r--r-- | java/com/google/devtools/build/android/desugar/InterfaceDesugaring.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/java/com/google/devtools/build/android/desugar/InterfaceDesugaring.java b/java/com/google/devtools/build/android/desugar/InterfaceDesugaring.java index f17f114..0a10df1 100644 --- a/java/com/google/devtools/build/android/desugar/InterfaceDesugaring.java +++ b/java/com/google/devtools/build/android/desugar/InterfaceDesugaring.java @@ -47,6 +47,7 @@ class InterfaceDesugaring extends ClassVisitor { private final ClassVsInterface interfaceCache; private final DependencyCollector depsCollector; + private final CoreLibrarySupport coreLibrarySupport; private final ClassReaderFactory bootclasspath; private final ClassLoader targetLoader; private final GeneratedClassStore store; @@ -63,6 +64,7 @@ class InterfaceDesugaring extends ClassVisitor { ClassVisitor dest, ClassVsInterface interfaceCache, DependencyCollector depsCollector, + @Nullable CoreLibrarySupport coreLibrarySupport, ClassReaderFactory bootclasspath, ClassLoader targetLoader, GeneratedClassStore store, @@ -70,6 +72,7 @@ class InterfaceDesugaring extends ClassVisitor { super(Opcodes.ASM6, dest); this.interfaceCache = interfaceCache; this.depsCollector = depsCollector; + this.coreLibrarySupport = coreLibrarySupport; this.bootclasspath = bootclasspath; this.targetLoader = targetLoader; this.store = store; @@ -214,6 +217,10 @@ class InterfaceDesugaring extends ClassVisitor { internalName, desc); ++numberOfDefaultMethods; + if (coreLibrarySupport != null) { + coreLibrarySupport.registerIfEmulatedCoreInterface( + access, internalName, name, desc, exceptions); + } abstractDest = super.visitMethod(access | Opcodes.ACC_ABSTRACT, name, desc, signature, exceptions); } |