Fixed JDK hack
This commit is contained in:
Generated
+25
-30
@@ -6,19 +6,13 @@
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="f02ef53d-47a4-4f5e-a1aa-3df68aae9b20" name="Default" comment="">
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/libs.xml" />
|
||||
<change type="DELETED" beforePath="C:\Dev\Projects\jet-contrib\k2js\.idea\libraries\guava_10_0_1.xml" afterPath="" />
|
||||
<change type="DELETED" beforePath="C:\Dev\Projects\jet-contrib\k2js\.idea\libraries\junit.xml" afterPath="" />
|
||||
<change type="DELETED" beforePath="C:\Dev\Projects\jet-contrib\k2js\lib\guava-10.0.1.jar" afterPath="" />
|
||||
<change type="DELETED" beforePath="C:\Dev\Projects\jet-contrib\k2js\lib\js.jar" afterPath="" />
|
||||
<change type="DELETED" beforePath="C:\Dev\Projects\jet-contrib\k2js\lib\junit-4.10.jar" afterPath="" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/test_files/test_cases/assign.js" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/test_files/test_cases/classInstantiation.js" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/test_files/test_cases/comparison.js" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/test_files/test_cases/localProperty.js" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/test_files/test_cases/test.js" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/js.iml" afterPath="$PROJECT_DIR$/js/js.iml" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/src/com/google/dart/compiler/backend/js/ast/JsProgram.java" afterPath="$PROJECT_DIR$/js/src/com/google/dart/compiler/backend/js/ast/JsProgram.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/src/com/google/dart/compiler/util/AstUtil.java" afterPath="$PROJECT_DIR$/js/src/com/google/dart/compiler/util/AstUtil.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassTranslator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/NamespaceTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/NamespaceTranslator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/translator.iml" afterPath="$PROJECT_DIR$/translator/translator.iml" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/K2JSTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/K2JSTranslator.java" />
|
||||
</list>
|
||||
<ignored path="k2js.iws" />
|
||||
<ignored path=".idea/workspace.xml" />
|
||||
@@ -99,10 +93,10 @@
|
||||
<splitter split-orientation="horizontal" split-proportion="0.5082908">
|
||||
<split-first>
|
||||
<leaf>
|
||||
<file leaf-file-name="K2JSTranslator.java" pinned="false" current="false" current-in-tab="false">
|
||||
<file leaf-file-name="K2JSTranslator.java" pinned="false" current="true" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/K2JSTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="91" column="27" selection-start="3396" selection-end="3396" vertical-scroll-proportion="0.0">
|
||||
<state line="173" column="63" selection-start="7002" selection-end="7002" vertical-scroll-proportion="1.2596401">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@@ -177,10 +171,10 @@
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="JetStandardLibrary.java" pinned="false" current="true" current-in-tab="true">
|
||||
<file leaf-file-name="JetStandardLibrary.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/types/JetStandardLibrary.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="43" column="22" selection-start="1729" selection-end="1729" vertical-scroll-proportion="0.50718683">
|
||||
<state line="48" column="14" selection-start="1890" selection-end="1890" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@@ -253,7 +247,7 @@
|
||||
<file leaf-file-name="Namer.java" pinned="false" current="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/Namer.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="62" column="28" selection-start="1955" selection-end="1955" vertical-scroll-proportion="1.378">
|
||||
<state line="62" column="28" selection-start="1955" selection-end="1955" vertical-scroll-proportion="0.8710493">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@@ -297,11 +291,11 @@
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionVisitor.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslationContext.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/GenerationState.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/K2JSTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/js/src/com/google/dart/compiler/backend/js/ast/JsProgram.java" />
|
||||
<option value="$PROJECT_DIR$/js/src/com/google/dart/compiler/util/AstUtil.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/NamespaceTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/K2JSTranslator.java" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
@@ -767,9 +761,9 @@
|
||||
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3997862" sideWeight="0.6705998" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.16149732" sideWeight="0.5258621" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.16149732" sideWeight="0.8045977" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Run" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.47413793" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Run" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.1954023" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
|
||||
@@ -807,7 +801,7 @@
|
||||
<option name="CHECK_COMMIT_MESSAGE_SPELLING" value="true" />
|
||||
<option name="DEFAULT_PATCH_EXTENSION" value="patch" />
|
||||
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="split code into modules and lots of other code changes" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="Finished reorganising project structure." />
|
||||
<option name="MAKE_NEW_CHANGELIST_ACTIVE" value="true" />
|
||||
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
|
||||
<option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
|
||||
@@ -822,6 +816,7 @@
|
||||
<option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
|
||||
<MESSAGE value="Added tests and rewrote scoping logic" />
|
||||
<MESSAGE value="split code into modules and lots of other code changes" />
|
||||
<MESSAGE value="Finished reorganising project structure." />
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager />
|
||||
@@ -856,7 +851,7 @@
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/Namer.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="62" column="28" selection-start="1955" selection-end="1955" vertical-scroll-proportion="1.378">
|
||||
<state line="62" column="28" selection-start="1955" selection-end="1955" vertical-scroll-proportion="0.8710493">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@@ -868,13 +863,6 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/K2JSTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="91" column="27" selection-start="3396" selection-end="3396" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassBodyVisitor.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="70" column="16" selection-start="3002" selection-end="3002" vertical-scroll-proportion="-45.76923">
|
||||
@@ -948,7 +936,14 @@
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/types/JetStandardLibrary.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="43" column="22" selection-start="1729" selection-end="1729" vertical-scroll-proportion="0.50718683">
|
||||
<state line="48" column="14" selection-start="1890" selection-end="1890" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/K2JSTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="173" column="63" selection-start="7002" selection-end="7002" vertical-scroll-proportion="1.2596401">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
|
||||
@@ -28,6 +28,8 @@ import org.jetbrains.jet.lang.resolve.java.JavaDefaultImports;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.net.URLClassLoader;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
@@ -165,11 +167,49 @@ public class K2JSTranslator {
|
||||
}
|
||||
|
||||
private static File initJdk() {
|
||||
// TODO detect jar
|
||||
File rtJar = new File("C:\\Program Files\\Java\\jdk1.6.0_29\\jre\\lib\\rt.jar");
|
||||
assert rtJar != null;
|
||||
String javaHome = System.getenv("JAVA_HOME");
|
||||
File rtJar = null;
|
||||
if (javaHome == null) {
|
||||
ClassLoader systemClassLoader = ClassLoader.getSystemClassLoader();
|
||||
if(systemClassLoader instanceof URLClassLoader) {
|
||||
URLClassLoader loader = (URLClassLoader) systemClassLoader;
|
||||
for(URL url: loader.getURLs()) {
|
||||
if("file".equals(url.getProtocol())) {
|
||||
if(url.getFile().endsWith("/lib/rt.jar")) {
|
||||
rtJar = new File(url.getFile());
|
||||
break;
|
||||
}
|
||||
if(url.getFile().endsWith("/Classes/classes.jar")) {
|
||||
rtJar = new File(url.getFile()).getAbsoluteFile();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(rtJar == null) {
|
||||
System.out.println("JAVA_HOME environment variable needs to be defined");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else {
|
||||
rtJar = findRtJar(javaHome);
|
||||
}
|
||||
|
||||
if (rtJar == null || !rtJar.exists()) {
|
||||
System.out.print("No rt.jar found under JAVA_HOME=" + javaHome);
|
||||
return null;
|
||||
}
|
||||
return rtJar;
|
||||
}
|
||||
|
||||
private static File findRtJar(String javaHome) {
|
||||
File rtJar = new File(javaHome, "jre/lib/rt.jar");
|
||||
if (rtJar.exists()) {
|
||||
return rtJar;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user