Extract reflection implementation to module runtime.jvm

This commit is contained in:
Alexander Udalov
2014-11-07 20:08:38 +03:00
parent 4f0d83a7fe
commit 57d37a3860
29 changed files with 33 additions and 12 deletions
+1
View File
@@ -41,6 +41,7 @@
<module fileurl="file://$PROJECT_DIR$/idea/kotlin-android-plugin/kotlin-android-plugin.iml" filepath="$PROJECT_DIR$/idea/kotlin-android-plugin/kotlin-android-plugin.iml" group="ide" />
<module fileurl="file://$PROJECT_DIR$/compiler/preloader/preloader.iml" filepath="$PROJECT_DIR$/compiler/preloader/preloader.iml" group="compiler/cli" />
<module fileurl="file://$PROJECT_DIR$/core/reflection/reflection.iml" filepath="$PROJECT_DIR$/core/reflection/reflection.iml" group="core" />
<module fileurl="file://$PROJECT_DIR$/core/reflection.jvm/reflection.jvm.iml" filepath="$PROJECT_DIR$/core/reflection.jvm/reflection.jvm.iml" group="core" />
<module fileurl="file://$PROJECT_DIR$/core/runtime.jvm/runtime.jvm.iml" filepath="$PROJECT_DIR$/core/runtime.jvm/runtime.jvm.iml" group="core" />
<module fileurl="file://$PROJECT_DIR$/core/serialization/serialization.iml" filepath="$PROJECT_DIR$/core/serialization/serialization.iml" group="core" />
<module fileurl="file://$PROJECT_DIR$/core/serialization.java/serialization.java.iml" filepath="$PROJECT_DIR$/core/serialization.java/serialization.java.iml" group="core" />
+4 -2
View File
@@ -625,13 +625,14 @@
</sequential>
</macrodef>
<new_kotlinc src="${basedir}/core/builtins/src ${basedir}/core/runtime.jvm/src ${basedir}/core/reflection/src"
<new_kotlinc src="${basedir}/core/builtins/src ${basedir}/core/runtime.jvm/src ${basedir}/core/reflection/src ${basedir}/core/reflection.jvm/src"
output="${output}/classes/runtime"
classpath="${basedir}/core/runtime.jvm/src"/>
classpath="${basedir}/core/runtime.jvm/src${path.separator}${basedir}/core/reflection.jvm/src"/>
<javac2 destdir="${output}/classes/runtime" debug="true" debuglevel="lines,vars,source" includeAntRuntime="false"
source="${java.target}" target="${java.target}">
<src path="${basedir}/core/runtime.jvm/src"/>
<src path="${basedir}/core/reflection.jvm/src"/>
<classpath location="${output}/classes/runtime"/>
</javac2>
@@ -660,6 +661,7 @@
<fileset dir="${basedir}/core/builtins/src" includes="**/*"/>
<fileset dir="${basedir}/core/runtime.jvm/src" includes="**/*"/>
<fileset dir="${basedir}/core/reflection/src" includes="**/*"/>
<fileset dir="${basedir}/core/reflection.jvm/src" includes="**/*"/>
<fileset dir="${basedir}/libraries/stdlib/src" includes="**/*"/>
<zipfileset file="${kotlin-home}/build.txt" prefix="META-INF"/>
@@ -18,12 +18,14 @@ package org.jetbrains.jet.codegen.forTestCompile;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.util.ArrayUtil;
import kotlin.Function1;
import kotlin.KotlinPackage;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.JetTestUtils;
import org.jetbrains.jet.cli.common.ExitCode;
import org.jetbrains.jet.cli.jvm.K2JVMCompiler;
import org.jetbrains.jet.utils.Profiler;
import org.jetbrains.jet.utils.UtilsPackage;
import java.io.File;
import java.io.IOException;
@@ -37,9 +39,9 @@ import java.util.regex.Pattern;
* @see #runtimeJarForTests
*/
public class ForTestCompileRuntime {
private static final String BUILT_INS_SRC_PATH = "core/builtins/src";
private static final String RUNTIME_JVM_SRC_PATH = "core/runtime.jvm/src";
private static final String REFLECTION_SRC_PATH = "core/reflection/src";
private static final String[] PATHS = {
"core/builtins/src", "core/runtime.jvm/src", "core/reflection/src", "core/reflection.jvm/src"
};
private ForTestCompileRuntime() {
}
@@ -59,12 +61,10 @@ public class ForTestCompileRuntime {
}
public static void compileBuiltIns(@NotNull File destDir) throws IOException {
compileKotlinToJvm("built-ins", destDir,
BUILT_INS_SRC_PATH + File.pathSeparator + RUNTIME_JVM_SRC_PATH + File.pathSeparator + REFLECTION_SRC_PATH,
BUILT_INS_SRC_PATH, RUNTIME_JVM_SRC_PATH, REFLECTION_SRC_PATH);
compileKotlinToJvm("built-ins", destDir, UtilsPackage.join(Arrays.asList(PATHS), File.pathSeparator), PATHS);
JetTestUtils.compileJavaFiles(
javaFilesUnder(RUNTIME_JVM_SRC_PATH),
javaFilesUnder(PATHS),
Arrays.asList(
"-classpath", destDir.getPath(),
"-d", destDir.getPath()
@@ -73,8 +73,13 @@ public class ForTestCompileRuntime {
}
@NotNull
private static List<File> javaFilesUnder(@NotNull String path) {
return FileUtil.findFilesByMask(Pattern.compile(".*\\.java"), new File(path));
private static List<File> javaFilesUnder(@NotNull String... paths) {
return KotlinPackage.flatMap(Arrays.asList(paths), new Function1<String, List<File>>() {
@Override
public List<File> invoke(String path) {
return FileUtil.findFilesByMask(Pattern.compile(".*\\.java"), new File(path));
}
});
}
private static void compileStdlib(@NotNull File destDir) throws IOException {
@@ -36,7 +36,7 @@ public class JetCodeConformanceTest extends TestCase {
private static final Pattern SOURCES_FILE_PATTERN = Pattern.compile("(.+\\.java|.+\\.kt|.+\\.js)");
private static final List<File> EXCLUDED_FILES_AND_DIRS = Arrays.asList(
new File("android.tests.dependencies"),
new File("core/runtime.jvm/src/kotlin/reflect/jvm/internal/pcollections"),
new File("core/reflection.jvm/src/kotlin/reflect/jvm/internal/pcollections"),
new File("libraries/tools/runtime/target/copied-sources"),
new File("dependencies"),
new File("examples"),
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="kotlin-runtime" level="project" />
</component>
</module>
+1
View File
@@ -35,6 +35,7 @@
<fileset dir="${basedir}/../../../core/builtins/src"/>
<fileset dir="${basedir}/../../../core/runtime.jvm/src"/>
<fileset dir="${basedir}/../../../core/reflection/src"/>
<fileset dir="${basedir}/../../../core/reflection.jvm/src"/>
</copy>
</target>
</configuration>