Missing java.io.PrintStream
Missing java.lang.Class
Missing java.lang.Enum
Missing java.lang.Exception
Missing java.lang.Integer
Missing java.lang.Object
Missing java.lang.String
Missing java.lang.SuppressWarnings
Missing java.lang.System
Missing java.lang.annotation.Annotation
Missing java.lang.annotation.ElementType
Missing java.lang.annotation.Retention
Missing java.lang.annotation.RetentionPolicy
Missing java.lang.annotation.Target
Missing java.lang.invoke.CallSite
Missing java.lang.invoke.LambdaMetafactory
Missing java.lang.invoke.MethodHandle
Missing java.lang.invoke.MethodHandles$Lookup
Missing java.lang.invoke.MethodType
Missing java.util.Objects
Indirectly missing class java.lang.Enum. Referenced by:
    com.google.devtools.build.importdeps.testdata.Client$EnumTest
    com.google.devtools.build.importdeps.testdata.LibraryAnnotations$AnnotationFlag
Indirectly missing class java.lang.Exception. Referenced by:
    com.google.devtools.build.importdeps.testdata.LibraryException
Indirectly missing class java.lang.Object. Referenced by:
    com.google.devtools.build.importdeps.testdata.Client$InnerClassWithSyntheticConstructorParam
    com.google.devtools.build.importdeps.testdata.Library
    com.google.devtools.build.importdeps.testdata.Library$Class1
    com.google.devtools.build.importdeps.testdata.Library$Class11
    com.google.devtools.build.importdeps.testdata.Library$Class2
    com.google.devtools.build.importdeps.testdata.Library$Class3
    com.google.devtools.build.importdeps.testdata.Library$Class4
    com.google.devtools.build.importdeps.testdata.Library$Class5
    com.google.devtools.build.importdeps.testdata.Library$Class6
    com.google.devtools.build.importdeps.testdata.Library$Class7
    com.google.devtools.build.importdeps.testdata.Library$Class8
    com.google.devtools.build.importdeps.testdata.Library$Class9
    com.google.devtools.build.importdeps.testdata.LibraryAnnotations
    com.google.devtools.build.importdeps.testdata.LibraryAnnotations$AnnotationAnnotation
    com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ClassAnnotation
    com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ConstructorAnnotation
    com.google.devtools.build.importdeps.testdata.LibraryAnnotations$FieldAnnotation
    com.google.devtools.build.importdeps.testdata.LibraryAnnotations$MethodAnnotation
    com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ParameterAnnotation
    com.google.devtools.build.importdeps.testdata.LibraryAnnotations$TypeAnnotation
    com.google.devtools.build.importdeps.testdata.LibraryInterface
    com.google.devtools.build.importdeps.testdata.LibraryInterface$Func
    com.google.devtools.build.importdeps.testdata.LibraryInterface$InterfaceBar
    com.google.devtools.build.importdeps.testdata.LibraryInterface$InterfaceFoo
    com.google.devtools.build.importdeps.testdata.LibraryInterface$One
    com.google.devtools.build.importdeps.testdata.LibraryInterface$Two
Indirectly missing class java.lang.annotation.Annotation. Referenced by:
    com.google.devtools.build.importdeps.testdata.LibraryAnnotations$AnnotationAnnotation
    com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ClassAnnotation
    com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ConstructorAnnotation
    com.google.devtools.build.importdeps.testdata.LibraryAnnotations$FieldAnnotation
    com.google.devtools.build.importdeps.testdata.LibraryAnnotations$MethodAnnotation
    com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ParameterAnnotation
    com.google.devtools.build.importdeps.testdata.LibraryAnnotations$TypeAnnotation
Missing member 'name' in class com.google.devtools.build.importdeps.testdata.Client$EnumTest : name=name, descriptor=()Ljava/lang/String;
Missing member 'ordinal' in class com.google.devtools.build.importdeps.testdata.Client$EnumTest : name=ordinal, descriptor=()I
===Total===
missing=20
incomplete=29
missing_members=2
