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();
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());
@@ -307,20 +307,16 @@ public abstract class BaseDiagnosticsTest extends JetLiteFixture {
return jetFile;
}
public boolean getActualText(BindingContext bindingContext, StringBuilder actualText) {
public boolean getActualText(BindingContext bindingContext, StringBuilder actualText, boolean skipJvmSignatureDiagnostics) {
if (this.jetFile == null) {
// TODO: check java files too
actualText.append(this.clearText);
return true;
}
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));
}
Set<Diagnostic> jvmSignatureDiagnostics = skipJvmSignatureDiagnostics
? Collections.<Diagnostic>emptySet()
: computeJvmSignatureDiagnostics(bindingContext);
final boolean[] ok = { true };
List<Diagnostic> diagnostics = ContainerUtil.filter(
@@ -354,5 +350,16 @@ public abstract class BaseDiagnosticsTest extends JetLiteFixture {
}));
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;
}
}
}