From 9cb19d17b0d7a8a698c56ebd1344fe063700087d Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Wed, 17 Jul 2013 16:03:06 +0400 Subject: [PATCH] Don't test line numbers on *Package classes Package classes in line number tests only contain "1" as the first line number of a single function, so there's no point in testing it. The test was failing due to the latest changes in the order of generation of classfiles (first $src, then facade) --- .../lineNumber/custom/compileTimeConstant.kt | 2 +- compiler/testData/lineNumber/custom/ifThen.kt | 2 +- .../testData/lineNumber/custom/ifThenElse.kt | 2 +- .../lineNumber/custom/tryCatchExpression.kt | 2 +- .../lineNumber/custom/tryCatchFinally.kt | 2 +- .../testData/lineNumber/custom/tryFinally.kt | 2 +- compiler/testData/lineNumber/custom/when.kt | 2 +- .../testData/lineNumber/custom/whenSubject.kt | 2 +- .../jetbrains/jet/codegen/LineNumberTest.java | 20 +++++++++++-------- 9 files changed, 20 insertions(+), 16 deletions(-) diff --git a/compiler/testData/lineNumber/custom/compileTimeConstant.kt b/compiler/testData/lineNumber/custom/compileTimeConstant.kt index c8e380519f3..02007f8cca1 100644 --- a/compiler/testData/lineNumber/custom/compileTimeConstant.kt +++ b/compiler/testData/lineNumber/custom/compileTimeConstant.kt @@ -3,4 +3,4 @@ fun foo() { 42 } -// 1 3 +// 3 diff --git a/compiler/testData/lineNumber/custom/ifThen.kt b/compiler/testData/lineNumber/custom/ifThen.kt index e7009c5eb2a..b83e386da20 100644 --- a/compiler/testData/lineNumber/custom/ifThen.kt +++ b/compiler/testData/lineNumber/custom/ifThen.kt @@ -8,4 +8,4 @@ fun foo() { } } -// 1 2 3 6 7 6 +// 2 3 6 7 6 diff --git a/compiler/testData/lineNumber/custom/ifThenElse.kt b/compiler/testData/lineNumber/custom/ifThenElse.kt index 51f59eb7dd5..e6949f39c57 100644 --- a/compiler/testData/lineNumber/custom/ifThenElse.kt +++ b/compiler/testData/lineNumber/custom/ifThenElse.kt @@ -12,4 +12,4 @@ fun foo() { } } -// 1 2 3 5 8 9 11 8 +// 2 3 5 8 9 11 8 diff --git a/compiler/testData/lineNumber/custom/tryCatchExpression.kt b/compiler/testData/lineNumber/custom/tryCatchExpression.kt index e11a367063f..eee47b7b032 100644 --- a/compiler/testData/lineNumber/custom/tryCatchExpression.kt +++ b/compiler/testData/lineNumber/custom/tryCatchExpression.kt @@ -12,4 +12,4 @@ fun foo() { } } -// 1 2 3 5 8 9 11 8 +// 2 3 5 8 9 11 8 diff --git a/compiler/testData/lineNumber/custom/tryCatchFinally.kt b/compiler/testData/lineNumber/custom/tryCatchFinally.kt index 340a26f0bd1..5bbdfc0e70d 100644 --- a/compiler/testData/lineNumber/custom/tryCatchFinally.kt +++ b/compiler/testData/lineNumber/custom/tryCatchFinally.kt @@ -16,4 +16,4 @@ fun foo() { } } -// 1 2 3 7 5 7 10 11 15 13 15 10 +// 2 3 7 5 7 10 11 15 13 15 10 diff --git a/compiler/testData/lineNumber/custom/tryFinally.kt b/compiler/testData/lineNumber/custom/tryFinally.kt index f162aa5c8b9..2ccad419548 100644 --- a/compiler/testData/lineNumber/custom/tryFinally.kt +++ b/compiler/testData/lineNumber/custom/tryFinally.kt @@ -12,4 +12,4 @@ fun foo() { } } -// 1 2 3 5 8 9 11 8 +// 2 3 5 8 9 11 8 diff --git a/compiler/testData/lineNumber/custom/when.kt b/compiler/testData/lineNumber/custom/when.kt index e197f6d0975..6ca520b0d75 100644 --- a/compiler/testData/lineNumber/custom/when.kt +++ b/compiler/testData/lineNumber/custom/when.kt @@ -12,4 +12,4 @@ fun foo(x: Int) { } } -// 1 3 4 5 9 10 11 8 +// 3 4 5 9 10 11 8 diff --git a/compiler/testData/lineNumber/custom/whenSubject.kt b/compiler/testData/lineNumber/custom/whenSubject.kt index c7cc28cea9f..9962712b759 100644 --- a/compiler/testData/lineNumber/custom/whenSubject.kt +++ b/compiler/testData/lineNumber/custom/whenSubject.kt @@ -12,4 +12,4 @@ fun foo(x: Int) { } } -// 1 2 3 4 5 8 9 10 11 8 +// 2 3 4 5 8 9 10 11 8 diff --git a/compiler/tests/org/jetbrains/jet/codegen/LineNumberTest.java b/compiler/tests/org/jetbrains/jet/codegen/LineNumberTest.java index 568c728990e..fe6bb11f3c5 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/LineNumberTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/LineNumberTest.java @@ -29,7 +29,6 @@ import org.jetbrains.jet.cli.jvm.compiler.CompileEnvironmentUtil; import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment; import org.jetbrains.jet.codegen.state.GenerationState; import org.jetbrains.jet.lang.psi.JetFile; -import org.jetbrains.jet.lang.psi.JetPsiFactory; import org.jetbrains.jet.lang.resolve.java.PackageClassUtils; import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.parsing.JetParsingTest; @@ -51,7 +50,7 @@ public class LineNumberTest extends TestCaseWithTmpdir { private static final Pattern TEST_LINE_NUMBER_PATTERN = Pattern.compile("^.*test." + LINE_NUMBER_FUN + "\\(\\).*$"); @NotNull - private String getTestDataPath() { + private static String getTestDataPath() { return JetParsingTest.getTestDataDir() + "/lineNumber"; } @@ -94,7 +93,8 @@ public class LineNumberTest extends TestCaseWithTmpdir { JetFile psiFile = createPsiFile(filename); GenerationState state = GenerationUtils.compileFileGetGenerationStateForTest(psiFile); - List expectedLineNumbers, actualLineNumbers; + List expectedLineNumbers; + List actualLineNumbers; if (custom) { expectedLineNumbers = extractCustomLineNumbersFromSource(psiFile); actualLineNumbers = extractActualLineNumbersFromBytecode(state, false); @@ -109,10 +109,14 @@ public class LineNumberTest extends TestCaseWithTmpdir { } @NotNull - private List extractActualLineNumbersFromBytecode(@NotNull GenerationState state, boolean testFunInvoke) { + private static List extractActualLineNumbersFromBytecode(@NotNull GenerationState state, boolean testFunInvoke) { ClassFileFactory factory = state.getFactory(); List actualLineNumbers = Lists.newArrayList(); for (String filename : factory.files()) { + if (PackageClassUtils.isPackageClassFqName(new FqName(FileUtil.getNameWithoutExtension(filename)))) { + // Don't test line numbers in *Package facade classes + continue; + } ClassReader cr = new ClassReader(factory.asBytes(filename)); try { List lineNumbers = testFunInvoke ? readTestFunLineNumbers(cr) : readAllLineNumbers(cr); @@ -136,7 +140,7 @@ public class LineNumberTest extends TestCaseWithTmpdir { } @NotNull - private List extractCustomLineNumbersFromSource(@NotNull JetFile file) { + private static List extractCustomLineNumbersFromSource(@NotNull JetFile file) { String fileContent = file.getText(); List lineNumbers = Lists.newArrayList(); String[] lines = StringUtil.convertLineSeparators(fileContent).split("\n"); @@ -154,7 +158,7 @@ public class LineNumberTest extends TestCaseWithTmpdir { } @NotNull - private List extractSelectedLineNumbersFromSource(@NotNull JetFile file) { + private static List extractSelectedLineNumbersFromSource(@NotNull JetFile file) { String fileContent = file.getText(); List lineNumbers = Lists.newArrayList(); String[] lines = StringUtil.convertLineSeparators(fileContent).split("\n"); @@ -170,7 +174,7 @@ public class LineNumberTest extends TestCaseWithTmpdir { } @NotNull - private List readTestFunLineNumbers(@NotNull ClassReader cr) { + private static List readTestFunLineNumbers(@NotNull ClassReader cr) { final List