diff --git a/.idea/modules.xml b/.idea/modules.xml
index fc7cd87891f..5d47b3d4413 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -41,6 +41,7 @@
+
diff --git a/build.xml b/build.xml
index 2ad16c286e4..29e15a27cab 100644
--- a/build.xml
+++ b/build.xml
@@ -625,13 +625,14 @@
-
+ classpath="${basedir}/core/runtime.jvm/src${path.separator}${basedir}/core/reflection.jvm/src"/>
+
@@ -660,6 +661,7 @@
+
diff --git a/compiler/tests/org/jetbrains/jet/codegen/forTestCompile/ForTestCompileRuntime.java b/compiler/tests/org/jetbrains/jet/codegen/forTestCompile/ForTestCompileRuntime.java
index 692538062a9..44dd6dbccad 100644
--- a/compiler/tests/org/jetbrains/jet/codegen/forTestCompile/ForTestCompileRuntime.java
+++ b/compiler/tests/org/jetbrains/jet/codegen/forTestCompile/ForTestCompileRuntime.java
@@ -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 javaFilesUnder(@NotNull String path) {
- return FileUtil.findFilesByMask(Pattern.compile(".*\\.java"), new File(path));
+ private static List javaFilesUnder(@NotNull String... paths) {
+ return KotlinPackage.flatMap(Arrays.asList(paths), new Function1>() {
+ @Override
+ public List invoke(String path) {
+ return FileUtil.findFilesByMask(Pattern.compile(".*\\.java"), new File(path));
+ }
+ });
}
private static void compileStdlib(@NotNull File destDir) throws IOException {
diff --git a/compiler/tests/org/jetbrains/jet/parsing/JetCodeConformanceTest.java b/compiler/tests/org/jetbrains/jet/parsing/JetCodeConformanceTest.java
index 534f6719e38..49406b1faef 100644
--- a/compiler/tests/org/jetbrains/jet/parsing/JetCodeConformanceTest.java
+++ b/compiler/tests/org/jetbrains/jet/parsing/JetCodeConformanceTest.java
@@ -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 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"),
diff --git a/core/reflection.jvm/reflection.jvm.iml b/core/reflection.jvm/reflection.jvm.iml
new file mode 100644
index 00000000000..44071adbdcd
--- /dev/null
+++ b/core/reflection.jvm/reflection.jvm.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/core/runtime.jvm/src/kotlin/reflect/exceptions.kt b/core/reflection.jvm/src/kotlin/reflect/exceptions.kt
similarity index 100%
rename from core/runtime.jvm/src/kotlin/reflect/exceptions.kt
rename to core/reflection.jvm/src/kotlin/reflect/exceptions.kt
diff --git a/core/runtime.jvm/src/kotlin/reflect/jvm/internal/KCallableImpl.kt b/core/reflection.jvm/src/kotlin/reflect/jvm/internal/KCallableImpl.kt
similarity index 100%
rename from core/runtime.jvm/src/kotlin/reflect/jvm/internal/KCallableImpl.kt
rename to core/reflection.jvm/src/kotlin/reflect/jvm/internal/KCallableImpl.kt
diff --git a/core/runtime.jvm/src/kotlin/reflect/jvm/internal/KClassImpl.kt b/core/reflection.jvm/src/kotlin/reflect/jvm/internal/KClassImpl.kt
similarity index 100%
rename from core/runtime.jvm/src/kotlin/reflect/jvm/internal/KClassImpl.kt
rename to core/reflection.jvm/src/kotlin/reflect/jvm/internal/KClassImpl.kt
diff --git a/core/runtime.jvm/src/kotlin/reflect/jvm/internal/KExtensionFunctionImpl.kt b/core/reflection.jvm/src/kotlin/reflect/jvm/internal/KExtensionFunctionImpl.kt
similarity index 100%
rename from core/runtime.jvm/src/kotlin/reflect/jvm/internal/KExtensionFunctionImpl.kt
rename to core/reflection.jvm/src/kotlin/reflect/jvm/internal/KExtensionFunctionImpl.kt
diff --git a/core/runtime.jvm/src/kotlin/reflect/jvm/internal/KForeignMemberProperty.kt b/core/reflection.jvm/src/kotlin/reflect/jvm/internal/KForeignMemberProperty.kt
similarity index 100%
rename from core/runtime.jvm/src/kotlin/reflect/jvm/internal/KForeignMemberProperty.kt
rename to core/reflection.jvm/src/kotlin/reflect/jvm/internal/KForeignMemberProperty.kt
diff --git a/core/runtime.jvm/src/kotlin/reflect/jvm/internal/KFunctionImpl.kt b/core/reflection.jvm/src/kotlin/reflect/jvm/internal/KFunctionImpl.kt
similarity index 100%
rename from core/runtime.jvm/src/kotlin/reflect/jvm/internal/KFunctionImpl.kt
rename to core/reflection.jvm/src/kotlin/reflect/jvm/internal/KFunctionImpl.kt
diff --git a/core/runtime.jvm/src/kotlin/reflect/jvm/internal/KMemberFunctionImpl.kt b/core/reflection.jvm/src/kotlin/reflect/jvm/internal/KMemberFunctionImpl.kt
similarity index 100%
rename from core/runtime.jvm/src/kotlin/reflect/jvm/internal/KMemberFunctionImpl.kt
rename to core/reflection.jvm/src/kotlin/reflect/jvm/internal/KMemberFunctionImpl.kt
diff --git a/core/runtime.jvm/src/kotlin/reflect/jvm/internal/KMemberPropertyImpl.kt b/core/reflection.jvm/src/kotlin/reflect/jvm/internal/KMemberPropertyImpl.kt
similarity index 100%
rename from core/runtime.jvm/src/kotlin/reflect/jvm/internal/KMemberPropertyImpl.kt
rename to core/reflection.jvm/src/kotlin/reflect/jvm/internal/KMemberPropertyImpl.kt
diff --git a/core/runtime.jvm/src/kotlin/reflect/jvm/internal/KPackageImpl.kt b/core/reflection.jvm/src/kotlin/reflect/jvm/internal/KPackageImpl.kt
similarity index 100%
rename from core/runtime.jvm/src/kotlin/reflect/jvm/internal/KPackageImpl.kt
rename to core/reflection.jvm/src/kotlin/reflect/jvm/internal/KPackageImpl.kt
diff --git a/core/runtime.jvm/src/kotlin/reflect/jvm/internal/KPropertyImpl.kt b/core/reflection.jvm/src/kotlin/reflect/jvm/internal/KPropertyImpl.kt
similarity index 100%
rename from core/runtime.jvm/src/kotlin/reflect/jvm/internal/KPropertyImpl.kt
rename to core/reflection.jvm/src/kotlin/reflect/jvm/internal/KPropertyImpl.kt
diff --git a/core/runtime.jvm/src/kotlin/reflect/jvm/internal/KTopLevelExtensionPropertyImpl.kt b/core/reflection.jvm/src/kotlin/reflect/jvm/internal/KTopLevelExtensionPropertyImpl.kt
similarity index 100%
rename from core/runtime.jvm/src/kotlin/reflect/jvm/internal/KTopLevelExtensionPropertyImpl.kt
rename to core/reflection.jvm/src/kotlin/reflect/jvm/internal/KTopLevelExtensionPropertyImpl.kt
diff --git a/core/runtime.jvm/src/kotlin/reflect/jvm/internal/KTopLevelVariableImpl.kt b/core/reflection.jvm/src/kotlin/reflect/jvm/internal/KTopLevelVariableImpl.kt
similarity index 100%
rename from core/runtime.jvm/src/kotlin/reflect/jvm/internal/KTopLevelVariableImpl.kt
rename to core/reflection.jvm/src/kotlin/reflect/jvm/internal/KTopLevelVariableImpl.kt
diff --git a/core/runtime.jvm/src/kotlin/reflect/jvm/internal/KVariableImpl.kt b/core/reflection.jvm/src/kotlin/reflect/jvm/internal/KVariableImpl.kt
similarity index 100%
rename from core/runtime.jvm/src/kotlin/reflect/jvm/internal/KVariableImpl.kt
rename to core/reflection.jvm/src/kotlin/reflect/jvm/internal/KVariableImpl.kt
diff --git a/core/runtime.jvm/src/kotlin/reflect/jvm/internal/factory.kt b/core/reflection.jvm/src/kotlin/reflect/jvm/internal/factory.kt
similarity index 100%
rename from core/runtime.jvm/src/kotlin/reflect/jvm/internal/factory.kt
rename to core/reflection.jvm/src/kotlin/reflect/jvm/internal/factory.kt
diff --git a/core/runtime.jvm/src/kotlin/reflect/jvm/internal/foreignKClasses.kt b/core/reflection.jvm/src/kotlin/reflect/jvm/internal/foreignKClasses.kt
similarity index 100%
rename from core/runtime.jvm/src/kotlin/reflect/jvm/internal/foreignKClasses.kt
rename to core/reflection.jvm/src/kotlin/reflect/jvm/internal/foreignKClasses.kt
diff --git a/core/runtime.jvm/src/kotlin/reflect/jvm/internal/pcollections/ConsPStack.java b/core/reflection.jvm/src/kotlin/reflect/jvm/internal/pcollections/ConsPStack.java
similarity index 100%
rename from core/runtime.jvm/src/kotlin/reflect/jvm/internal/pcollections/ConsPStack.java
rename to core/reflection.jvm/src/kotlin/reflect/jvm/internal/pcollections/ConsPStack.java
diff --git a/core/runtime.jvm/src/kotlin/reflect/jvm/internal/pcollections/HashPMap.java b/core/reflection.jvm/src/kotlin/reflect/jvm/internal/pcollections/HashPMap.java
similarity index 100%
rename from core/runtime.jvm/src/kotlin/reflect/jvm/internal/pcollections/HashPMap.java
rename to core/reflection.jvm/src/kotlin/reflect/jvm/internal/pcollections/HashPMap.java
diff --git a/core/runtime.jvm/src/kotlin/reflect/jvm/internal/pcollections/IntTree.java b/core/reflection.jvm/src/kotlin/reflect/jvm/internal/pcollections/IntTree.java
similarity index 100%
rename from core/runtime.jvm/src/kotlin/reflect/jvm/internal/pcollections/IntTree.java
rename to core/reflection.jvm/src/kotlin/reflect/jvm/internal/pcollections/IntTree.java
diff --git a/core/runtime.jvm/src/kotlin/reflect/jvm/internal/pcollections/IntTreePMap.java b/core/reflection.jvm/src/kotlin/reflect/jvm/internal/pcollections/IntTreePMap.java
similarity index 100%
rename from core/runtime.jvm/src/kotlin/reflect/jvm/internal/pcollections/IntTreePMap.java
rename to core/reflection.jvm/src/kotlin/reflect/jvm/internal/pcollections/IntTreePMap.java
diff --git a/core/runtime.jvm/src/kotlin/reflect/jvm/internal/pcollections/MapEntry.java b/core/reflection.jvm/src/kotlin/reflect/jvm/internal/pcollections/MapEntry.java
similarity index 100%
rename from core/runtime.jvm/src/kotlin/reflect/jvm/internal/pcollections/MapEntry.java
rename to core/reflection.jvm/src/kotlin/reflect/jvm/internal/pcollections/MapEntry.java
diff --git a/core/runtime.jvm/src/kotlin/reflect/jvm/internal/util.kt b/core/reflection.jvm/src/kotlin/reflect/jvm/internal/util.kt
similarity index 100%
rename from core/runtime.jvm/src/kotlin/reflect/jvm/internal/util.kt
rename to core/reflection.jvm/src/kotlin/reflect/jvm/internal/util.kt
diff --git a/core/runtime.jvm/src/kotlin/reflect/jvm/mapping.kt b/core/reflection.jvm/src/kotlin/reflect/jvm/mapping.kt
similarity index 100%
rename from core/runtime.jvm/src/kotlin/reflect/jvm/mapping.kt
rename to core/reflection.jvm/src/kotlin/reflect/jvm/mapping.kt
diff --git a/core/runtime.jvm/src/kotlin/reflect/jvm/properties.kt b/core/reflection.jvm/src/kotlin/reflect/jvm/properties.kt
similarity index 100%
rename from core/runtime.jvm/src/kotlin/reflect/jvm/properties.kt
rename to core/reflection.jvm/src/kotlin/reflect/jvm/properties.kt
diff --git a/libraries/tools/runtime/pom.xml b/libraries/tools/runtime/pom.xml
index e8b7800415c..7fde7c6a810 100644
--- a/libraries/tools/runtime/pom.xml
+++ b/libraries/tools/runtime/pom.xml
@@ -35,6 +35,7 @@
+