Minor, catch all exceptions in asm verification in tests
E.g. ClassFormatError
This commit is contained in:
+1
-1
@@ -377,7 +377,7 @@
|
|||||||
<inspection_tool class="ThreadRun" enabled="true" level="WARNING" enabled_by_default="true" />
|
<inspection_tool class="ThreadRun" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||||
<inspection_tool class="ThreadStartInConstruction" enabled="true" level="WARNING" enabled_by_default="true" />
|
<inspection_tool class="ThreadStartInConstruction" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||||
<inspection_tool class="ThrowablePrintStackTrace" enabled="true" level="WARNING" enabled_by_default="true">
|
<inspection_tool class="ThrowablePrintStackTrace" enabled="true" level="WARNING" enabled_by_default="true">
|
||||||
<scope name="IDEA Test Sources" level="WARNING" enabled="false" />
|
<scope name="Tests" level="WARNING" enabled="false" />
|
||||||
</inspection_tool>
|
</inspection_tool>
|
||||||
<inspection_tool class="TrivialIf" enabled="false" level="WARNING" enabled_by_default="false" />
|
<inspection_tool class="TrivialIf" enabled="false" level="WARNING" enabled_by_default="false" />
|
||||||
<inspection_tool class="TrivialStringConcatenation" enabled="true" level="WARNING" enabled_by_default="true" />
|
<inspection_tool class="TrivialStringConcatenation" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||||
|
|||||||
@@ -20,15 +20,6 @@ import com.google.common.collect.Lists;
|
|||||||
import com.intellij.openapi.util.io.FileUtil;
|
import com.intellij.openapi.util.io.FileUtil;
|
||||||
import com.intellij.testFramework.UsefulTestCase;
|
import com.intellij.testFramework.UsefulTestCase;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.org.objectweb.asm.ClassReader;
|
|
||||||
import org.jetbrains.org.objectweb.asm.tree.ClassNode;
|
|
||||||
import org.jetbrains.org.objectweb.asm.tree.MethodNode;
|
|
||||||
import org.jetbrains.org.objectweb.asm.tree.analysis.Analyzer;
|
|
||||||
import org.jetbrains.org.objectweb.asm.tree.analysis.AnalyzerException;
|
|
||||||
import org.jetbrains.org.objectweb.asm.tree.analysis.BasicValue;
|
|
||||||
import org.jetbrains.org.objectweb.asm.tree.analysis.SimpleVerifier;
|
|
||||||
import org.jetbrains.org.objectweb.asm.util.Textifier;
|
|
||||||
import org.jetbrains.org.objectweb.asm.util.TraceMethodVisitor;
|
|
||||||
import org.jetbrains.jet.ConfigurationKind;
|
import org.jetbrains.jet.ConfigurationKind;
|
||||||
import org.jetbrains.jet.JetTestCaseBuilder;
|
import org.jetbrains.jet.JetTestCaseBuilder;
|
||||||
import org.jetbrains.jet.JetTestUtils;
|
import org.jetbrains.jet.JetTestUtils;
|
||||||
@@ -38,6 +29,15 @@ import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
|||||||
import org.jetbrains.jet.codegen.forTestCompile.ForTestCompileRuntime;
|
import org.jetbrains.jet.codegen.forTestCompile.ForTestCompileRuntime;
|
||||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||||
import org.jetbrains.jet.utils.UtilsPackage;
|
import org.jetbrains.jet.utils.UtilsPackage;
|
||||||
|
import org.jetbrains.org.objectweb.asm.ClassReader;
|
||||||
|
import org.jetbrains.org.objectweb.asm.tree.ClassNode;
|
||||||
|
import org.jetbrains.org.objectweb.asm.tree.MethodNode;
|
||||||
|
import org.jetbrains.org.objectweb.asm.tree.analysis.Analyzer;
|
||||||
|
import org.jetbrains.org.objectweb.asm.tree.analysis.AnalyzerException;
|
||||||
|
import org.jetbrains.org.objectweb.asm.tree.analysis.BasicValue;
|
||||||
|
import org.jetbrains.org.objectweb.asm.tree.analysis.SimpleVerifier;
|
||||||
|
import org.jetbrains.org.objectweb.asm.util.Textifier;
|
||||||
|
import org.jetbrains.org.objectweb.asm.util.TraceMethodVisitor;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -242,17 +242,19 @@ public abstract class CodegenTestCase extends UsefulTestCase {
|
|||||||
try {
|
try {
|
||||||
analyzer.analyze(classNode.name, method);
|
analyzer.analyze(classNode.name, method);
|
||||||
}
|
}
|
||||||
catch (AnalyzerException e) {
|
catch (Throwable e) {
|
||||||
System.out.println(file.asText());
|
System.out.println(file.asText());
|
||||||
|
|
||||||
System.err.println(classNode.name + "::" + method.name + method.desc);
|
System.err.println(classNode.name + "::" + method.name + method.desc);
|
||||||
|
|
||||||
// Print the erroneous instruction
|
//noinspection InstanceofCatchParameter
|
||||||
TraceMethodVisitor tmv = new TraceMethodVisitor(new Textifier());
|
if (e instanceof AnalyzerException) {
|
||||||
e.node.accept(tmv);
|
// Print the erroneous instruction
|
||||||
PrintWriter pw = new PrintWriter(System.err);
|
TraceMethodVisitor tmv = new TraceMethodVisitor(new Textifier());
|
||||||
tmv.p.print(pw);
|
((AnalyzerException) e).node.accept(tmv);
|
||||||
pw.flush();
|
PrintWriter pw = new PrintWriter(System.err);
|
||||||
|
tmv.p.print(pw);
|
||||||
|
pw.flush();
|
||||||
|
}
|
||||||
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
noErrors = false;
|
noErrors = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user