Dropping package facades:
- light classes: do not generate light class for package facade - drop package facades as multifile classes compilation mode support - get rid of some additional package facade fqName usages - update tests for light classes
This commit is contained in:
@@ -38,10 +38,6 @@ public class AnnotationGenTest extends CodegenTestCase {
|
||||
return generateAndCreateClassLoader();
|
||||
}
|
||||
|
||||
private Class<?> getPackageClass(@NotNull ClassLoader loader) throws ClassNotFoundException {
|
||||
return loader.loadClass(PackageClassUtils.getPackageClassName(myFiles.getPsiFile().getPackageFqName()));
|
||||
}
|
||||
|
||||
private Class<?> getPackageSrcClass(@NotNull ClassLoader loader) throws ClassNotFoundException {
|
||||
return loader.loadClass(PackagePartClassUtils.getPackagePartInternalName(myFiles.getPsiFile()));
|
||||
}
|
||||
|
||||
@@ -68,7 +68,6 @@ public class CodegenTestUtil {
|
||||
configuration.get(JVMConfigurationKeys.DISABLE_INLINE, false),
|
||||
configuration.get(JVMConfigurationKeys.DISABLE_OPTIMIZATION, false),
|
||||
/* useTypeTableInSerializer = */ false,
|
||||
configuration.get(JVMConfigurationKeys.PACKAGE_FACADES_AS_MULTIFILE_CLASSES, false),
|
||||
forExtraDiagnostics
|
||||
);
|
||||
KotlinCodegenFacade.compileCorrectFiles(state, CompilationErrorHandler.THROW_EXCEPTION);
|
||||
|
||||
+2
-10
@@ -50,16 +50,8 @@ public class SyntheticMethodForAnnotatedPropertyGenTest extends CodegenTestCase
|
||||
|
||||
public void testTopLevel() {
|
||||
loadFile();
|
||||
String packageClassName = PackageClassUtils.getPackageClassName(FqName.ROOT);
|
||||
for (OutputFile outputFile : generateClassesInFile().asList()) {
|
||||
String filPath = outputFile.getRelativePath();
|
||||
|
||||
if (filPath.startsWith(packageClassName) && !filPath.equals(packageClassName + ".class")) {
|
||||
// This should be package$src class
|
||||
Class<?> a = generateClass(filPath.substring(0, filPath.length() - ".class".length()));
|
||||
assertAnnotatedSyntheticMethodExistence(true, a);
|
||||
}
|
||||
}
|
||||
Class<?> a = generateClass("TopLevelKt");
|
||||
assertAnnotatedSyntheticMethodExistence(true, a);
|
||||
}
|
||||
|
||||
public void testInTrait() throws ClassNotFoundException {
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.name;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.jetbrains.kotlin.load.kotlin.PackageClassUtils.getPackageClassName;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
public class PackageClassNameTest {
|
||||
|
||||
@Test
|
||||
public void testPackageName1() {
|
||||
doTest("kotlin", "KotlinPackage", "_DefaultPackage");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPackageName2() {
|
||||
doTest("kotlin.io", "IoPackage", "KotlinPackage");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPackageName3() {
|
||||
doTest("kotlin.io.foo", "FooPackage", "IoPackage");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPackageName4() {
|
||||
doTest("kotlinTest.ioTest", "IoTestPackage", "KotlinTestPackage");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPackageName5() {
|
||||
doTest(FqName.ROOT, "_DefaultPackage", null);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPackageName6() {
|
||||
doTest(FqName.ROOT.child(Name.identifier("kotlin")), "KotlinPackage", "_DefaultPackage");
|
||||
}
|
||||
|
||||
private static void doTest(@NotNull String name, @NotNull String expectedForChild, @Nullable String expectedForParent) {
|
||||
doTest(new FqName(name), expectedForChild, expectedForParent);
|
||||
}
|
||||
|
||||
private static void doTest(@NotNull FqName name, @NotNull String expectedForChild, @Nullable String expectedForParent) {
|
||||
assertEquals("Wrong result for child [" + name + "].", expectedForChild, getPackageClassName(name));
|
||||
if (expectedForParent != null) {
|
||||
assertEquals("Wrong result for parent [" + name + "].", expectedForParent, getPackageClassName(name.parent()));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user