Disable JVM signature diagnostics for multi-module tests

This commit is contained in:
Andrey Breslav
2014-06-04 19:43:02 +04:00
parent 14829ff058
commit ef7b43ecdc
2 changed files with 16 additions and 9 deletions
@@ -95,7 +95,7 @@ public abstract class AbstractJetDiagnosticsTest extends BaseDiagnosticsTest {
StringBuilder actualText = new StringBuilder(); StringBuilder actualText = new StringBuilder();
for (TestFile testFile : testFiles) { for (TestFile testFile : testFiles) {
ok &= testFile.getActualText(moduleBindings.get(testFile.getModule()), actualText); ok &= testFile.getActualText(moduleBindings.get(testFile.getModule()), actualText, groupedByModule.size() > 1);
} }
JetTestUtils.assertEqualsToFile(testDataFile, actualText.toString()); JetTestUtils.assertEqualsToFile(testDataFile, actualText.toString());
@@ -307,20 +307,16 @@ public abstract class BaseDiagnosticsTest extends JetLiteFixture {
return jetFile; return jetFile;
} }
public boolean getActualText(BindingContext bindingContext, StringBuilder actualText) { public boolean getActualText(BindingContext bindingContext, StringBuilder actualText, boolean skipJvmSignatureDiagnostics) {
if (this.jetFile == null) { if (this.jetFile == null) {
// TODO: check java files too // TODO: check java files too
actualText.append(this.clearText); actualText.append(this.clearText);
return true; return true;
} }
Set<Diagnostic> jvmSignatureDiagnostics = new HashSet<Diagnostic>(); Set<Diagnostic> jvmSignatureDiagnostics = skipJvmSignatureDiagnostics
Collection<JetDeclaration> declarations = PsiTreeUtil.findChildrenOfType(jetFile, JetDeclaration.class); ? Collections.<Diagnostic>emptySet()
for (JetDeclaration declaration : declarations) { : computeJvmSignatureDiagnostics(bindingContext);
Diagnostics diagnostics = AsJavaPackage.getJvmSignatureDiagnostics(declaration, bindingContext.getDiagnostics());
if (diagnostics == null) continue;
jvmSignatureDiagnostics.addAll(diagnostics.forElement(declaration));
}
final boolean[] ok = { true }; final boolean[] ok = { true };
List<Diagnostic> diagnostics = ContainerUtil.filter( List<Diagnostic> diagnostics = ContainerUtil.filter(
@@ -354,5 +350,16 @@ public abstract class BaseDiagnosticsTest extends JetLiteFixture {
})); }));
return ok[0]; return ok[0];
} }
private Set<Diagnostic> computeJvmSignatureDiagnostics(BindingContext bindingContext) {
Set<Diagnostic> jvmSignatureDiagnostics = new HashSet<Diagnostic>();
Collection<JetDeclaration> declarations = PsiTreeUtil.findChildrenOfType(jetFile, JetDeclaration.class);
for (JetDeclaration declaration : declarations) {
Diagnostics diagnostics = AsJavaPackage.getJvmSignatureDiagnostics(declaration, bindingContext.getDiagnostics());
if (diagnostics == null) continue;
jvmSignatureDiagnostics.addAll(diagnostics.forElement(declaration));
}
return jvmSignatureDiagnostics;
}
} }
} }