Supported several load from Java errors per declaration.
This commit is contained in:
@@ -48,6 +48,7 @@ import org.jetbrains.jet.lang.resolve.scopes.JetScope;
|
||||
import org.jetbrains.jet.resolve.DescriptorRenderer;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.regex.Matcher;
|
||||
@@ -76,7 +77,7 @@ public class JdkAnnotationsSanityTest extends KotlinTestWithEnvironment {
|
||||
final BindingContext bindingContext = injector.getBindingTrace().getBindingContext();
|
||||
JavaDescriptorResolver javaDescriptorResolver = injector.getJavaDescriptorResolver();
|
||||
|
||||
final Map<DeclarationDescriptor, String> errors = Maps.newHashMap();
|
||||
final Map<DeclarationDescriptor, List<String>> errors = Maps.newHashMap();
|
||||
|
||||
Iterable<FqName> affectedClasses = getAffectedClasses(kotlinAnnotationsRoot);
|
||||
AlternativeSignatureErrorFindingVisitor visitor = new AlternativeSignatureErrorFindingVisitor(bindingContext, errors);
|
||||
@@ -94,7 +95,7 @@ public class JdkAnnotationsSanityTest extends KotlinTestWithEnvironment {
|
||||
|
||||
if (!errors.isEmpty()) {
|
||||
StringBuilder sb = new StringBuilder("Error(s) in JDK alternative signatures: \n");
|
||||
for (Map.Entry<DeclarationDescriptor, String> entry : errors.entrySet()) {
|
||||
for (Map.Entry<DeclarationDescriptor, List<String>> entry : errors.entrySet()) {
|
||||
sb.append(DescriptorRenderer.TEXT.render(entry.getKey())).append(" : ").append(entry.getValue()).append("\n");
|
||||
}
|
||||
fail(sb.toString());
|
||||
@@ -206,9 +207,9 @@ public class JdkAnnotationsSanityTest extends KotlinTestWithEnvironment {
|
||||
|
||||
private static class AlternativeSignatureErrorFindingVisitor extends DeclarationDescriptorVisitorEmptyBodies<Void, Void> {
|
||||
private final BindingContext bindingContext;
|
||||
private final Map<DeclarationDescriptor, String> errors;
|
||||
private final Map<DeclarationDescriptor, List<String>> errors;
|
||||
|
||||
public AlternativeSignatureErrorFindingVisitor(BindingContext bindingContext, Map<DeclarationDescriptor, String> errors) {
|
||||
public AlternativeSignatureErrorFindingVisitor(BindingContext bindingContext, Map<DeclarationDescriptor, List<String>> errors) {
|
||||
this.bindingContext = bindingContext;
|
||||
this.errors = errors;
|
||||
}
|
||||
@@ -239,9 +240,9 @@ public class JdkAnnotationsSanityTest extends KotlinTestWithEnvironment {
|
||||
}
|
||||
|
||||
private Void visitDeclaration(@NotNull DeclarationDescriptor descriptor) {
|
||||
String error = bindingContext.get(BindingContext.LOAD_FROM_JAVA_SIGNATURE_ERROR, descriptor);
|
||||
if (error != null) {
|
||||
errors.put(descriptor, error);
|
||||
List<String> errors = bindingContext.get(BindingContext.LOAD_FROM_JAVA_SIGNATURE_ERRORS, descriptor);
|
||||
if (errors != null) {
|
||||
this.errors.put(descriptor, errors);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user