Compare commits

...

49 Commits

Author SHA1 Message Date
Evgeny Gerashchenko
ae789ae816 Reverted reverting +1 in line numbers of debugger test, fixed test data introduced by merging with master. 2014-11-07 14:43:55 +03:00
Evgeny Gerashchenko
44c8741807 Merge branch 'master' into idea13
Conflicts:
	idea/testData/debugger/tinyApp/outs/skipClassloader.out
	update_dependencies.xml
2014-11-06 21:24:35 +03:00
Evgeny Gerashchenko
428e614766 Reverted "Debugger: implement getSourcePosition for fields"
Corresponding API is not present in IDEA 13
2014-11-06 15:51:52 +03:00
Evgeny Gerashchenko
4fc045a630 Merge branch 'master' into idea13
Conflicts:
	build.xml
	generators/src/org/jetbrains/jet/generators/tests/GenerateTests.kt
	idea/src/org/jetbrains/jet/plugin/debugger/render/KotlinObjectRenderer.kt
	idea/testData/debugger/tinyApp/outs/delegatedPropertyInClass.out
	idea/testData/debugger/tinyApp/outs/frameAnonymousObject.out
	idea/testData/debugger/tinyApp/outs/frameExtFunExtFun.out
	idea/testData/debugger/tinyApp/outs/frameInnerLambda.out
	idea/testData/debugger/tinyApp/outs/frameLambda.out
	idea/testData/debugger/tinyApp/outs/frameSharedVar.out
	idea/testData/debugger/tinyApp/outs/frameSharedVarLocalVar.out
	idea/testData/debugger/tinyApp/outs/frameSimple.out
	idea/testData/debugger/tinyApp/outs/frameThis0.out
	idea/testData/debugger/tinyApp/outs/frameThis0Ext.out
	idea/testData/debugger/tinyApp/outs/frameThis0This0.out
	idea/testData/debugger/tinyApp/outs/toStringRenderer.out
	j2k/tests/test/org/jetbrains/jet/j2k/test/AbstractJavaToKotlinConverterTest.kt
	j2k/tests/test/org/jetbrains/jet/j2k/test/JavaToKotlinConverterForWebDemoTestGenerated.java
	update_dependencies.xml
2014-11-06 15:39:28 +03:00
Evgeny Gerashchenko
be5c460b6f Updated to IDEA 14 release (139.224.1) 2014-11-05 18:37:19 +03:00
Nikolay Krasko
5b926b682f Restore SmartCompletionPriorityWeigher lost in merge 2014-10-23 15:37:47 +04:00
Natalia Ukhorskaya
37b56a1cd2 Do not run J2KConverter tests in web demo mode for idea13 2014-10-23 12:31:41 +04:00
Andrey Breslav
f5a064e9d4 Compilation fixed 2014-10-22 21:09:57 +04:00
Andrey Breslav
050f09d4ce Merge remote-tracking branch 'origin/master' into idea13
Conflicts:
	idea/src/org/jetbrains/jet/plugin/codeInsight/OverrideImplementMethodsHandler.java
	idea/src/org/jetbrains/jet/plugin/completion/CompletionSorting.kt
	j2k/src/org/jetbrains/jet/j2k/JavaToKotlinTranslator.kt
2014-10-22 21:05:08 +04:00
Andrey Breslav
8fa3e8afd0 Tests fixed 2014-10-22 20:47:19 +04:00
Andrey Breslav
c41aa2e75c Reverting fff8bfff Debugger: do not throw exception on getting source position for Kotlin object
It is not compilable in IDEA 13
2014-10-22 15:47:43 +04:00
Andrey Breslav
0fef218403 Merge remote-tracking branch 'origin/master' into idea13
Conflicts:
	idea/src/org/jetbrains/jet/plugin/completion/KeywordCompletion.kt
	idea/tests/org/jetbrains/jet/plugin/refactoring/move/JetMoveTestGenerated.java
	jps-plugin/test/org/jetbrains/jet/jps/build/AbstractIncrementalJpsTest.kt
	update_dependencies.xml
2014-10-22 13:55:56 +04:00
Andrey Breslav
eb70d9b4be Merge branch 'master' into idea13 2014-10-15 14:36:49 +04:00
Natalia Ukhorskaya
145564c0e6 Android: navigate to resource
Implementation mostly copied from android plugin
 #KT-5596 Fixed
(cherry picked from commit ee33c09)
2014-10-14 15:35:15 +04:00
Natalia Ukhorskaya
4144587f5e Get android plugin from last android studio build 2014-10-14 15:35:14 +04:00
Pavel V. Talanov
190c721e71 Merge master into idea13 2014-10-13 19:58:44 +04:00
Pavel V. Talanov
be68f58633 Merge master into idea13 2014-10-13 19:52:01 +04:00
Natalia Ukhorskaya
d3f8fe2198 Merge branch 'origin/master' into idea13
Conflicts:
	idea/src/org/jetbrains/jet/plugin/codeInsight/KotlinCopyPasteReferenceProcessor.kt
2014-10-08 13:00:26 +04:00
Natalia Ukhorskaya
f9d943f0fa Fix OverrideImplement tests 2014-10-08 11:54:37 +04:00
Natalia Ukhorskaya
c8db7ccdaf Fix errors after merge 2014-10-07 12:57:42 +04:00
Natalia Ukhorskaya
f1da18e018 Android support: show errors from kotlin-gradle plugin in Messages View for idea13 2014-10-07 12:43:02 +04:00
Natalia Ukhorskaya
06ae5c0300 Merge branch 'master' into idea13
Conflicts:
	compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/KotlinWrappingLightClass.java
	idea/src/META-INF/plugin.xml
	idea/src/org/jetbrains/jet/plugin/debugger/render/KotlinClassWithDelegatedPropertyRenderer.kt
	update_dependencies.xml
2014-10-07 12:38:14 +04:00
Zalim Bashorov
a822c517ba Fix build after merge. 2014-09-26 22:49:10 +04:00
Zalim Bashorov
4e12b48500 Merge remote-tracking branch 'remotes/origin/master' into idea13
Conflicts:
	idea/src/org/jetbrains/jet/plugin/conversion/copy/ConvertJavaCopyPastePostProcessor.kt
2014-09-26 21:18:22 +04:00
Zalim Bashorov
0cc918d18c Fix build after merge. 2014-09-26 15:17:53 +04:00
Zalim Bashorov
31ef63182f Merge remote-tracking branch 'remotes/origin/master' into idea13
Conflicts:
	idea/testData/debugger/tinyApp/outs/frameAnonymousObject.out
	idea/testData/debugger/tinyApp/outs/frameInnerLambda.out
	idea/testData/debugger/tinyApp/outs/frameLambda.out
	idea/testData/debugger/tinyApp/outs/frameLambdaNotUsed.out
	idea/testData/debugger/tinyApp/outs/frameObject.out
	idea/testData/debugger/tinyApp/outs/frameSharedVar.out
2014-09-26 14:14:12 +04:00
Zalim Bashorov
63f5dc8215 Fix after merge: fix resolve values and valueOf of enums. 2014-09-25 18:46:25 +04:00
Zalim Bashorov
73c3d5bb94 Fix after merge: disabled until MoveInnerClassUsagesHandler will be backported to IDEA 13 2014-09-25 18:33:40 +04:00
Zalim Bashorov
de2540ade8 Fix after merge: fix resolve values and valueOf of enums. 2014-09-25 18:31:49 +04:00
Zalim Bashorov
4ddb5849d9 Merge remote-tracking branch 'origin/master' into idea13
Conflicts:
	update_dependencies.xml
2014-09-24 14:11:56 +04:00
Zalim Bashorov
907851c198 Update to IDEA 135.1286 2014-09-24 14:06:17 +04:00
Natalia Ukhorskaya
65d0f3d717 Debugger: implement filters for old UI 2014-09-03 18:47:53 +04:00
Natalia Ukhorskaya
2be6bbba4f Merge branch 'master' into idea13
Conflicts:
	jps-plugin/test/org/jetbrains/jet/jps/build/AbstractIncrementalJpsTest.kt
	update_dependencies.xml
2014-09-03 12:36:22 +04:00
Nikolay Krasko
db53285bdc Merge remote-tracking branch 'origin/master' into idea13
Conflicts:
	.idea/libraries/idea_full.xml
	.idea/libraries/intellij_core_analysis.xml
	idea/src/org/jetbrains/jet/plugin/conversion/copy/ConvertJavaCopyPastePostProcessor.kt
	idea/tests/org/jetbrains/jet/plugin/debugger/KotlinDebuggerTestCase.java
	update_dependencies.xml
2014-08-29 13:46:04 +04:00
Nikolay Krasko
a862f5614b Revert sources roots 2014-08-21 14:31:22 +04:00
Nikolay Krasko
78c804f2a1 Revert test data changed for 138.1283.4 EAP 2014-08-21 13:19:50 +04:00
Nikolay Krasko
8f803b5681 Disable build artifact for upsource 2014-08-21 13:19:48 +04:00
Nikolay Krasko
a5f1da861a Revert configure environment 2014-08-21 13:19:40 +04:00
Nikolay Krasko
def48c60cc Revert api changes 2014-08-21 13:19:28 +04:00
Nikolay Krasko
bc0e0a83f6 Merge remote-tracking branch 'origin/master' into idea13
Conflicts:
	idea/src/org/jetbrains/jet/plugin/completion/weigher/JetCompletionSorting.kt
	idea/src/org/jetbrains/jet/plugin/conversion/copy/ConvertJavaCopyPastePostProcessor.kt
	idea/tests/org/jetbrains/jet/plugin/JetLightCodeInsightFixtureTestCase.java
	update_dependencies.xml
	JavaRuntimeDetectionUtil
        JsLibraryStdDetectionUtil
        CompletionSorting
        ...
2014-08-20 15:13:34 +04:00
Zalim Bashorov
be4a167900 Update to IDEA 135.1230 2014-07-25 17:15:40 +04:00
Zalim Bashorov
ccacc28cef Revert idea14 specific changes after merge -- fix testData for debugger 2014-07-25 17:15:39 +04:00
Zalim Bashorov
bab1615407 Revert idea14 specific changes after merge -- in code: VfsRootAccess -> VirtualDirectoryImpl 2014-07-25 14:54:41 +04:00
Zalim Bashorov
bda504d7da Revert idea14 specific changes after merge -- in code 2014-07-25 14:54:07 +04:00
Zalim Bashorov
d89a74b34c Revert idea14 specific changes after merge -- XMLs 2014-07-25 14:52:57 +04:00
Zalim Bashorov
596877eb6c Merge remote-tracking branch 'remotes/origin/master' into idea13 2014-07-24 15:41:19 +04:00
Andrey Breslav
fb9af72614 Fix EA-57538 - assert: IDELightClassGenerationSupport.getContextForPackage 2014-07-02 19:47:50 +04:00
Natalia Ukhorskaya
9b0f872769 Gradle plugin: unable to build project in multi flavor environment with gradle 0.11+
#KT-5348 Fixed
(cherry picked from commit 09e8d0d)
2014-07-02 14:24:49 +04:00
Andrey Breslav
1d650bf37d Change inspections' level to "WEAK WARNING" + disable "Explicit 'get'" by default 2014-07-02 14:03:52 +04:00
92 changed files with 687 additions and 4690 deletions

View File

@@ -4,7 +4,7 @@
<root id="archive" name="Instrumentation.jar">
<element id="module-output" name="instrumentation" />
<element id="extracted-dir" path="$PROJECT_DIR$/ideaSDK/lib/jetbrains-asm-debug-all-4.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/ideaSDK/lib/guava-17.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/ideaSDK/lib/guava-14.0.1.jar" path-in-jar="/" />
</root>
</artifact>
</component>

View File

@@ -7,13 +7,7 @@
<root url="file://$PROJECT_DIR$/ideaSDK/plugins/android/lib" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/android/android/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/android/android/common/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/android/android/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/android/android/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/android/android/ultimate/src" />
</SOURCES>
<SOURCES />
<jarDirectory url="file://$PROJECT_DIR$/ideaSDK/plugins/android/lib" recursive="false" />
</library>
</component>

View File

@@ -4,11 +4,11 @@
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/guava-17.0.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/guava-14.0.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/guava-17.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/guava-14.0.1-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -2,17 +2,16 @@
<library name="idea-full">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/" />
</ANNOTATIONS>
<CLASSES>
<root url="file://$PROJECT_DIR$/ideaSDK/lib" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/guava-17.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/asm5-src.zip!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/gradle-tooling-extension-impl/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/groovy-psi/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/jetgroovy/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/jps-builders/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/jps-standalone-builder/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/lang-impl/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/spellchecker/java-test" />
@@ -20,7 +19,6 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/util/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/build/cucumber-test-runner/src" />
@@ -40,12 +38,10 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/idea-ui/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-indexing-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-indexing-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-runtime/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-structure-view/src" />
@@ -58,10 +54,7 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/remote-servers/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/remote-servers/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/structuralsearch-java/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/testFramework/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/typeMigration/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/typeMigration/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/antLayout/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-builders/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-builders/testSrc" />
@@ -71,7 +64,6 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-serialization/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-serialization/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/plugin-system/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/standalone-builder/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/analysis-impl/src" />
@@ -80,7 +72,8 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/bootstrap/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/core-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/core-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/duplicates-analysis/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/dvcs/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/dvcs/testFramework" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/editor-ui-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/editor-ui-ex/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/extensions/src" />
@@ -94,7 +87,6 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/indexing-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-api/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lvcs-api/src" />
@@ -110,7 +102,6 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/remote-servers/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/backend/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/debugger-ui/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/debugger-ui/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-model-generator/generated" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-model-generator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-reader-runtime/src" />
@@ -118,8 +109,6 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/schema-reader-generator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/smRunner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/smRunner/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structuralsearch/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structuralsearch/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structure-view-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structure-view-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/bootstrap/src" />
@@ -134,7 +123,6 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/graph-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/graph/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/graph/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/impl/src" />
@@ -143,6 +131,8 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ByteCodeViewer/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IdeaTestAssistant/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IdeaTestAssistant/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/test" />
@@ -150,20 +140,18 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/IntelliLang-tests/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/intellilang-jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/java-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/javaee-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/xml-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ShortcutPromoter/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/tests/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/commander/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/copyright/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/coverage-common/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/coverage/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cucumber-jvm-formatter/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/cvs-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/cvs-plugin/src" />
@@ -171,9 +159,9 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/smartcvs-src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/trilead-ssh2-build213/examples" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/trilead-ssh2-build213/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/src" />
@@ -185,6 +173,7 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/test-stepdefs" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/testFramework" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/github/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/github/test" />
@@ -194,26 +183,20 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/runtime/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-impl/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/groovy-psi/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/groovy-psi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/hotswap/agentSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/rt-constants/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/structuralsearch-groovy/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/structuralsearch-groovy/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/hg4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/hg4idea/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-decompiler/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-decompiler/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/FxBuilderEmbedder/src" />
@@ -224,8 +207,8 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/junit/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/junit_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m2/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m3/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m31/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m3/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven-server-api/src" />
@@ -235,16 +218,15 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven3-server-impl/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/src/main/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/src/test/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-api/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-core/jira/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-core/jira/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-java/src" />
@@ -267,8 +249,6 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/rt/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/IntelliLang-python/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/edu/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/ide/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/pluginSrc" />
@@ -277,7 +257,6 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/pydevSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/python-rest/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/python-rest/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/rest/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/rest/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/testSrc" />
@@ -305,6 +284,7 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-tests/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/impl/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/relaxng/src" />
@@ -313,11 +293,9 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-structure-view-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-structure-view-impl/src" />
<root url="jar://$PROJECT_DIR$/dependencies/cli-parser-1.1.1-sources.jar!/" />
</SOURCES>
<jarDirectory url="file://$PROJECT_DIR$/ideaSDK/lib" recursive="false" />
</library>

View File

@@ -10,7 +10,7 @@
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/cli-parser-1.1.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/guava-17.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/guava-14.0.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/asm5-src.zip!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/gradle-tooling-extension-impl/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/groovy-psi/java-production" />

View File

@@ -2,18 +2,16 @@
<library name="intellij-core-analysis">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/ideaSDK/core-analysis/intellij-core-analysis.jar!/" />
<root url="file://$PROJECT_DIR$/ideaSDK/lib" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/asm5-src.zip!/" />
<root url="jar://$PROJECT_DIR$/dependencies/cli-parser-1.1.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/guava-17.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/gradle-tooling-extension-impl/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/groovy-psi/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/jetgroovy/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/jps-builders/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/jps-standalone-builder/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/lang-impl/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/spellchecker/java-test" />
@@ -21,7 +19,6 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/util/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/build/cucumber-test-runner/src" />
@@ -41,12 +38,10 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/idea-ui/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-indexing-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-indexing-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-runtime/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-structure-view/src" />
@@ -59,10 +54,7 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/remote-servers/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/remote-servers/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/structuralsearch-java/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/testFramework/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/typeMigration/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/typeMigration/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/antLayout/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-builders/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-builders/testSrc" />
@@ -72,7 +64,6 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-serialization/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-serialization/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/plugin-system/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/standalone-builder/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/analysis-impl/src" />
@@ -81,7 +72,8 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/bootstrap/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/core-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/core-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/duplicates-analysis/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/dvcs/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/dvcs/testFramework" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/editor-ui-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/editor-ui-ex/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/extensions/src" />
@@ -95,7 +87,6 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/indexing-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-api/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lvcs-api/src" />
@@ -111,7 +102,6 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/remote-servers/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/backend/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/debugger-ui/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/debugger-ui/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-model-generator/generated" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-model-generator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-reader-runtime/src" />
@@ -119,8 +109,6 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/schema-reader-generator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/smRunner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/smRunner/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structuralsearch/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structuralsearch/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structure-view-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structure-view-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/bootstrap/src" />
@@ -135,7 +123,6 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/graph-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/graph/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/graph/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/impl/src" />
@@ -144,6 +131,8 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ByteCodeViewer/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IdeaTestAssistant/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IdeaTestAssistant/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/test" />
@@ -151,20 +140,18 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/IntelliLang-tests/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/intellilang-jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/java-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/javaee-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/xml-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ShortcutPromoter/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/tests/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/commander/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/copyright/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/coverage-common/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/coverage/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cucumber-jvm-formatter/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/cvs-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/cvs-plugin/src" />
@@ -172,9 +159,9 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/smartcvs-src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/trilead-ssh2-build213/examples" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/trilead-ssh2-build213/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/src" />
@@ -186,6 +173,7 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/test-stepdefs" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/testFramework" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/github/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/github/test" />
@@ -195,26 +183,20 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/runtime/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-impl/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/groovy-psi/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/groovy-psi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/hotswap/agentSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/rt-constants/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/structuralsearch-groovy/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/structuralsearch-groovy/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/hg4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/hg4idea/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-decompiler/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-decompiler/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/FxBuilderEmbedder/src" />
@@ -225,8 +207,8 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/junit/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/junit_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m2/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m3/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m31/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m3/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven-server-api/src" />
@@ -236,16 +218,15 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven3-server-impl/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/src/main/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/src/test/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-api/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-core/jira/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-core/jira/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-java/src" />
@@ -268,8 +249,6 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/rt/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/IntelliLang-python/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/edu/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/ide/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/pluginSrc" />
@@ -278,7 +257,6 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/pydevSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/python-rest/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/python-rest/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/rest/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/rest/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/testSrc" />
@@ -306,6 +284,7 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-tests/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/impl/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/relaxng/src" />
@@ -314,10 +293,10 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-structure-view-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-structure-view-impl/src" />
</SOURCES>
<jarDirectory url="file://$PROJECT_DIR$/ideaSDK/lib" recursive="false" />
</library>
</component>

View File

@@ -0,0 +1,5 @@
<root>
<item name='com.intellij.openapi.progress.ProgressManager com.intellij.openapi.progress.ProgressManager getInstance()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -6,7 +6,15 @@
name='com.intellij.psi.stubs.AbstractStubIndex java.util.Collection&lt;Psi&gt; get(Key, com.intellij.openapi.project.Project, com.intellij.psi.search.GlobalSearchScope)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
<item
name='com.intellij.psi.stubs.AbstractStubIndex java.util.Collection&lt;Psi&gt; get(Key, com.intellij.openapi.project.Project, com.intellij.psi.search.GlobalSearchScope) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.psi.stubs.AbstractStubIndex java.util.Collection&lt;Psi&gt; get(Key, com.intellij.openapi.project.Project, com.intellij.psi.search.GlobalSearchScope) 1'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.psi.stubs.AbstractStubIndex java.util.Collection&lt;Psi&gt; get(Key, com.intellij.openapi.project.Project, com.intellij.psi.search.GlobalSearchScope) 2'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>

View File

@@ -0,0 +1,12 @@
<root>
<item name='com.intellij.util.containers.MultiMap java.util.Collection&lt;? extends V&gt; values()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.util.containers.MultiMap java.util.Set&lt;K&gt; keySet()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.util.containers.MultiMap java.util.Set&lt;java.util.Map.Entry&lt;K,java.util.Collection&lt;V&gt;&gt;&gt; entrySet()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -787,5 +787,5 @@
</zip>
</target>
<target name="build-artifacts" depends="zip-compiler,kotlin-for-upsource,zip-test-data"/>
<target name="build-artifacts" depends="zip-compiler,zip-test-data"/>
</project>

View File

@@ -33,6 +33,8 @@ import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiElementFinder;
import com.intellij.psi.PsiManager;
import com.intellij.psi.compiled.ClassFileDecompilers;
import com.intellij.psi.impl.compiled.ClsCustomNavigationPolicy;
import com.intellij.psi.impl.file.impl.JavaFileManager;
import kotlin.Function1;
import kotlin.Unit;
@@ -188,6 +190,12 @@ public class JetCoreEnvironment {
registerProjectServicesForCLI(projectEnvironment);
registerProjectServices(projectEnvironment);
// This extension points should be registered in JavaCoreApplicationEnvironment
CoreApplicationEnvironment.registerExtensionPoint(Extensions.getRootArea(), ClsCustomNavigationPolicy.EP_NAME,
ClsCustomNavigationPolicy.class);
CoreApplicationEnvironment.registerExtensionPoint(Extensions.getRootArea(), ClassFileDecompilers.EP_NAME,
ClassFileDecompilers.Decompiler.class);
for (File path : configuration.getList(JVMConfigurationKeys.CLASSPATH_KEY)) {
addToClasspath(path);
}

View File

@@ -17,7 +17,6 @@
package org.jetbrains.jet.lang.resolve.java.structure.impl;
import com.intellij.psi.PsiParameter;
import com.intellij.psi.impl.compiled.ClsParameterImpl;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.resolve.java.structure.JavaAnnotation;
@@ -48,12 +47,7 @@ public class JavaValueParameterImpl extends JavaElementImpl<PsiParameter> implem
@Override
@Nullable
public Name getName() {
PsiParameter psi = getPsi();
if (psi instanceof ClsParameterImpl && ((ClsParameterImpl) psi).isAutoGeneratedName()) {
return null;
}
String name = psi.getName();
String name = getPsi().getName();
return name == null ? null : Name.identifier(name);
}

View File

@@ -23,7 +23,6 @@ import org.jetbrains.jet.lang.resolve.BindingContext
import org.jetbrains.jet.lang.cfg.pseudocodeTraverser.*
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.LexicalScope
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.VariableDeclarationInstruction
import org.jetbrains.jet.utils.addToStdlib.*
import java.util.*
@@ -61,7 +60,7 @@ public class PseudocodeVariableDataCollector(
// Variables declared in an inner (deeper) scope can't be accessed from an outer scope.
// Thus they can be filtered out upon leaving the inner scope.
return data.filterKeys_tmp { variable ->
return data.filterKeys { variable ->
val lexicalScope = lexicalScopeVariableInfo.declaredIn[variable]
// '-1' for variables declared outside this pseudocode
val depth = lexicalScope?.depth ?: -1

View File

@@ -18,11 +18,18 @@ package org.jetbrains.jet.lang.resolve
import org.jetbrains.jet.lang.diagnostics.Diagnostic
import java.util.ArrayList
import com.intellij.openapi.util.CompositeModificationTracker
import com.intellij.util.CachedValueImpl
import com.intellij.psi.util.CachedValueProvider
import com.intellij.psi.PsiElement
import org.jetbrains.annotations.TestOnly
import com.intellij.openapi.util.ModificationTracker
//NOTE: copied to support changes depending on IDEA 14 branch
private class CompositeModificationTracker(val additionalTracker: ModificationTracker) : SimpleModificationTracker() {
override fun getModificationCount(): Long {
return super.getModificationCount() + additionalTracker.getModificationCount()
}
}
public class MutableDiagnosticsWithSuppression(
private val bindingContext: BindingContext,

View File

@@ -0,0 +1,22 @@
package org.jetbrains.jet.lang.resolve;
import com.intellij.openapi.util.ModificationTracker;
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
//NOTE: copied to support changes depending on IDEA 14 branch
public class SimpleModificationTracker implements ModificationTracker {
public volatile int myCounter;
@Override
public long getModificationCount() {
return myCounter;
}
private static final AtomicIntegerFieldUpdater<SimpleModificationTracker> UPDATER =
AtomicIntegerFieldUpdater.newUpdater(SimpleModificationTracker.class, "myCounter");
public void incModificationCount() {
UPDATER.incrementAndGet(this);
}
}

View File

@@ -25,7 +25,6 @@ import com.intellij.psi.impl.light.LightMethod;
import com.intellij.psi.impl.source.ClassInnerStuffCache;
import com.intellij.psi.impl.source.PsiExtensibleClass;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.psi.scope.PsiScopeProcessor;
import com.intellij.util.Function;
import com.intellij.util.containers.ContainerUtil;
import kotlin.Function1;
@@ -144,17 +143,6 @@ public abstract class KotlinWrappingLightClass extends AbstractLightClass implem
});
}
@Override
public boolean processDeclarations(
@NotNull PsiScopeProcessor processor, @NotNull ResolveState state, PsiElement lastParent, @NotNull PsiElement place
) {
if (isEnum()) {
if (!PsiClassImplUtil.processDeclarationsInEnum(processor, state, myInnersCache)) return false;
}
return super.processDeclarations(processor, state, lastParent, place);
}
@Override
public String getText() {
JetClassOrObject origin = getOrigin();

View File

@@ -11,7 +11,7 @@ public class Nameless {
import p.*
class K : <!INVISIBLE_MEMBER!>Nameless<!>() {
class K : Nameless() {
fun<!SYNTAX!><!> () {}
val<!SYNTAX!><!> : Int = 1
}

View File

@@ -45,6 +45,7 @@ import org.jetbrains.jet.lang.resolve.java.sam.SingleAbstractMethodUtils
import org.jetbrains.jet.utils.*
import org.jetbrains.jet.lang.resolve.java.PLATFORM_TYPES
import org.jetbrains.jet.lang.descriptors.annotations.Annotations
import org.jetbrains.jet.lang.resolve.java.resolver.DescriptorResolverUtils
public abstract class LazyJavaMemberScope(
protected val c: LazyJavaResolverContextWithTypes,
@@ -78,6 +79,8 @@ public abstract class LazyJavaMemberScope(
val methods = memberIndex().findMethodsByName(name)
val functions = LinkedHashSet<SimpleFunctionDescriptor>(
methods.stream()
// values() and valueOf() are added manually below
.filter{ m -> !DescriptorResolverUtils.shouldBeInEnumClassObject(m) }
.flatMap {
m ->
val function = resolveMethodToFunctionDescriptor(m, true)

View File

@@ -87,6 +87,23 @@ public final class DescriptorResolverUtils {
return null;
}
/**
* @return true if {@code method} is a static method of enum class, which is to be put into its class object (and not into the
* corresponding package). This applies to values() and valueOf(String) methods
*/
public static boolean shouldBeInEnumClassObject(@NotNull JavaMethod method) {
if (!method.getContainingClass().isEnum()) return false;
String name = method.getName().asString();
if (name.equals("values")) {
return method.getValueParameters().isEmpty();
}
else if (name.equals("valueOf")) {
return isMethodWithOneParameterWithFqName(method, "java.lang.String");
}
return false;
}
public static boolean isObjectMethodInInterface(@NotNull JavaMember member) {
return member.getContainingClass().isInterface() && member instanceof JavaMethod && isObjectMethod((JavaMethod) member);
}

View File

@@ -127,7 +127,6 @@ import org.jetbrains.k2js.test.semantics.AbstractReservedWordTest
import org.jetbrains.jet.resolve.AbstractReferenceResolveInJavaTest
import org.jetbrains.k2js.test.semantics.AbstractBridgeTest
import org.jetbrains.jet.j2k.test.AbstractJavaToKotlinConverterMultiFileTest
import org.jetbrains.jet.j2k.test.AbstractJavaToKotlinConverterForWebDemoTest
import org.jetbrains.jet.plugin.decompiler.textBuilder.AbstractDecompiledTextTest
fun main(args: Array<String>) {
@@ -639,11 +638,6 @@ fun main(args: Array<String>) {
model("multiFile", extension = null)
}
}
testGroup("j2k/tests/test", "j2k/tests/testData") {
testClass(javaClass<AbstractJavaToKotlinConverterForWebDemoTest>()) {
model("fileOrElement", extension = "java")
}
}
testGroup("jps-plugin/test", "jps-plugin/testData") {
testClass(javaClass<AbstractIncrementalJpsTest>()) {

View File

@@ -16,7 +16,7 @@
package org.jetbrains.jet.plugin.caches.resolve
import com.intellij.openapi.util.SimpleModificationTracker
import com.intellij.openapi.util.DefaultModificationTracker
import com.intellij.openapi.project.Project
import com.intellij.openapi.components.ServiceManager
import com.intellij.openapi.vfs.VirtualFileManager
@@ -30,7 +30,7 @@ import com.intellij.codeInsight.ExternalAnnotationsManager
import com.intellij.codeInsight.ExternalAnnotationsListener
import com.intellij.psi.PsiModifierListOwner
class LibraryModificationTracker(project: Project) : SimpleModificationTracker() {
class LibraryModificationTracker(project: Project) : DefaultModificationTracker() {
class object {
platformStatic fun getInstance(project: Project) = ServiceManager.getService(project, javaClass<LibraryModificationTracker>())!!
}

View File

@@ -28,7 +28,7 @@ import com.intellij.openapi.vfs.VirtualFileEvent
import com.intellij.openapi.vfs.VirtualFileMoveEvent
import com.intellij.openapi.vfs.VirtualFileCopyEvent
import com.intellij.openapi.vfs.VirtualFilePropertyEvent
import com.intellij.openapi.util.SimpleModificationTracker
import com.intellij.openapi.util.DefaultModificationTracker
class ModuleTypeCacheManager private (project: Project) {
class object {
@@ -42,7 +42,7 @@ class ModuleTypeCacheManager private (project: Project) {
(module: Module?) ->
val moduleType = if (module != null) computeType(module) else null
CachedValueProvider.Result.create<ModuleType>(moduleType, vfsModificationTracker)
}, false)
}, false)!!
fun isGradleModule(module: Module) = getModuleType(module) == ModuleType.GRADLE
@@ -50,7 +50,7 @@ class ModuleTypeCacheManager private (project: Project) {
return cachedValue.getValue(module)
}
private class VfsModificationTracker(project: Project): SimpleModificationTracker() {
private class VfsModificationTracker(project: Project): DefaultModificationTracker() {
{
val connection = project.getMessageBus().connect();
connection.subscribe(VirtualFileManager.VFS_CHANGES, BulkVirtualFileListenerAdapter(

View File

@@ -16,21 +16,28 @@
package org.jetbrains.jet.plugin.framework;
import com.intellij.openapi.util.io.JarUtil;
import com.intellij.openapi.vfs.VfsUtilCore;
import com.intellij.openapi.roots.libraries.JarVersionDetectionUtil;
import com.intellij.openapi.vfs.JarFile;
import com.intellij.openapi.vfs.JarFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.utils.PathUtil;
import java.io.IOException;
import java.util.List;
import java.util.jar.Attributes;
public class JavaRuntimeDetectionUtil {
public static String getJavaRuntimeVersion(@NotNull List<VirtualFile> classesRoots) {
VirtualFile stdJar = getRuntimeJar(classesRoots);
if (stdJar != null) {
return JarUtil.getJarAttribute(VfsUtilCore.virtualToIoFile(stdJar), Attributes.Name.IMPLEMENTATION_VERSION);
try {
JarFile zipFile = JarFileSystem.getInstance().getJarFile(stdJar);
return JarVersionDetectionUtil.detectJarVersion(zipFile);
}
catch (IOException e) {
return null;
}
}
return null;

View File

@@ -16,14 +16,15 @@
package org.jetbrains.jet.plugin.framework;
import com.intellij.openapi.util.io.JarUtil;
import com.intellij.openapi.vfs.VfsUtilCore;
import com.intellij.openapi.roots.libraries.JarVersionDetectionUtil;
import com.intellij.openapi.vfs.JarFile;
import com.intellij.openapi.vfs.JarFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.utils.PathUtil;
import java.io.IOException;
import java.util.List;
import java.util.jar.Attributes;
public class JsLibraryStdDetectionUtil {
public static String getJsLibraryStdVersion(@NotNull List<VirtualFile> classesRoots) {
@@ -36,11 +37,16 @@ public class JsLibraryStdDetectionUtil {
if (root.getName().equals(PathUtil.JS_LIB_JAR_NAME)) {
assert JsHeaderLibraryDetectionUtil.isJsHeaderLibraryDetected(classesRoots) : "StdLib should also be detected as headers library";
return JarUtil.getJarAttribute(VfsUtilCore.virtualToIoFile(root), Attributes.Name.IMPLEMENTATION_VERSION);
try {
JarFile zipFile = JarFileSystem.getInstance().getJarFile(root);
return JarVersionDetectionUtil.detectJarVersion(zipFile);
}
catch (IOException e) {
return null;
}
}
}
return null;
}
}

View File

@@ -22,7 +22,10 @@ import com.intellij.util.ProcessingContext
import com.intellij.patterns.PlatformPatterns
public class JetReferenceContributor() : PsiReferenceContributor() {
public override fun registerReferenceProviders(registrar: PsiReferenceRegistrar) {
public override fun registerReferenceProviders(registrar: PsiReferenceRegistrar?) {
if (registrar == null) {
return
}
with(registrar) {
registerProvider(javaClass<JetSimpleNameExpression>()) {
JetSimpleNameReference(it)
@@ -59,4 +62,4 @@ public class JetReferenceContributor() : PsiReferenceContributor() {
}
})
}
}
}

View File

@@ -119,8 +119,8 @@ public class KotlinPsiSearchHelper(private val project: Project): PsiSearchHelpe
): TextOccurenceProcessor {
private val referenceService = PsiReferenceService.getService()!!
override fun execute(element: PsiElement, offsetInElement: Int): Boolean {
return referenceService.getReferences(element, PsiReferenceService.Hints.NO_HINTS).all { ref ->
override fun execute(element: PsiElement?, offsetInElement: Int): Boolean {
return referenceService.getReferences(element!!, PsiReferenceService.Hints.NO_HINTS).all { ref ->
ProgressManager.checkCanceled()
when {

View File

@@ -0,0 +1,31 @@
** How to build android-common.jar **
- Get android-common.jar from last android-studio build
- Run proguard with following config
-dontskipnonpubliclibraryclassmembers
-dontoptimize
-dontobfuscate
-dontusemixedcaseclassnames
-dontpreverify
-verbose
-dontwarn com.google.common.**,net.n3.**,org.jetbrains.annotations.**,com.intellij.**,org.jetbrains.android.**,com.android.annotations**,com.android.utils**
-keep,includedescriptorclasses class com.android.tools.idea.gradle.output.parser.PatternAwareOutputParser {
public <methods>;
}
-keep,includedescriptorclasses class com.android.tools.idea.gradle.output.GradleMessage {
public <methods>;
}
-keep class com.android.tools.idea.gradle.output.parser.OutputLineReader {
public <methods>;
}
- Check that module kotlin-android-plugin still compile
** Why this jar is needed **
This is a temporary workaround for IDEA 13, because android-plugin isn't packed into ideaSDK

View File

@@ -0,0 +1,65 @@
/*
* Copyright 2010-2014 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.jet.android
import com.intellij.openapi.components.ProjectComponent
import java.lang.reflect.Modifier
import java.lang.reflect.Field
// TODO drop this when Android Studio will be based on IDEA 14
public fun initializeOutputParser() {
try {
val klass = Class.forName("com.android.tools.idea.gradle.output.parser.BuildOutputParser")
val field = klass.getDeclaredField("PARSERS")
field.setAccessible(true)
val modifiersField = javaClass<Field>().getDeclaredField("modifiers")
modifiersField.setAccessible(true)
modifiersField.setInt(field, field.getModifiers() and Modifier.FINAL.inv())
[suppress("UNCHECKED_CAST")]
val patternAwareClass = Class.forName("com.android.tools.idea.gradle.output.parser.PatternAwareOutputParser") as Class<out Any>
val array = field.get(null) as Array<*>
val arrayTypeInstance = java.lang.reflect.Array.newInstance(patternAwareClass, array.size + 1)
for ((i, item) in array.withIndices()) {
java.lang.reflect.Array.set(arrayTypeInstance, i, item)
}
java.lang.reflect.Array.set(arrayTypeInstance, array.size, KotlinOutputParser())
field.set(null, arrayTypeInstance)
}
catch (e: ClassNotFoundException) {
// skip: Android plugin doesn't exist
}
}
public class OutputParserInitializer : ProjectComponent {
override fun projectOpened() {
}
override fun projectClosed() {
}
override fun initComponent() {
initializeOutputParser()
}
override fun disposeComponent() {
}
override fun getComponentName() = "org.jetbrains.jet.android.OutputParserInitializer"
}

View File

@@ -1,4 +1,9 @@
<idea-plugin>
<application-components>
<component>
<implementation-class>org.jetbrains.jet.android.OutputParserInitializer</implementation-class>
</component>
</application-components>
<extensions defaultExtensionNs="com.intellij">
<gotoDeclarationHandler implementation="org.jetbrains.jet.android.navigation.KotlinAndroidGotoDeclarationHandler"/>
</extensions>

View File

@@ -6,7 +6,7 @@
<version>@snapshot@</version>
<vendor url="http://www.jetbrains.com">JetBrains Inc.</vendor>
<idea-version since-build="138.977" until-build="140.9999"/>
<idea-version since-build="135.666" until-build="136.9999"/>
<depends optional="true" config-file="junit.xml">JUnit</depends>
<depends optional="true" config-file="gradle.xml">org.jetbrains.plugins.gradle</depends>
@@ -226,9 +226,10 @@
implementation="org.jetbrains.jet.plugin.refactoring.move.moveTopLevelDeclarations.MoveKotlinTopLevelDeclarationsHandler"
order="before kotlin.moveFilesOrDirectories"/>
<moveFileHandler implementation="org.jetbrains.jet.plugin.refactoring.move.moveFilesOrDirectories.MoveKotlinFileHandler" />
<refactoring.moveInnerClassUsagesHandler
implementationClass="org.jetbrains.jet.plugin.refactoring.move.MoveJavaInnerClassKotlinUsagesHandler"
language="jet" />
<!-- Disabled until MoveInnerClassUsagesHandler will be backported to IDEA 13 -->
<!--<refactoring.moveInnerClassUsagesHandler-->
<!--implementationClass="org.jetbrains.jet.plugin.refactoring.move.MoveJavaInnerClassKotlinUsagesHandler"-->
<!--language="jet" />-->
<refactoring.copyHandler implementation="org.jetbrains.jet.plugin.refactoring.copy.JetCopyClassHandler"/>
<refactoring.changeSignatureUsageProcessor implementation="org.jetbrains.jet.plugin.refactoring.changeSignature.JetChangeSignatureUsageProcessor"/>
<inlineActionHandler implementation="org.jetbrains.jet.plugin.refactoring.inline.KotlinInlineValHandler"/>
@@ -350,7 +351,6 @@
<debuggerEditorTextProvider language="jet" implementationClass="org.jetbrains.jet.plugin.debugger.KotlinEditorTextProvider"/>
<debuggerClassFilterProvider implementation="org.jetbrains.jet.plugin.debugger.filter.KotlinDebuggerInternalClassesFilterProvider"/>
<debugger.nodeRenderer implementation="org.jetbrains.jet.plugin.debugger.render.KotlinClassWithDelegatedPropertyRenderer"/>
<debugger.nodeRenderer implementation="org.jetbrains.jet.plugin.debugger.render.KotlinObjectRenderer"/>
<xdebugger.settings implementation="org.jetbrains.jet.plugin.debugger.KotlinDebuggerSettings"/>
<codeInsight.implementMethod language="jet" implementationClass="org.jetbrains.jet.plugin.codeInsight.ImplementMethodsHandler"/>

View File

@@ -67,9 +67,9 @@ import com.intellij.openapi.progress.ProcessCanceledException
import org.jetbrains.jet.plugin.util.IdeDescriptorRenderers
//NOTE: this class is based on CopyPasteReferenceProcessor and JavaCopyPasteReferenceProcessor
public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor<ReferenceTransferableData>() {
public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor<ReferenceTransferableData?> {
override fun extractTransferableData(content: Transferable): List<ReferenceTransferableData> {
override fun extractTransferableData(content: Transferable): ReferenceTransferableData? {
if (CodeInsightSettings.getInstance().ADD_IMPORTS_ON_PASTE != CodeInsightSettings.NO) {
try {
val flavor = ReferenceData.getDataFlavor()
@@ -77,7 +77,7 @@ public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor<Refere
val referenceData = content.getTransferData(flavor) as? ReferenceTransferableData
if (referenceData != null) {
// copy to prevent changing of original by convertLineSeparators
return listOf(referenceData.clone())
return referenceData.clone()
}
}
}
@@ -87,7 +87,7 @@ public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor<Refere
}
}
return listOf()
return null
}
override fun collectTransferableData(
@@ -95,9 +95,9 @@ public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor<Refere
editor: Editor,
startOffsets: IntArray,
endOffsets: IntArray
): List<ReferenceTransferableData> {
): ReferenceTransferableData? {
if (file !is JetFile || DumbService.getInstance(file.getProject()).isDumb()) {
return listOf()
return null
}
val collectedData = try {
@@ -112,18 +112,18 @@ public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor<Refere
// supposedly session can only be canceled from another thread
// do not log ProcessCanceledException as it is rethrown by IdeaLogger and code won't be copied
LOG.error("ProcessCanceledException while analyzing references in ${file.getName()}. References can't be processed.")
return listOf()
return null
}
catch (e: Throwable) {
LOG.error("Exception in processing references for copy paste in file ${file.getName()}}", e)
return listOf()
return null
}
if (collectedData.isEmpty()) {
return listOf()
return null
}
return listOf(ReferenceTransferableData(collectedData.copyToArray()))
return ReferenceTransferableData(collectedData.copyToArray())
}
private fun collectReferenceDataFromElement(
@@ -190,7 +190,7 @@ public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor<Refere
bounds: RangeMarker,
caretOffset: Int,
indented: Ref<Boolean>,
values: List<ReferenceTransferableData>
value: ReferenceTransferableData?
) {
if (DumbService.getInstance(project).isDumb()) {
return
@@ -202,10 +202,7 @@ public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor<Refere
}
PsiDocumentManager.getInstance(project).commitAllDocuments()
assert(values.size() == 1)
val referenceData = values.first().getData()!!
val referenceData = value!!.getData()!!
val referencesPossibleToRestore = findReferencesToRestore(file, bounds, referenceData)
val selectedReferencesToRestore = showRestoreReferencesDialog(project, referencesPossibleToRestore)
@@ -378,4 +375,4 @@ private fun PsiElement.isInCopiedArea(fileCopiedFrom: JetFile, startOffsets: Int
val (start, end) = it
range in TextRange(start, end)
}
}
}

View File

@@ -22,7 +22,6 @@ import com.intellij.codeInsight.completion.CompletionSorter
import org.jetbrains.jet.lang.psi.JetFile
import com.intellij.codeInsight.lookup.LookupElementWeigher
import com.intellij.codeInsight.lookup.LookupElement
import com.intellij.codeInsight.lookup.WeighingContext
import org.jetbrains.jet.plugin.completion.*
import org.jetbrains.jet.lang.descriptors.impl.LocalVariableDescriptor
import org.jetbrains.jet.lang.descriptors.ValueParameterDescriptor
@@ -52,18 +51,17 @@ public fun CompletionResultSet.addKotlinSorting(parameters: CompletionParameters
JetDeclarationRemotenessWeigher(parameters.getOriginalFile() as JetFile)/*TODO: shouldn't it have bigger priority?*/,
DeprecatedWeigher)
sorter = sorter.weighBefore("middleMatching", PreferMatchingItemWeigher)
sorter = sorter.weighBefore("middleMatching", PreferMatchingItemWeigher(parameters))
return withRelevanceSorter(sorter)
}
private object PriorityWeigher : LookupElementWeigher("kotlin.priority") {
override fun weigh(element: LookupElement, context: WeighingContext)
= element.getUserData(ITEM_PRIORITY_KEY) ?: ItemPriority.DEFAULT
override fun weigh(element: LookupElement): Comparable<Int>? = (element.getUserData(ITEM_PRIORITY_KEY) ?: ItemPriority.DEFAULT).ordinal()
}
private object SmartCompletionPriorityWeigher : LookupElementWeigher("kotlin.smartCompletionPriority") {
override fun weigh(element: LookupElement, context: WeighingContext)
override fun weigh(element: LookupElement)
= element.getUserData(SMART_COMPLETION_ITEM_PRIORITY_KEY) ?: SmartCompletionItemPriority.DEFAULT
}
@@ -100,9 +98,9 @@ private object DeprecatedWeigher : LookupElementWeigher("kotlin.deprecated") {
}
}
private object PreferMatchingItemWeigher : LookupElementWeigher("kotlin.preferMatching", false, true) {
override fun weigh(element: LookupElement, context: WeighingContext): Comparable<Int> {
val prefix = context.itemPattern(element)
private class PreferMatchingItemWeigher(private val parameters: CompletionParameters) : LookupElementWeigher("kotlin.preferMatching", false, true) {
override fun weigh(element: LookupElement): Comparable<Int>? {
val prefix = parameters.getLookup().itemPattern(element)
return if (element.getLookupString() == prefix) 0 else 1
}
}

View File

@@ -19,14 +19,13 @@ package org.jetbrains.jet.plugin.completion.smart
import com.intellij.openapi.util.Key
import com.intellij.codeInsight.lookup.LookupElementWeigher
import com.intellij.codeInsight.lookup.LookupElement
import com.intellij.codeInsight.lookup.WeighingContext
import org.jetbrains.jet.plugin.completion.ExpectedInfo
import com.intellij.psi.codeStyle.NameUtil
val NAME_SIMILARITY_KEY = Key<Int>("NAME_SIMILARITY_KEY")
object NameSimilarityWeigher : LookupElementWeigher("kotlin.nameSimilarity") {
override fun weigh(element: LookupElement, context: WeighingContext)
override fun weigh(element: LookupElement)
= -(element.getUserData(NAME_SIMILARITY_KEY) ?: 0)
}

View File

@@ -36,31 +36,27 @@ import com.intellij.lang.java.JavaLanguage
import org.jetbrains.jet.plugin.j2k.J2kPostProcessor
import org.jetbrains.jet.plugin.caches.resolve.getLazyResolveSession
public class ConvertJavaCopyPastePostProcessor() : CopyPastePostProcessor<TextBlockTransferableData>() {
public class ConvertJavaCopyPastePostProcessor() : CopyPastePostProcessor<TextBlockTransferableData> {
override fun extractTransferableData(content: Transferable): List<TextBlockTransferableData> {
override fun extractTransferableData(content: Transferable): TextBlockTransferableData? {
try {
if (content.isDataFlavorSupported(CopiedCode.DATA_FLAVOR)) {
return listOf(content.getTransferData(CopiedCode.DATA_FLAVOR) as TextBlockTransferableData)
return (content.getTransferData(CopiedCode.DATA_FLAVOR) as TextBlockTransferableData)
}
}
catch (e: Throwable) {
LOG.error(e)
}
return listOf()
return null
}
public override fun collectTransferableData(file: PsiFile, editor: Editor, startOffsets: IntArray, endOffsets: IntArray): List<TextBlockTransferableData> {
if (file !is PsiJavaFile) return listOf()
public override fun collectTransferableData(file: PsiFile, editor: Editor, startOffsets: IntArray, endOffsets: IntArray): TextBlockTransferableData? {
if (file !is PsiJavaFile) return null
return listOf(CopiedCode(file.getName(), file.getText()!!, startOffsets, endOffsets))
return CopiedCode(file.getName(), file.getText()!!, startOffsets, endOffsets)
}
public override fun processTransferableData(project: Project, editor: Editor, bounds: RangeMarker, caretOffset: Int, indented: Ref<Boolean>, values: List<TextBlockTransferableData>) {
assert(values.size() == 1)
val value = values.first()
public override fun processTransferableData(project: Project, editor: Editor, bounds: RangeMarker, caretOffset: Int, indented: Ref<Boolean>, value: TextBlockTransferableData) {
if (value !is CopiedCode) return
val sourceFile = PsiFileFactory.getInstance(project).

View File

@@ -21,16 +21,11 @@ import com.intellij.openapi.components.State
import com.intellij.openapi.components.Storage
import com.intellij.openapi.components.StoragePathMacros
import com.intellij.openapi.options.Configurable
import com.intellij.openapi.options.SimpleConfigurable
import com.intellij.openapi.util.Getter
import com.intellij.util.xmlb.XmlSerializerUtil
import com.intellij.xdebugger.settings.DebuggerSettingsCategory
import com.intellij.xdebugger.settings.XDebuggerSettings
import com.intellij.xdebugger.XDebuggerUtil
import com.intellij.ui.classFilter.ClassFilter
import com.intellij.debugger.settings.DebuggerSettings
import java.util.Arrays
State(name = "KotlinDebuggerSettings", storages = array(Storage(file = StoragePathMacros.APP_CONFIG + "/kotlin_debug.xml")))
public class KotlinDebuggerSettings : XDebuggerSettings<KotlinDebuggerSettings>("kotlin_debugger"), Getter<KotlinDebuggerSettings> {
@@ -43,16 +38,8 @@ public class KotlinDebuggerSettings : XDebuggerSettings<KotlinDebuggerSettings>(
}
}
override fun createConfigurables(category: DebuggerSettingsCategory): Collection<Configurable?> {
return when (category) {
DebuggerSettingsCategory.STEPPING ->
listOf(SimpleConfigurable.create(
"reference.idesettings.debugger.kotlin",
"Kotlin",
javaClass<KotlinSteppingConfigurableUi>(),
this))
else -> listOf()
}
override fun createConfigurable(): Configurable {
return KotlinSteppingConfigurableUi(this)
}
override fun getState() = this

View File

@@ -17,34 +17,79 @@
package org.jetbrains.jet.plugin.debugger;
import com.intellij.openapi.options.ConfigurableUi;
import com.intellij.openapi.options.ConfigurationException;
import com.intellij.openapi.options.SearchableConfigurable;
import org.jetbrains.annotations.NotNull;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class KotlinSteppingConfigurableUi implements ConfigurableUi<KotlinDebuggerSettings> {
public class KotlinSteppingConfigurableUi implements SearchableConfigurable {
private JCheckBox ignoreKotlinMethods;
private JPanel myPanel;
private boolean isModified = false;
private final KotlinDebuggerSettings mySettings;
@Override
public void reset(@NotNull KotlinDebuggerSettings settings) {
boolean flag = settings.getDEBUG_DISABLE_KOTLIN_INTERNAL_CLASSES();
ignoreKotlinMethods.setSelected(flag);
public KotlinSteppingConfigurableUi(KotlinDebuggerSettings settings) {
mySettings = settings;
ignoreKotlinMethods.setSelected(settings.getDEBUG_DISABLE_KOTLIN_INTERNAL_CLASSES());
ActionListener listener = new ActionListener() {
@Override
public void actionPerformed(@NotNull ActionEvent e) {
isModified = mySettings.getDEBUG_DISABLE_KOTLIN_INTERNAL_CLASSES() != ignoreKotlinMethods.isSelected();
}
};
ignoreKotlinMethods.addActionListener(listener);
}
@Override
public boolean isModified(@NotNull KotlinDebuggerSettings settings) {
return settings.getDEBUG_DISABLE_KOTLIN_INTERNAL_CLASSES() != ignoreKotlinMethods.isSelected();
public String getDisplayName() {
return "Kotlin";
}
@Override
public void apply(@NotNull KotlinDebuggerSettings settings) {
settings.setDEBUG_DISABLE_KOTLIN_INTERNAL_CLASSES(ignoreKotlinMethods.isSelected());
}
@NotNull
public String getHelpTopic() {
return "reference.idesettings.debugger.kotlin";
}
@Override
public JComponent getComponent() {
@NotNull
public String getId() {
return getHelpTopic();
}
@Override
public Runnable enableSearch(String option) {
return null;
}
@Override
public JComponent createComponent() {
return myPanel;
}
@Override
public boolean isModified() {
return isModified;
}
@Override
public void apply() throws ConfigurationException {
if (isModified) {
mySettings.setDEBUG_DISABLE_KOTLIN_INTERNAL_CLASSES(ignoreKotlinMethods.isSelected());
}
isModified = false;
}
@Override
public void reset() {
ignoreKotlinMethods.setSelected(mySettings.getDEBUG_DISABLE_KOTLIN_INTERNAL_CLASSES());
}
@Override
public void disposeUIResources() {
}
}

View File

@@ -0,0 +1,26 @@
/*
* Copyright 2010-2014 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.jet.plugin.debugger.filter
import com.intellij.ui.classFilter.ClassFilter
import com.intellij.debugger.settings.DebuggerSettings
fun DebuggerSettings.setSteppingFilters(newFilters: Array<ClassFilter>) {
val method = javaClass<DebuggerSettings>().getDeclaredMethod("setSteppingFilters", newFilters.javaClass)
method.setAccessible(true)
method.invoke(this, newFilters)
}

View File

@@ -19,6 +19,7 @@ package org.jetbrains.jet.plugin.debugger.filter
import com.intellij.debugger.settings.DebuggerSettings
import com.intellij.ui.classFilter.ClassFilter
import org.jetbrains.jet.plugin.debugger.KotlinDebuggerSettings
import org.jetbrains.jet.plugin.debugger.filter.setSteppingFilters
private val KOTLIN_STDLIB_FILTER = "kotlin.*"

View File

@@ -16,6 +16,7 @@
package org.jetbrains.jet.plugin.debugger.render
import com.intellij.debugger.ui.tree.render.ClassRenderer
import com.sun.jdi.Type as JdiType
import com.sun.jdi.Value
import com.intellij.debugger.ui.tree.render.ChildrenBuilder
@@ -23,29 +24,36 @@ import com.intellij.debugger.engine.evaluation.EvaluationContext
import com.intellij.debugger.ui.tree.DebuggerTreeNode
import org.jetbrains.org.objectweb.asm.Type as AsmType
import com.intellij.debugger.engine.DebuggerManagerThreadImpl
import com.intellij.debugger.ui.impl.watch.ValueDescriptorImpl
import com.sun.jdi.ObjectReference
import com.intellij.xdebugger.settings.XDebuggerSettingsManager
import com.intellij.xdebugger.impl.settings.XDebuggerSettingsManager
import com.intellij.debugger.ui.impl.watch.NodeManagerImpl
import com.intellij.debugger.ui.impl.watch.MessageDescriptor
import java.util.ArrayList
import org.jetbrains.jet.lang.resolve.java.JvmAbi
import com.sun.jdi.Field
import com.intellij.debugger.engine.DebuggerUtils
import com.intellij.debugger.ui.impl.watch.FieldDescriptorImpl
import com.intellij.debugger.engine.evaluation.EvaluateException
import com.intellij.debugger.engine.DebuggerUtils
import com.sun.jdi.ReferenceType
import com.sun.jdi.Type
import com.sun.jdi.InvocationException
import com.sun.jdi.Method
import org.jetbrains.jet.codegen.PropertyCodegen
import org.jetbrains.jet.lang.resolve.name.Name
import com.intellij.debugger.ui.impl.watch.ValueDescriptorImpl
import com.intellij.debugger.ui.tree.render.ClassRenderer
import com.intellij.debugger.ui.impl.watch.FieldDescriptorImpl
import com.intellij.debugger.engine.evaluation.EvaluateException
public class KotlinClassWithDelegatedPropertyRenderer : KotlinObjectRenderer() {
public class KotlinClassWithDelegatedPropertyRenderer : ClassRenderer() {
override fun isApplicable(jdiType: Type?): Boolean {
if (!super.isApplicable(jdiType)) return false
if (!super<ClassRenderer>.isApplicable(jdiType)) return false
if (jdiType !is ReferenceType) return false
return jdiType.allFields().any { it.name().endsWith(JvmAbi.DELEGATED_PROPERTY_NAME_SUFFIX) }
return jdiType.allFields()?.any { it.name()?.endsWith(JvmAbi.DELEGATED_PROPERTY_NAME_SUFFIX) ?: false } ?: false
}
override fun buildChildren(value: Value?, builder: ChildrenBuilder, context: EvaluationContext) {
@@ -56,8 +64,8 @@ public class KotlinClassWithDelegatedPropertyRenderer : KotlinObjectRenderer() {
val nodeManager = builder.getNodeManager()!!
val nodeDescriptorFactory = builder.getDescriptorManager()!!
val fields = value.referenceType().allFields()
if (fields.isEmpty()) {
val fields = value.referenceType()?.allFields()
if (fields == null || fields.isEmpty()) {
builder.setChildren(listOf(nodeManager.createMessageNode(MessageDescriptor.CLASS_HAS_NO_FIELDS.getLabel())))
return
}
@@ -68,10 +76,10 @@ public class KotlinClassWithDelegatedPropertyRenderer : KotlinObjectRenderer() {
continue
}
val fieldDescriptor = createFieldDescriptor(builder.getParentDescriptor() as ValueDescriptorImpl, nodeDescriptorFactory, value, field, context)
val fieldDescriptor = nodeDescriptorFactory.getFieldDescriptor(builder.getParentDescriptor(), value, field)
children.add(nodeManager.createNode(fieldDescriptor, context))
if (field.name().endsWith(JvmAbi.DELEGATED_PROPERTY_NAME_SUFFIX)) {
if (field.name()?.endsWith(JvmAbi.DELEGATED_PROPERTY_NAME_SUFFIX) ?: false) {
val method = findGetterForDelegatedProperty(value, field)
val threadReference = context.getSuspendContext().getThread()?.getThreadReference()
if (method != null && threadReference != null) {
@@ -90,7 +98,7 @@ public class KotlinClassWithDelegatedPropertyRenderer : KotlinObjectRenderer() {
}
}
if (XDebuggerSettingsManager.getInstance()!!.getDataViewSettings().isSortValues()) {
if (XDebuggerSettingsManager.getInstance()!!.getDataViewSettings()?.isSortValues() ?: false) {
children.sortBy(NodeManagerImpl.getNodeComparator())
}
@@ -98,8 +106,36 @@ public class KotlinClassWithDelegatedPropertyRenderer : KotlinObjectRenderer() {
}
private fun findGetterForDelegatedProperty(objRef: ObjectReference, delegate: Field): Method? {
val fieldName = delegate.name().trimTrailing(JvmAbi.DELEGATED_PROPERTY_NAME_SUFFIX)
val fieldName = delegate.name()?.trimTrailing(JvmAbi.DELEGATED_PROPERTY_NAME_SUFFIX) ?: return null
val getterName = PropertyCodegen.getterName(Name.identifier(fieldName))
return objRef.referenceType().methodsByName(getterName)?.firstOrNull()
return objRef.referenceType()?.methodsByName(getterName)?.firstOrNull()
}
private fun shouldDisplay(context: EvaluationContext, objInstance: ObjectReference, field: Field): Boolean {
val isSynthetic = DebuggerUtils.isSynthetic(field)
when {
!SHOW_SYNTHETICS && isSynthetic,
!SHOW_STATIC && field.isStatic(),
!SHOW_STATIC_FINAL && field.isStatic() && field.isFinal() -> return false
SHOW_VAL_FIELDS_AS_LOCAL_VARIABLES && isSynthetic -> {
try {
val frameProxy = context.getFrameProxy()
if (frameProxy != null) {
val location = frameProxy.location()
if (location != null &&
objInstance == context.getThisObject() &&
objInstance.referenceType() == location.declaringType() &&
field.name()?.startsWith(FieldDescriptorImpl.OUTER_LOCAL_VAR_FIELD_PREFIX) ?: false
) {
return false
}
}
}
catch (ignored: EvaluateException) {
}
return true
}
else -> return true
}
}
}

View File

@@ -1,153 +0,0 @@
/*
* Copyright 2010-2014 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.jet.plugin.debugger.render
import com.intellij.debugger.ui.tree.render.ClassRenderer
import com.sun.jdi.Type
import com.intellij.debugger.engine.evaluation.EvaluationContext
import com.sun.jdi.ObjectReference
import com.sun.jdi.Field
import com.sun.jdi.ClassType
import com.intellij.debugger.ui.impl.watch.ValueDescriptorImpl
import com.intellij.debugger.ui.tree.NodeDescriptorFactory
import com.intellij.debugger.ui.tree.FieldDescriptor
import com.intellij.debugger.ui.impl.watch.FieldDescriptorImpl
import com.intellij.openapi.project.Project
import com.intellij.debugger.impl.DebuggerContextImpl
import org.jetbrains.jet.lang.resolve.java.JvmAbi
import com.intellij.debugger.ui.tree.ValueDescriptor
import com.intellij.debugger.ui.tree.render.DescriptorLabelListener
import com.intellij.debugger.settings.NodeRendererSettings
import com.intellij.psi.PsiClass
import com.intellij.psi.JavaPsiFacade
import com.intellij.debugger.SourcePosition
import com.intellij.psi.util.PsiTreeUtil
import com.intellij.debugger.impl.DebuggerContextUtil
import com.intellij.psi.search.GlobalSearchScope
import com.sun.jdi.AbsentInformationException
import com.sun.jdi.ClassNotPreparedException
import com.intellij.psi.PsiElement
import org.jetbrains.jet.lang.psi.JetClass
import org.jetbrains.jet.lang.resolve.java.JvmClassName
import com.sun.jdi.ReferenceType
import org.jetbrains.jet.codegen.AsmUtil
import org.jetbrains.jet.lang.psi.JetClassOrObject
public open class KotlinObjectRenderer : ClassRenderer() {
override fun isApplicable(jdiType: Type?): Boolean {
if (!super.isApplicable(jdiType)) return false
return jdiType.isKotlinClass()
}
override fun createFieldDescriptor(
parentDescriptor: ValueDescriptorImpl?,
nodeDescriptorFactory: NodeDescriptorFactory?,
objRef: ObjectReference?,
field: Field?,
evaluationContext: EvaluationContext?
): FieldDescriptor {
if (field?.declaringType().isKotlinClass()) {
return KotlinObjectFieldDescriptor(evaluationContext?.getProject(), objRef, field)
}
return super.createFieldDescriptor(parentDescriptor, nodeDescriptorFactory, objRef, field, evaluationContext)
}
override fun calcLabel(
descriptor: ValueDescriptor?,
evaluationContext: EvaluationContext?,
labelListener: DescriptorLabelListener?
): String? {
val toStringRenderer = NodeRendererSettings.getInstance().getToStringRenderer()
if (toStringRenderer.isApplicable(descriptor?.getValue()?.type())) {
return toStringRenderer.calcLabel(descriptor, evaluationContext, labelListener)
}
return super.calcLabel(descriptor, evaluationContext, labelListener)
}
}
public class KotlinObjectFieldDescriptor(
project: Project?,
objRef: ObjectReference?,
field: Field?
) : FieldDescriptorImpl(project, objRef, field) {
override fun getSourcePosition(project: Project?, context: DebuggerContextImpl?, nearest: Boolean): SourcePosition? {
if (context == null || context.getFrameProxy() == null) return null
val fieldName = getField().name()
if (fieldName == AsmUtil.CAPTURED_THIS_FIELD || fieldName == AsmUtil.CAPTURED_RECEIVER_FIELD) {
return null
}
val type = getField().declaringType()
val myClass = findClassByType(type, context)?.getNavigationElement()
if (myClass !is JetClassOrObject) {
return null
}
val field = myClass.getDeclarations().firstOrNull { fieldName == it.getName() }
if (field == null) return null
if (nearest) {
return DebuggerContextUtil.findNearest(context, field, myClass.getContainingFile())
}
return SourcePosition.createFromOffset(field.getContainingFile(), field.getTextOffset())
}
private fun findClassByType(type: ReferenceType, context: DebuggerContextImpl): PsiElement? {
val session = context.getDebuggerSession()
val scope = if (session != null) session.getSearchScope() else GlobalSearchScope.allScope(myProject)
val className = JvmClassName.byInternalName(type.name()).getFqNameForClassNameWithoutDollars().asString()
val myClass = JavaPsiFacade.getInstance(myProject).findClass(className, scope)
if (myClass != null) return myClass
val position = getLastSourcePosition(type, context)
if (position != null) {
val element = position.getElementAt()
if (element != null) {
return PsiTreeUtil.getParentOfType(element, javaClass<JetClassOrObject>())
}
}
return null
}
private fun getLastSourcePosition(type: ReferenceType, context: DebuggerContextImpl): SourcePosition? {
val debugProcess = context.getDebugProcess()
if (debugProcess != null) {
try {
val locations = type.allLineLocations()
if (!locations.isEmpty()) {
val lastLocation = locations.get(locations.size() - 1)
return debugProcess.getPositionManager().getSourcePosition(lastLocation)
}
}
catch (ignored: AbsentInformationException) {
}
catch (ignored: ClassNotPreparedException) {
}
}
return null
}
}
private fun Type?.isKotlinClass(): Boolean {
return this is ClassType && this.allInterfaces().any { it.name() == JvmAbi.K_OBJECT.asString() }
}

View File

@@ -23,8 +23,6 @@ import com.intellij.execution.filters.OpenFileHyperlinkInfo;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.search.GlobalSearchScope;
import kotlin.Function1;
import kotlin.KotlinPackage;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.psi.JetFile;
@@ -106,16 +104,9 @@ public class JetExceptionFilter implements Filter {
@NotNull
private Result patchResult(@NotNull Result result, @NotNull String line) {
final HyperlinkInfo newHyperlinkInfo = createHyperlinkInfo(line);
if (newHyperlinkInfo == null) return result;
return new Result(KotlinPackage.map(result.getResultItems(), new Function1<ResultItem, ResultItem>() {
@Override
public ResultItem invoke(ResultItem item) {
return new ResultItem(item.getHighlightStartOffset(), item.getHighlightEndOffset(), newHyperlinkInfo,
item.getHighlightAttributes());
}
}));
HyperlinkInfo newHyperlinkInfo = createHyperlinkInfo(line);
return newHyperlinkInfo == null ? result :
new Result(result.highlightStartOffset, result.highlightEndOffset, newHyperlinkInfo, result.highlightAttributes);
}
@Nullable

View File

@@ -54,7 +54,7 @@ public class ErrorDuringFileAnalyzeNotificationProvider(val project: Project) :
override fun getKey() = ERROR_HIGHLIGHT_PANEL_KEY
override fun createNotificationPanel(file: VirtualFile, fileEditor: FileEditor): EditorNotificationPanel? {
override fun createNotificationPanel(file: VirtualFile, fileEditor: FileEditor?): EditorNotificationPanel? {
if (file.getFileType() != JetFileType.INSTANCE) {
return null
}

View File

@@ -49,16 +49,16 @@ public class CreateIncrementalCompilationBackup: AnAction("Create backup for deb
val ZIP_FRACTION = 1.0 - PATCHES_FRACTION - LOGS_FRACTION
}
override fun update(e: AnActionEvent) {
e.getPresentation().setVisible(incrementalCompilationEnabled(e.getProject()!!))
override fun update(e: AnActionEvent?) {
e!!.getPresentation().setVisible(incrementalCompilationEnabled(e.getProject()!!))
}
override fun actionPerformed(e: AnActionEvent) {
val project = e.getProject()!!
override fun actionPerformed(e: AnActionEvent?) {
val project = e!!.getProject()!!
val projectBaseDir = File(project.getBaseDir()!!.getPath())
val backupDir = File(FileUtil.createTempDirectory("makeBackup", null), BACKUP_DIR_NAME)
ProgressManager.getInstance().run(
ProgressManager.getInstance()!!.run(
object : Task.Backgroundable(project, "Creating backup for debugging Kotlin incremental compilation", true) {
override fun run(indicator: ProgressIndicator) {
createPatches(backupDir, project, indicator)

View File

@@ -645,7 +645,7 @@ class CallableBuilder(val config: CallableBuilderConfiguration) {
PsiDocumentManager.getInstance(project).doPostponedOperationsAndUnblockDocument(containingFileEditor.getDocument())
val caretModel = containingFileEditor.getCaretModel()
caretModel.moveToOffset(containingFile.getNode().getStartOffset())
caretModel.moveToOffset(containingFile.getNode()!!.getStartOffset())
val declaration = declarationPointer.getElement()

View File

@@ -14,6 +14,12 @@
* limitations under the License.
*/
/*
Disabled until MoveInnerClassUsagesHandler will be backported to IDEA 13
Don't forget to rename files:
moveNestedClassToTopLevelInTheSamePackageAndAddOuterInstance.test_disabled
moveNestedClassToTopLevelInTheSamePackageAndAddOuterInstanceWithLambda.test_disabled
package org.jetbrains.jet.plugin.refactoring.move
import com.intellij.refactoring.move.moveInner.MoveInnerClassUsagesHandler
@@ -64,4 +70,5 @@ public class MoveJavaInnerClassKotlinUsagesHandler: MoveInnerClassUsagesHandler
}
}
}
}
}
*/

View File

@@ -24,5 +24,5 @@ import org.jetbrains.jet.lang.psi.JetClass
public class JetTargetElementEvaluator : TargetElementEvaluator {
override fun includeSelfInGotoImplementation(element: PsiElement): Boolean = !(element is JetClass && element.isAbstract())
override fun getElementByReference(ref: PsiReference, flags: Int): PsiElement? = null
override fun getElementByReference(ref: PsiReference?, flags: Int): PsiElement? = null
}

View File

@@ -30,13 +30,13 @@ class MyDelegateThrowsException {
static = static = delegatedPropertyInClass.DelegatedPropertyInClassPackage$@packagePartHASH
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID}
local = a: delegatedPropertyInClass.A = {delegatedPropertyInClass.A@uniqueID}
field = prop$delegate: delegatedPropertyInClass.MyDelegate = {delegatedPropertyInClass.MyDelegate@uniqueID} (sp = null)
field = prop$delegate: delegatedPropertyInClass.MyDelegate = {delegatedPropertyInClass.MyDelegate@uniqueID}
field = prop: int = 1
field = propEx$delegate: delegatedPropertyInClass.MyDelegateThrowsException = {delegatedPropertyInClass.MyDelegateThrowsException@uniqueID} (sp = null)
field = propEx: java.lang.IllegalStateException = {java.lang.IllegalStateException@uniqueID}java.lang.IllegalStateException
field = detailMessage: java.lang.String = null (sp = Throwable.!EXT!)
field = cause: java.lang.Throwable = {java.lang.IllegalStateException@uniqueID}java.lang.IllegalStateException (sp = Throwable.!EXT!)
field = stackTrace: java.lang.StackTraceElement[] = null (sp = Throwable.!EXT!)
field = propEx$delegate: delegatedPropertyInClass.MyDelegateThrowsException = {delegatedPropertyInClass.MyDelegateThrowsException@uniqueID}
field = propEx: java.lang.IllegalStateException = {java.lang.IllegalStateException@uniqueID}"java.lang.IllegalStateException"
field = detailMessage: java.lang.String = null
field = cause: java.lang.Throwable = {java.lang.IllegalStateException@uniqueID}"java.lang.IllegalStateException"
field = stackTrace: java.lang.StackTraceElement[] = null
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0

View File

@@ -26,10 +26,10 @@ fun foo(f: () -> Unit) {
// PRINT_FRAME
frame = invoke():11, FrameAnonymousObjectPackage$@packagePartHASH$main$o$1$run$1 {frameAnonymousObject}
this = this = {frameAnonymousObject.FrameAnonymousObjectPackage$@packagePartHASH$main$o$1$run$1@uniqueID}kotlin.Function0<kotlin.Unit>
field = this$0: frameAnonymousObject.FrameAnonymousObjectPackage$@packagePartHASH$main$o$1 = {frameAnonymousObject.FrameAnonymousObjectPackage$@packagePartHASH$main$o$1@uniqueID} (sp = null)
field = obProp: int = 1 (sp = frameAnonymousObject.kt, 6)
field = $val1: int = 1 (sp = null)
this = this = {frameAnonymousObject.FrameAnonymousObjectPackage$@packagePartHASH$main$o$1$run$1@uniqueID}"kotlin.Function0<kotlin.Unit>"
field = this$0: frameAnonymousObject.FrameAnonymousObjectPackage$@packagePartHASH$main$o$1 = {frameAnonymousObject.FrameAnonymousObjectPackage$@packagePartHASH$main$o$1@uniqueID}
field = obProp: int = 1
field = $val1: int = 1
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0

View File

@@ -31,7 +31,7 @@ fun foo(f: () -> Unit) {
// EXPRESSION: prop
// RESULT: 1: I
frame = invoke():15, A$test$1 {frameClassObject}
this = this = {frameClassObject.A$test$1@uniqueID}kotlin.Function0<kotlin.Unit>
this = this = {frameClassObject.A$test$1@uniqueID}"kotlin.Function0<kotlin.Unit>"
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0

View File

@@ -69,17 +69,17 @@ fun lambda(f: () -> Unit) {
// EXPRESSION: bProp
// RESULT: 1: I
frame = invoke():22, Outer$foo$LocalClass$test$1 {frameExtFunExtFun}
this = this = {frameExtFunExtFun.Outer$foo$LocalClass$test$1@uniqueID}kotlin.Function0<kotlin.Unit>
field = this$0: frameExtFunExtFun.Outer$foo$LocalClass = {frameExtFunExtFun.Outer$foo$LocalClass@uniqueID} (sp = null)
field = lcProp: int = 1 (sp = frameExtFunExtFun.kt, 17)
field = this$0: frameExtFunExtFun.Outer = {frameExtFunExtFun.Outer@uniqueID} (sp = null)
field = outerProp: int = 1 (sp = frameExtFunExtFun.kt, 12)
field = receiver$0: frameExtFunExtFun.A = {frameExtFunExtFun.A@uniqueID} (sp = null)
field = aProp: int = 1 (sp = frameExtFunExtFun.kt, 8)
field = $valFoo: int = 1 (sp = null)
field = receiver$0: frameExtFunExtFun.B = {frameExtFunExtFun.B@uniqueID} (sp = null)
field = bProp: int = 1 (sp = frameExtFunExtFun.kt, 39)
field = $valTest: int = 1 (sp = null)
this = this = {frameExtFunExtFun.Outer$foo$LocalClass$test$1@uniqueID}"kotlin.Function0<kotlin.Unit>"
field = this$0: frameExtFunExtFun.Outer$foo$LocalClass = {frameExtFunExtFun.Outer$foo$LocalClass@uniqueID}
field = lcProp: int = 1
field = this$0: frameExtFunExtFun.Outer = {frameExtFunExtFun.Outer@uniqueID}
field = outerProp: int = 1
field = receiver$0: frameExtFunExtFun.A = {frameExtFunExtFun.A@uniqueID}
field = aProp: int = 1
field = $valFoo: int = 1
field = receiver$0: frameExtFunExtFun.B = {frameExtFunExtFun.B@uniqueID}
field = bProp: int = 1
field = $valTest: int = 1
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0

View File

@@ -25,7 +25,7 @@ fun A.foo() {
frame = foo():13, FrameExtensionFunPackage$@packagePartHASH {frameExtensionFun}
static = static = frameExtensionFun.FrameExtensionFunPackage$@packagePartHASH
local = $receiver: frameExtensionFun.A = {frameExtensionFun.A@uniqueID}
field = prop: int = 1 (sp = frameExtensionFun.kt, 8)
field = prop: int = 1
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0

View File

@@ -32,9 +32,9 @@ class A {
// RESULT: 1: I
frame = test():15, A$Inner {frameInnerClass}
this = this = {frameInnerClass.A$Inner@uniqueID}
field = prop2: int = 1 (sp = frameInnerClass.kt, 11)
field = this$0: frameInnerClass.A = {frameInnerClass.A@uniqueID} (sp = null)
field = prop1: int = 1 (sp = frameInnerClass.kt, 8)
field = prop2: int = 1
field = this$0: frameInnerClass.A = {frameInnerClass.A@uniqueID}
field = prop1: int = 1
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0

View File

@@ -33,10 +33,10 @@ fun foo(f: () -> Unit) {
// EXPRESSION: val1 + val2
// RESULT: 2: I
frame = invoke():9, FrameInnerLambdaPackage$@packagePartHASH$main$1$1 {frameInnerLambda}
this = this = {frameInnerLambda.FrameInnerLambdaPackage$@packagePartHASH$main$1$1@uniqueID}kotlin.Function0<kotlin.Unit>
field = this$0: frameInnerLambda.FrameInnerLambdaPackage$@packagePartHASH$main$1 = {frameInnerLambda.FrameInnerLambdaPackage$@packagePartHASH$main$1@uniqueID}kotlin.Function0<kotlin.Unit> (sp = null)
field = $val1: int = 1 (sp = null)
field = $val2: int = 1 (sp = null)
this = this = {frameInnerLambda.FrameInnerLambdaPackage$@packagePartHASH$main$1$1@uniqueID}"kotlin.Function0<kotlin.Unit>"
field = this$0: frameInnerLambda.FrameInnerLambdaPackage$@packagePartHASH$main$1 = {frameInnerLambda.FrameInnerLambdaPackage$@packagePartHASH$main$1@uniqueID}"kotlin.Function0<kotlin.Unit>"
field = $val1: int = 1
field = $val2: int = 1
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0

View File

@@ -22,8 +22,8 @@ fun foo(f: () -> Unit) {
// EXPRESSION: val1
// RESULT: 1: I
frame = invoke():7, FrameLambdaPackage$@packagePartHASH$main$1 {frameLambda}
this = this = {frameLambda.FrameLambdaPackage$@packagePartHASH$main$1@uniqueID}kotlin.Function0<kotlin.Unit>
field = $val1: int = 1 (sp = null)
this = this = {frameLambda.FrameLambdaPackage$@packagePartHASH$main$1@uniqueID}"kotlin.Function0<kotlin.Unit>"
field = $val1: int = 1
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0

View File

@@ -22,7 +22,7 @@ fun foo(f: () -> Unit) {
// EXPRESSION: val1
// RESULT: Cannot find local variable: name = val1
frame = invoke():7, FrameLambdaNotUsedPackage$@packagePartHASH$main$1 {frameLambdaNotUsed}
this = this = {frameLambdaNotUsed.FrameLambdaNotUsedPackage$@packagePartHASH$main$1@uniqueID}kotlin.Function0<kotlin.Unit>
this = this = {frameLambdaNotUsed.FrameLambdaNotUsedPackage$@packagePartHASH$main$1@uniqueID}"kotlin.Function0<kotlin.Unit>"
local = a: int = 0
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'

View File

@@ -25,7 +25,7 @@ fun foo(f: () -> Unit) {
// EXPRESSION: O.obProp
// RESULT: 1: I
frame = invoke():6, FrameObjectPackage$@packagePartHASH$main$1 {frameObject}
this = this = {frameObject.FrameObjectPackage$@packagePartHASH$main$1@uniqueID}kotlin.Function0<kotlin.Unit>
this = this = {frameObject.FrameObjectPackage$@packagePartHASH$main$1@uniqueID}"kotlin.Function0<kotlin.Unit>"
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0

View File

@@ -22,9 +22,9 @@ fun foo(f: () -> Unit) {
// EXPRESSION: var1
// RESULT: 1: I
frame = invoke():7, FrameSharedVarPackage$@packagePartHASH$main$1 {frameSharedVar}
this = this = {frameSharedVar.FrameSharedVarPackage$@packagePartHASH$main$1@uniqueID}kotlin.Function0<kotlin.Unit>
field = $var1: kotlin.jvm.internal.Ref$IntRef = {kotlin.jvm.internal.Ref$IntRef@uniqueID}1 (sp = null)
field = element: int = 1 (sp = Ref.!EXT!)
this = this = {frameSharedVar.FrameSharedVarPackage$@packagePartHASH$main$1@uniqueID}"kotlin.Function0<kotlin.Unit>"
field = $var1: kotlin.jvm.internal.Ref$IntRef = {kotlin.jvm.internal.Ref$IntRef@uniqueID}"1"
field = element: int = 1
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0

View File

@@ -24,8 +24,8 @@ inline fun foo(f: () -> Unit) {
frame = main():7, FrameSharedVarLocalVarPackage$@packagePartHASH {frameSharedVarLocalVar}
static = static = frameSharedVarLocalVar.FrameSharedVarLocalVarPackage$@packagePartHASH
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID}
local = var1: kotlin.jvm.internal.Ref$IntRef = {kotlin.jvm.internal.Ref$IntRef@uniqueID}1
field = element: int = 1 (sp = Ref.!EXT!)
local = var1: kotlin.jvm.internal.Ref$IntRef = {kotlin.jvm.internal.Ref$IntRef@uniqueID}"1"
field = element: int = 1
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0

View File

@@ -32,17 +32,17 @@ fun main(args: Array<String>) {
// RESULT: 2: I
frame = main():9, FrameSimplePackage$@packagePartHASH {frameSimple}
static = static = frameSimple.FrameSimplePackage$@packagePartHASH
field = topVal1: int = 1 (sp = null)
field = topVal1: int = 1
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID}
local = val1: int = 1
local = val2: java.lang.String = {@uniqueID}str
field = value: char[] = {char[3]@uniqueID} (sp = String.!EXT!)
local = val2: java.lang.String = {@uniqueID}"str"
field = value: char[] = {char[3]@uniqueID}
unknown = [0] = 's' 115
unknown = [1] = 't' 116
unknown = [2] = 'r' 114
field = offset: int = 0 (sp = String.!EXT!)
field = count: int = 3 (sp = String.!EXT!)
field = hash: int = 0 (sp = String.!EXT!)
field = offset: int = 0
field = count: int = 3
field = hash: int = 0
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0

View File

@@ -43,10 +43,10 @@ fun foo(f: () -> Unit) {
// EXPRESSION: prop1 + val1 + val2
// RESULT: 3: I
frame = invoke():15, A$test$1 {frameThis0}
this = this = {frameThis0.A$test$1@uniqueID}kotlin.Function0<kotlin.Unit>
field = this$0: frameThis0.A = {frameThis0.A@uniqueID} (sp = null)
field = prop1: int = 1 (sp = frameThis0.kt, 8)
field = $val1: int = 1 (sp = null)
this = this = {frameThis0.A$test$1@uniqueID}"kotlin.Function0<kotlin.Unit>"
field = this$0: frameThis0.A = {frameThis0.A@uniqueID}
field = prop1: int = 1
field = $val1: int = 1
local = val2: int = 1
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'

View File

@@ -54,12 +54,12 @@ fun foo(f: () -> Unit) {
// EXPRESSION: prop2 + val1
// RESULT: 2: I
frame = invoke():14, A$testExt$1 {frameThis0Ext}
this = this = {frameThis0Ext.A$testExt$1@uniqueID}kotlin.Function0<kotlin.Unit>
field = this$0: frameThis0Ext.A = {frameThis0Ext.A@uniqueID} (sp = null)
field = prop1: int = 1 (sp = frameThis0Ext.kt, 8)
field = receiver$0: frameThis0Ext.AExt = {frameThis0Ext.AExt@uniqueID} (sp = null)
field = prop2: int = 1 (sp = frameThis0Ext.kt, 24)
field = $val1: int = 1 (sp = null)
this = this = {frameThis0Ext.A$testExt$1@uniqueID}"kotlin.Function0<kotlin.Unit>"
field = this$0: frameThis0Ext.A = {frameThis0Ext.A@uniqueID}
field = prop1: int = 1
field = receiver$0: frameThis0Ext.AExt = {frameThis0Ext.AExt@uniqueID}
field = prop2: int = 1
field = $val1: int = 1
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0

View File

@@ -45,12 +45,12 @@ fun foo(f: () -> Unit) {
// EXPRESSION: prop1 + val1 + val2
// RESULT: 3: I
frame = invoke():16, A$test$1$1 {frameThis0This0}
this = this = {frameThis0This0.A$test$1$1@uniqueID}kotlin.Function0<kotlin.Unit>
field = this$0: frameThis0This0.A$test$1 = {frameThis0This0.A$test$1@uniqueID}kotlin.Function0<kotlin.Unit> (sp = null)
field = this$0: frameThis0This0.A = {frameThis0This0.A@uniqueID} (sp = null)
field = prop1: int = 1 (sp = frameThis0This0.kt, 8)
field = $val1: int = 1 (sp = null)
field = $val2: int = 1 (sp = null)
this = this = {frameThis0This0.A$test$1$1@uniqueID}"kotlin.Function0<kotlin.Unit>"
field = this$0: frameThis0This0.A$test$1 = {frameThis0This0.A$test$1@uniqueID}"kotlin.Function0<kotlin.Unit>"
field = this$0: frameThis0This0.A = {frameThis0This0.A@uniqueID}
field = prop1: int = 1
field = $val1: int = 1
field = $val2: int = 1
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0

View File

@@ -2,7 +2,7 @@ LineBreakpoint created at skipClassloader.kt:7
!JDK_HOME!\bin\java -agentlib:jdwp=transport=dt_socket,address=!HOST_NAME!:!HOST_PORT!,suspend=y,server=n -Dfile.encoding=!FILE_ENCODING! -classpath !APP_PATH!\classes;!KOTLIN_RUNTIME!;!CUSTOM_LIBRARY!;!RT_JAR! skipClassloader.SkipClassloaderPackage
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
skipClassloader.kt:7
skipClassloader.kt:11
skipClassloader.kt:5
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0

View File

@@ -3,7 +3,7 @@ LineBreakpoint created at syntheticMethods.kt:6
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
syntheticMethods.kt:6
syntheticMethods.kt:18
syntheticMethods.kt:16
syntheticMethods.kt:0
syntheticMethods.kt:7
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'

View File

@@ -1,24 +0,0 @@
LineBreakpoint created at toStringRenderer.kt:6
!JDK_HOME!\bin\java -agentlib:jdwp=transport=dt_socket,address=!HOST_NAME!:!HOST_PORT!,suspend=y,server=n -Dfile.encoding=!FILE_ENCODING! -classpath !APP_PATH!\classes;!KOTLIN_RUNTIME!;!CUSTOM_LIBRARY!;!RT_JAR! toStringRenderer.ToStringRendererPackage
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
toStringRenderer.kt:6
package toStringRenderer
fun main(args: Array<String>) {
val a = A()
//Breakpoint!
args.size
}
class A {
override fun toString() = "myA"
}
// PRINT_FRAME
frame = main():6, ToStringRendererPackage$@packagePartHASH {toStringRenderer}
static = static = toStringRenderer.ToStringRendererPackage$@packagePartHASH
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID}
local = a: toStringRenderer.A = {toStringRenderer.A@uniqueID}myA
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0

View File

@@ -4,24 +4,24 @@ Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socke
whenExpr.kt:5
whenExpr.kt:6
whenExpr.kt:7
whenExpr.kt:8
whenExpr.kt:10
whenExpr.kt:14
whenExpr.kt:17
whenExpr.kt:19
whenExpr.kt:20
whenExpr.kt:21
whenExpr.kt:24
whenExpr.kt:22
whenExpr.kt:28
whenExpr.kt:31
whenExpr.kt:33
whenExpr.kt:34
whenExpr.kt:35
whenExpr.kt:36
whenExpr.kt:38
whenExpr.kt:39
whenExpr.kt:45
whenExpr.kt:47
whenExpr.kt:48
whenExpr.kt:49
whenExpr.kt:50
whenExpr.kt:59
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'

View File

@@ -1,13 +0,0 @@
package toStringRenderer
fun main(args: Array<String>) {
val a = A()
//Breakpoint!
args.size
}
class A {
override fun toString() = "myA"
}
// PRINT_FRAME

View File

@@ -309,9 +309,14 @@ public class TypedHandlerTest extends LightCodeInsightTestCase {
}
private void doCharTypeTest(char ch, String beforeText, String afterText) {
configureFromFileText("a.kt", beforeText);
EditorTestUtil.performTypingAction(getEditor(), ch);
checkResultByText(afterText);
try {
configureFromFileText("a.kt", beforeText);
EditorTestUtil.performTypingAction(getEditor(), ch);
checkResultByText(afterText);
}
catch (IOException e) {
throw UtilsPackage.rethrow(e);
}
}
private void doLtGtTestNoAutoClose(String initText) throws Exception {

View File

@@ -22,7 +22,7 @@ import com.intellij.openapi.actionSystem.ex.ActionManagerEx;
import com.intellij.openapi.editor.ex.EditorEx;
import com.intellij.openapi.startup.StartupManager;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess;
import com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl;
import com.intellij.psi.FileViewProvider;
import com.intellij.psi.PsiManager;
import com.intellij.psi.impl.PsiManagerEx;
@@ -49,7 +49,7 @@ public abstract class JetLightCodeInsightFixtureTestCase extends LightCodeInsigh
protected void setUp() throws Exception {
super.setUp();
((StartupManagerImpl) StartupManager.getInstance(getProject())).runPostStartupActivities();
VfsRootAccess.allowRootAccess(JetTestCaseBuilder.getHomeDirectory());
VirtualDirectoryImpl.allowRootAccess(JetTestCaseBuilder.getHomeDirectory());
kotlinInternalModeOriginalValue = KotlinInternalMode.OBJECT$.getEnabled();
KotlinInternalMode.OBJECT$.setEnabled(true);
@@ -58,7 +58,7 @@ public abstract class JetLightCodeInsightFixtureTestCase extends LightCodeInsigh
@Override
protected void tearDown() throws Exception {
KotlinInternalMode.OBJECT$.setEnabled(kotlinInternalModeOriginalValue);
VfsRootAccess.disallowRootAccess(JetTestCaseBuilder.getHomeDirectory());
VirtualDirectoryImpl.disallowRootAccess(JetTestCaseBuilder.getHomeDirectory());
Set<JetFile> builtInsSources = getProject().getComponent(BuiltInsReferenceResolver.class).getBuiltInsSources();
FileManager fileManager = ((PsiManagerEx) PsiManager.getInstance(getProject())).getFileManager();

View File

@@ -17,7 +17,6 @@
package org.jetbrains.jet.plugin;
import com.intellij.codeInsight.CodeInsightTestCase;
import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess;
import com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl;
import org.jetbrains.jet.JetTestCaseBuilder;
@@ -25,12 +24,12 @@ public abstract class KotlinCodeInsightTestCase extends CodeInsightTestCase {
@Override
protected void setUp() throws Exception {
super.setUp();
VfsRootAccess.allowRootAccess(JetTestCaseBuilder.getHomeDirectory());
VirtualDirectoryImpl.allowRootAccess(JetTestCaseBuilder.getHomeDirectory());
}
@Override
protected void tearDown() throws Exception {
VfsRootAccess.disallowRootAccess(JetTestCaseBuilder.getHomeDirectory());
VirtualDirectoryImpl.disallowRootAccess(JetTestCaseBuilder.getHomeDirectory());
super.tearDown();
}
}

View File

@@ -17,7 +17,6 @@
package org.jetbrains.jet.plugin;
import com.intellij.codeInsight.completion.CompletionTestCase;
import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess;
import com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl;
import org.jetbrains.jet.JetTestCaseBuilder;
@@ -25,12 +24,12 @@ abstract public class KotlinCompletionTestCase extends CompletionTestCase {
@Override
protected void setUp() throws Exception {
super.setUp();
VfsRootAccess.allowRootAccess(JetTestCaseBuilder.getHomeDirectory());
VirtualDirectoryImpl.allowRootAccess(JetTestCaseBuilder.getHomeDirectory());
}
@Override
protected void tearDown() throws Exception {
VfsRootAccess.disallowRootAccess(JetTestCaseBuilder.getHomeDirectory());
VirtualDirectoryImpl.disallowRootAccess(JetTestCaseBuilder.getHomeDirectory());
super.tearDown();
}
}

View File

@@ -17,7 +17,6 @@
package org.jetbrains.jet.plugin;
import com.intellij.codeInsight.daemon.DaemonAnalyzerTestCase;
import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess;
import com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl;
import org.jetbrains.jet.JetTestCaseBuilder;
@@ -25,12 +24,12 @@ abstract public class KotlinDaemonAnalyzerTestCase extends DaemonAnalyzerTestCas
@Override
protected void setUp() throws Exception {
super.setUp();
VfsRootAccess.allowRootAccess(JetTestCaseBuilder.getHomeDirectory());
VirtualDirectoryImpl.allowRootAccess(JetTestCaseBuilder.getHomeDirectory());
}
@Override
protected void tearDown() throws Exception {
VfsRootAccess.disallowRootAccess(JetTestCaseBuilder.getHomeDirectory());
VirtualDirectoryImpl.disallowRootAccess(JetTestCaseBuilder.getHomeDirectory());
super.tearDown();
}
}

View File

@@ -16,7 +16,6 @@
package org.jetbrains.jet.plugin;
import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess;
import com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl;
import com.intellij.testFramework.codeInsight.hierarchy.HierarchyViewTestBase;
import org.jetbrains.jet.JetTestCaseBuilder;
@@ -25,12 +24,12 @@ public abstract class KotlinHierarchyViewTestBase extends HierarchyViewTestBase
@Override
protected void setUp() throws Exception {
super.setUp();
VfsRootAccess.allowRootAccess(JetTestCaseBuilder.getHomeDirectory());
VirtualDirectoryImpl.allowRootAccess(JetTestCaseBuilder.getHomeDirectory());
}
@Override
protected void tearDown() throws Exception {
VfsRootAccess.disallowRootAccess(JetTestCaseBuilder.getHomeDirectory());
VirtualDirectoryImpl.disallowRootAccess(JetTestCaseBuilder.getHomeDirectory());
super.tearDown();
}
}

View File

@@ -17,7 +17,6 @@
package org.jetbrains.jet.plugin;
import com.intellij.codeInsight.daemon.quickFix.LightQuickFixTestCase;
import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess;
import com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl;
import org.jetbrains.jet.JetTestCaseBuilder;
@@ -25,12 +24,12 @@ abstract public class KotlinLightQuickFixTestCase extends LightQuickFixTestCase
@Override
protected void setUp() throws Exception {
super.setUp();
VfsRootAccess.allowRootAccess(JetTestCaseBuilder.getHomeDirectory());
VirtualDirectoryImpl.allowRootAccess(JetTestCaseBuilder.getHomeDirectory());
}
@Override
protected void tearDown() throws Exception {
VfsRootAccess.disallowRootAccess(JetTestCaseBuilder.getHomeDirectory());
VirtualDirectoryImpl.disallowRootAccess(JetTestCaseBuilder.getHomeDirectory());
super.tearDown();
}
}

View File

@@ -209,7 +209,7 @@ public abstract class AbstractOverrideImplementTest extends JetLightCodeInsightF
protected void run(@NotNull Result result) throws Throwable {
OverrideImplementMethodsHandler.generateMethods(myFixture.getEditor(), classOrObject, descriptorsToGenerate);
}
}.performCommand();
}.execute();
}
catch (Throwable throwable) {
throw UtilsPackage.rethrow(throwable);

View File

@@ -26,7 +26,6 @@ import com.intellij.openapi.roots.libraries.LibraryUtil
import org.jetbrains.jet.plugin.JetJdkAndLibraryProjectDescriptor
import com.intellij.openapi.roots.JdkOrderEntry
import com.intellij.openapi.util.io.FileUtil
import com.intellij.debugger.SourcePosition
abstract class KotlinDebuggerTestBase : KotlinDebuggerTestCase() {
@@ -55,27 +54,23 @@ abstract class KotlinDebuggerTestBase : KotlinDebuggerTestCase() {
}
val sourcePosition = PositionUtil.getSourcePosition(this)
println(renderSourcePosition(sourcePosition), ProcessOutputTypes.SYSTEM)
}
}
if (sourcePosition == null) {
return@runReadAction println("SourcePosition is null", ProcessOutputTypes.SYSTEM)
}
protected fun renderSourcePosition(sourcePosition: SourcePosition?): String {
if (sourcePosition == null) {
return "null"
}
val virtualFile = sourcePosition.getFile().getVirtualFile()
if (virtualFile == null) {
return@runReadAction println("VirtualFile for position is null", ProcessOutputTypes.SYSTEM)
}
val virtualFile = sourcePosition.getFile().getVirtualFile()
if (virtualFile == null) {
return "VirtualFile for position is null"
}
val libraryEntry = LibraryUtil.findLibraryEntry(virtualFile, getProject())
if (libraryEntry != null && (libraryEntry is JdkOrderEntry ||
libraryEntry.getPresentableName() == JetJdkAndLibraryProjectDescriptor.LIBRARY_NAME)) {
return@runReadAction println(FileUtil.getNameWithoutExtension(virtualFile.getName()) + ".!EXT!", ProcessOutputTypes.SYSTEM)
}
val libraryEntry = LibraryUtil.findLibraryEntry(virtualFile, getProject())
if (libraryEntry != null && (libraryEntry is JdkOrderEntry ||
libraryEntry.getPresentableName() == JetJdkAndLibraryProjectDescriptor.LIBRARY_NAME)) {
return FileUtil.getNameWithoutExtension(virtualFile.getName()) + ".!EXT!"
println(virtualFile.getName() + ":" + (sourcePosition.getLine() + 1), ProcessOutputTypes.SYSTEM)
}
return virtualFile.getName() + ":" + (sourcePosition.getLine() + 1)
}
protected fun finish() {

View File

@@ -27,7 +27,7 @@ import com.intellij.openapi.roots.ui.configuration.libraryEditor.NewLibraryEdito
import com.intellij.openapi.util.Computable;
import com.intellij.openapi.vfs.VfsUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess;
import com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl;
import com.intellij.psi.JavaPsiFacade;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiElement;
@@ -76,7 +76,7 @@ public abstract class KotlinDebuggerTestCase extends DescriptorTestCase {
@Override
protected void setUp() throws Exception {
super.setUp();
VfsRootAccess.allowRootAccess(JetTestCaseBuilder.getHomeDirectory());
VirtualDirectoryImpl.allowRootAccess(JetTestCaseBuilder.getHomeDirectory());
UsefulTestCase.edt(new Runnable() {
@Override
@@ -112,7 +112,7 @@ public abstract class KotlinDebuggerTestCase extends DescriptorTestCase {
@Override
protected void tearDown() throws Exception {
VfsRootAccess.allowRootAccess(JetTestCaseBuilder.getHomeDirectory());
VirtualDirectoryImpl.allowRootAccess(JetTestCaseBuilder.getHomeDirectory());
super.tearDown();
}

View File

@@ -58,10 +58,8 @@ import com.intellij.psi.PsiManager
import com.intellij.debugger.DebuggerManagerEx
import com.intellij.psi.PsiDocumentManager
import com.intellij.openapi.application.ModalityState
import com.intellij.debugger.ui.tree.render.ClassRenderer
import com.intellij.debugger.settings.NodeRendererSettings
import com.intellij.debugger.ui.impl.watch.FieldDescriptorImpl
import com.intellij.debugger.impl.DebuggerContextImpl
import com.intellij.debugger.SourcePosition
public abstract class AbstractKotlinEvaluateExpressionTest : KotlinDebuggerTestBase() {
private val logger = Logger.getLogger(javaClass<KotlinEvaluateExpressionCache>())!!
@@ -223,17 +221,13 @@ public abstract class AbstractKotlinEvaluateExpressionTest : KotlinDebuggerTestB
invokeRatherLater(this) {
tree.rebuild(debuggerContext)
expandAll(tree, Runnable {
try {
Printer(debuggerContext).printTree(tree)
}
finally {
resume(this@printFrame)
}
PRINTER.printTree(tree)
resume(this@printFrame)
})
}
}
private inner class Printer(val debuggerContext: DebuggerContextImpl) {
private val PRINTER = object {
fun printTree(tree: DebuggerTree) {
val root = tree.getMutableModel()!!.getRoot() as DebuggerTreeNodeImpl
printNode(root, 0)
@@ -252,8 +246,6 @@ public abstract class AbstractKotlinEvaluateExpressionTest : KotlinDebuggerTestB
is LocalVariableDescriptor -> logDescriptor(descriptor, "$curIndent local = $label\n")
is StaticDescriptor -> logDescriptor(descriptor, "$curIndent static = $label\n")
is ThisDescriptorImpl -> logDescriptor(descriptor, "$curIndent this = $label\n")
is FieldDescriptorImpl -> logDescriptor(descriptor, "$curIndent field = $label"
+ " (sp = ${render(descriptor.getSourcePosition(myProject, debuggerContext))})\n")
is FieldDescriptor -> logDescriptor(descriptor, "$curIndent field = $label\n")
else -> logDescriptor(descriptor, "$curIndent unknown = $label\n")
}
@@ -267,10 +259,6 @@ public abstract class AbstractKotlinEvaluateExpressionTest : KotlinDebuggerTestB
printNode(e.nextElement() as DebuggerTreeNodeImpl, indent)
}
}
private fun render(sp: SourcePosition?): String {
return renderSourcePosition(sp).replace(":", ", ")
}
}
private fun checkExceptions(exceptions: MutableMap<String, Throwable>) {

View File

@@ -33,7 +33,7 @@ import java.util.regex.Pattern;
public class KotlinEvaluateExpressionTestGenerated extends AbstractKotlinEvaluateExpressionTest {
@TestMetadata("idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint")
@TestDataPath("$PROJECT_ROOT")
@InnerTestClasses({SingleBreakpoint.Frame.class, SingleBreakpoint.Lambdas.class, SingleBreakpoint.Renderer.class})
@InnerTestClasses({SingleBreakpoint.Frame.class, SingleBreakpoint.Lambdas.class})
@RunWith(JUnit3RunnerWithInners.class)
public static class SingleBreakpoint extends AbstractKotlinEvaluateExpressionTest {
@TestMetadata("abstractFunCall.kt")
@@ -339,21 +339,6 @@ public class KotlinEvaluateExpressionTestGenerated extends AbstractKotlinEvaluat
doSingleBreakpointTest(fileName);
}
}
@TestMetadata("idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/renderer")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class Renderer extends AbstractKotlinEvaluateExpressionTest {
public void testAllFilesPresentInRenderer() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/renderer"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("toStringRenderer.kt")
public void testToStringRenderer() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/renderer/toStringRenderer.kt");
doSingleBreakpointTest(fileName);
}
}
}
@TestMetadata("idea/testData/debugger/tinyApp/src/evaluate/multipleBreakpoints")

View File

@@ -101,7 +101,7 @@ public class JetExceptionFilterTest extends MultiFileTestCase {
Filter.Result result = filter.applyFilter(line, 0);
assertNotNull(result);
HyperlinkInfo info = result.getFirstHyperlinkInfo();
HyperlinkInfo info = result.hyperlinkInfo;
assertNotNull(info);
assertInstanceOf(info, OpenFileHyperlinkInfo.class);
OpenFileDescriptor descriptor = ((OpenFileHyperlinkInfo) info).getDescriptor();

View File

@@ -93,7 +93,7 @@ public abstract class AbstractJetMoveTest : MultiFileTestCase() {
doTest({ rootDir, rootAfter ->
val mainFile = rootDir.findFileByRelativePath(mainFilePath)!!
val mainPsiFile = PsiManager.getInstance(getProject()!!).findFile(mainFile)!!
val document = FileDocumentManager.getInstance().getDocument(mainFile)!!
val document = FileDocumentManager.getInstance()!!.getDocument(mainFile)!!
val editor = EditorFactory.getInstance()!!.createEditor(document, getProject()!!)!!
val caretOffset = extractCaretOffset(document)
@@ -116,7 +116,7 @@ public abstract class AbstractJetMoveTest : MultiFileTestCase() {
}
finally {
PsiDocumentManager.getInstance(getProject()!!).commitAllDocuments()
FileDocumentManager.getInstance().saveAllDocuments()
FileDocumentManager.getInstance()!!.saveAllDocuments()
EditorFactory.getInstance()!!.releaseEditor(editor)
}

View File

@@ -84,18 +84,6 @@ public class JetMoveTestGenerated extends AbstractJetMoveTest {
doTest(fileName);
}
@TestMetadata("java/moveClass/moveInnerToTop/moveNestedClassToTopLevelInTheSamePackageAndAddOuterInstance/moveNestedClassToTopLevelInTheSamePackageAndAddOuterInstance.test")
public void testJava_moveClass_moveInnerToTop_moveNestedClassToTopLevelInTheSamePackageAndAddOuterInstance_MoveNestedClassToTopLevelInTheSamePackageAndAddOuterInstance() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/refactoring/move/java/moveClass/moveInnerToTop/moveNestedClassToTopLevelInTheSamePackageAndAddOuterInstance/moveNestedClassToTopLevelInTheSamePackageAndAddOuterInstance.test");
doTest(fileName);
}
@TestMetadata("java/moveClass/moveInnerToTop/moveNestedClassToTopLevelInTheSamePackageAndAddOuterInstanceWithLambda/moveNestedClassToTopLevelInTheSamePackageAndAddOuterInstanceWithLambda.test")
public void testJava_moveClass_moveInnerToTop_moveNestedClassToTopLevelInTheSamePackageAndAddOuterInstanceWithLambda_MoveNestedClassToTopLevelInTheSamePackageAndAddOuterInstanceWithLambda() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/refactoring/move/java/moveClass/moveInnerToTop/moveNestedClassToTopLevelInTheSamePackageAndAddOuterInstanceWithLambda/moveNestedClassToTopLevelInTheSamePackageAndAddOuterInstanceWithLambda.test");
doTest(fileName);
}
@TestMetadata("java/moveClass/moveInnerToTop/moveNestedClassToTopLevelInTheSamePackageAndRename/moveNestedClassToTopLevelInTheSamePackageAndRename.test")
public void testJava_moveClass_moveInnerToTop_moveNestedClassToTopLevelInTheSamePackageAndRename_MoveNestedClassToTopLevelInTheSamePackageAndRename() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/refactoring/move/java/moveClass/moveInnerToTop/moveNestedClassToTopLevelInTheSamePackageAndRename/moveNestedClassToTopLevelInTheSamePackageAndRename.test");

View File

@@ -20,7 +20,7 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Ordering;
import com.intellij.ide.startup.impl.StartupManagerImpl;
import com.intellij.openapi.startup.StartupManager;
import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess;
import com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl;
import com.intellij.psi.*;
import com.intellij.psi.impl.PsiManagerEx;
import com.intellij.psi.impl.file.impl.FileManager;
@@ -65,12 +65,12 @@ public abstract class AbstractReferenceResolveTest extends LightPlatformCodeInsi
protected void setUp() throws Exception {
super.setUp();
((StartupManagerImpl) StartupManager.getInstance(getProject())).runPostStartupActivities();
VfsRootAccess.allowRootAccess(JetTestCaseBuilder.getHomeDirectory());
VirtualDirectoryImpl.allowRootAccess(JetTestCaseBuilder.getHomeDirectory());
}
@Override
protected void tearDown() throws Exception {
VfsRootAccess.disallowRootAccess(JetTestCaseBuilder.getHomeDirectory());
VirtualDirectoryImpl.disallowRootAccess(JetTestCaseBuilder.getHomeDirectory());
Set<JetFile> builtInsSources = getProject().getComponent(BuiltInsReferenceResolver.class).getBuiltInsSources();
FileManager fileManager = ((PsiManagerEx) PsiManager.getInstance(getProject())).getFileManager();

View File

@@ -16,36 +16,36 @@
package org.jetbrains.jet.j2k.test
import com.intellij.openapi.util.io.FileUtil
import java.io.File
import com.intellij.openapi.util.io.FileUtil
import org.jetbrains.jet.j2k.Converter
import org.jetbrains.jet.j2k.JavaToKotlinTranslator
import org.jetbrains.jet.j2k.ConverterSettings
import java.util.regex.Pattern
import com.intellij.testFramework.LightPlatformTestCase
import com.intellij.openapi.application.ApplicationManager
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.openapi.util.Computable
import junit.framework.TestCase
import org.jetbrains.jet.j2k.translateToKotlin
import com.intellij.openapi.util.Disposer
import org.jetbrains.jet.j2k.JavaToKotlinTranslator
import org.jetbrains.jet.lang.diagnostics.Severity
import org.jetbrains.jet.lang.diagnostics.rendering.DefaultErrorMessages
import org.jetbrains.jet.lang.psi.JetFile
import org.jetbrains.jet.plugin.caches.resolve.getAnalysisResults
import org.jetbrains.jet.JetTestCaseBuilder
import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess
import com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl
import com.intellij.openapi.util.Computable
public abstract class AbstractJavaToKotlinConverterTest : LightCodeInsightFixtureTestCase() {
override fun setUp() {
super.setUp()
VfsRootAccess.allowRootAccess(JetTestCaseBuilder.getHomeDirectory())
VirtualDirectoryImpl.allowRootAccess(JetTestCaseBuilder.getHomeDirectory())
addFile("KotlinApi.kt", "kotlinApi")
addFile("JavaApi.java", "javaApi")
}
override fun tearDown() {
VfsRootAccess.disallowRootAccess(JetTestCaseBuilder.getHomeDirectory())
VirtualDirectoryImpl.disallowRootAccess(JetTestCaseBuilder.getHomeDirectory())
super.tearDown()
}
@@ -81,15 +81,3 @@ public abstract class AbstractJavaToKotlinConverterTest : LightCodeInsightFixtur
return header + jetFile.getText()
}
}
public abstract class AbstractJavaToKotlinConverterForWebDemoTest() : TestCase() {
public fun doTest(javaPath: String) {
try {
val fileContents = FileUtil.loadFile(File(javaPath), true)
translateToKotlin(fileContents)
}
finally {
Disposer.dispose(JavaToKotlinTranslator.DISPOSABLE)
}
}
}

View File

@@ -21,6 +21,7 @@
<orderEntry type="module" module-name="serialization" />
<orderEntry type="module" module-name="compiler-tests" scope="TEST" />
<orderEntry type="library" name="asm" level="project" />
<orderEntry type="module" module-name="kotlin-android-plugin" />
</component>
</module>

View File

@@ -17,6 +17,7 @@
package org.jetbrains.jet.jps.build;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.android.AndroidPackage;
import org.jetbrains.jps.incremental.BuilderService;
import org.jetbrains.jps.incremental.ModuleLevelBuilder;
@@ -24,6 +25,10 @@ import java.util.Collections;
import java.util.List;
public class KotlinBuilderService extends BuilderService {
public KotlinBuilderService() {
AndroidPackage.initializeOutputParser();
}
@NotNull
@Override
public List<? extends ModuleLevelBuilder> createModuleLevelBuilders() {

View File

@@ -1,6 +1,6 @@
<project name="Update Dependencies" default="update">
<property name="jb.buildserver.build.id" value="5110080"/>
<property name="public.buildserver.build.id" value="183846"/>
<property name="jb.buildserver.build.id" value="4795903"/>
<property name="public.buildserver.build.id" value="165871"/>
<condition property="os.tag" value="win.zip">
<os family="windows"/>
@@ -19,7 +19,7 @@
</and>
</condition>
<property name="idea.build.number" value="139.SNAPSHOT"/>
<property name="idea.build.number" value="135.SNAPSHOT"/>
<property name="idea.archive.name" value="ideaIC-${idea.build.number}.${os.tag}"/>
@@ -154,8 +154,8 @@
<get-maven-library prefix="org/fusesource/jansi" lib="jansi" version="1.9"/>
-->
<!-- Guava 17 sources-->
<get-maven-library prefix="com/google/guava" lib="guava" version="17.0" bin="false"/>
<!-- Guava 14 sources-->
<get-maven-library prefix="com/google/guava" lib="guava" version="14.0.1" bin="false"/>
<!-- ASM -->
<get src="https://raw.github.com/JetBrains/intellij-community/master/lib/src/asm5-src.zip"
@@ -262,45 +262,30 @@
</delete>
<mkdir dir="${core}"/>
<mkdir dir="${core-analysis}"/>
<mkdir dir="${jps}"/>
<mkdir dir="${jps-test}"/>
<get src="@{base.url.for.core}/core/intellij-core.jar" dest="${core}/intellij-core.jar" usetimestamp="true"/>
<get src="@{base.url.for.core}/core/intellij-core-analysis.jar" dest="${core-analysis}/intellij-core-analysis.jar"
usetimestamp="true"/>
<get src="@{base.url}/core/annotations.jar" dest="${core}/annotations.jar" usetimestamp="true"/>
<get src="@{base.url}/core/guava-17.0.jar" dest="${core}/guava-17.0.jar" usetimestamp="true"/>
<get src="@{base.url}/core/guava-14.0.1.jar" dest="${core}/guava-14.0.1.jar" usetimestamp="true"/>
<get src="@{base.url}/core/picocontainer.jar" dest="${core}/picocontainer.jar" usetimestamp="true"/>
<get src="@{base.url}/core/trove4j.jar" dest="${core}/trove4j.jar" usetimestamp="true"/>
<!--<get src="@{base.url}/core/snappy-java-1.0.5.jar" dest="${core}/snappy-java-1.0.5.jar" usetimestamp="true"/>-->
<get src="@{base.url}/jps/standalone-jps-IC-${idea.build.number}.zip"
dest="dependencies/download/standalone-jps.zip"
usetimestamp="true"/>
<get src="@{base.url}/jps/groovy-jps-plugin.jar" dest="${jps}/groovy-jps-plugin.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/groovy_rt.jar" dest="${jps}/groovy_rt.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/jdom.jar" dest="${jps}/jdom.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/jgoodies-forms.jar" dest="${jps}/jgoodies-forms.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/jna.jar" dest="${jps}/jna.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/jps-builders.jar" dest="${jps}/jps-builders.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/jps-model.jar" dest="${jps}/jps-model.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/log4j.jar" dest="${jps}/log4j.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/nanoxml-2.2.3.jar" dest="${jps}/nanoxml-2.2.3.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/protobuf-2.5.0.jar" dest="${jps}/protobuf-2.5.0.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/trove4j.jar" dest="${jps}/trove4j.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/ui-designer-jps-plugin.jar" dest="${jps}/ui-designer-jps-plugin.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/util.jar" dest="${jps}/util.jar" usetimestamp="true"/>
<property name="jps.extracted.dir" value="dependencies/download/standalone-jps"/>
<unzip src="dependencies/download/standalone-jps.zip" dest="${jps.extracted.dir}"/>
<copy todir="${jps}" flatten="true">
<resources>
<file file="${jps.extracted.dir}/groovy-jps-plugin.jar"/>
<file file="${jps.extracted.dir}/groovy_rt.jar"/>
<file file="${jps.extracted.dir}/jdom.jar"/>
<file file="${jps.extracted.dir}/jgoodies-forms.jar"/>
<file file="${jps.extracted.dir}/jna.jar"/>
<file file="${jps.extracted.dir}/jps-builders.jar"/>
<file file="${jps.extracted.dir}/jps-model.jar"/>
<file file="${jps.extracted.dir}/log4j.jar"/>
<file file="${jps.extracted.dir}/nanoxml-2.2.3.jar"/>
<file file="${jps.extracted.dir}/protobuf-2.5.0.jar"/>
<file file="${jps.extracted.dir}/trove4j.jar"/>
<file file="${jps.extracted.dir}/ui-designer-jps-plugin.jar"/>
<file file="${jps.extracted.dir}/util.jar"/>
</resources>
</copy>
<get src="@{base.url}/jps/jps-build-test-IC-${idea.build.number}.jar" dest="${jps-test}/jps-build-test.jar"
usetimestamp="true"/>
<get src="@{base.url}/jps/test/jps-build-test.jar" dest="${jps-test}/jps-build-test.jar" usetimestamp="true"/>
<get src="@{base.url}/@{build.zip}" dest="dependencies/download/@{build.zip}" usetimestamp="true"/>
@@ -365,6 +350,8 @@
many nice features of IDEA including diffs in the test console.
-->
<delete file="ideaSDK/lib/junit.jar"/>
<antcall target="get-android-plugin"/>
</sequential>
</macrodef>
@@ -381,6 +368,21 @@
<target name="get_android_studio">
<taskdef resource="net/sf/antcontrib/antcontrib.properties" classpath="${basedir}/dependencies/ant-contrib.jar"/>
<antcallback target="download_android_studio" return="android.file.name"/>
<unzip-android-studio android.file.name="${android.file.name}"/>
</target>
<target name="get-android-plugin">
<taskdef resource="net/sf/antcontrib/antcontrib.properties" classpath="${basedir}/dependencies/ant-contrib.jar"/>
<antcallback target="download_android_studio" return="android.file.name"/>
<unzip-android-plugin android.file.name="${android.file.name}"/>
</target>
<target name="download_android_studio">
<taskdef resource="net/sf/antcontrib/antcontrib.properties" classpath="${basedir}/dependencies/ant-contrib.jar"/>
<condition property="android.os.tag" value="windows">
<os family="windows"/>
</condition>
@@ -436,53 +438,91 @@
<property name="android.file.name" value="android-studio-ide-${android.build.version}-${android.os.tag}.zip"/>
<property name="android.studio.url"
value="http://dl.google.com/dl/android/studio/ide-zips/${android.version}/${android.file.name}"/>
<property name="android.destination.dir" value="android-studio/sdk"/>
<mkdir dir="dependencies/download"/>
<get src="${android.studio.url}" dest="dependencies/download" usetimestamp="true"/>
</target>
<delete dir="${android.destination.dir}" failonerror="false" includeemptydirs="true">
<exclude name="config/**"/>
<exclude name="system/**"/>
</delete>
<macrodef name="unzip-android-studio">
<attribute name="android.file.name"/>
<unzip src="dependencies/download/${android.file.name}" dest="${android.destination.dir}">
<cutdirsmapper dirs="1"/>
</unzip>
<sequential>
<property name="android.destination.dir" value="android-studio/sdk"/>
<if>
<matches pattern=".+windows\.zip" string="${android.file.name}"/>
<then>
</then>
<elseif>
<delete dir="${android.destination.dir}" failonerror="false" includeemptydirs="true">
<exclude name="config/**"/>
<exclude name="system/**"/>
</delete>
<unzip src="dependencies/download/@{android.file.name}" dest="${android.destination.dir}">
<cutdirsmapper dirs="1"/>
</unzip>
<if>
<matches pattern=".+windows\.zip" string="${android.file.name}"/>
<then>
</then>
<elseif>
<matches pattern=".+mac\.zip" string="${android.file.name}"/>
<then>
<exec executable="chmod">
<arg value="a+x"/>
<arg path="${android.destination.dir}/bin/fsnotifier"/>
<arg path="${android.destination.dir}/bin/inspect.sh"/>
<arg path="${android.destination.dir}/bin/printenv.py"/>
<arg path="${android.destination.dir}/bin/update_studio.sh"/>
</exec>
</then>
</elseif>
<elseif>
<matches pattern=".+linux\.zip" string="${android.file.name}"/>
<then>
<exec executable="chmod">
<arg value="a+x"/>
<arg path="${android.destination.dir}/bin/fsnotifier"/>
<arg path="${android.destination.dir}/bin/fsnotifier64"/>
<arg path="${android.destination.dir}/bin/inspect.sh"/>
<arg path="${android.destination.dir}/bin/studio.sh"/>
<arg path="${android.destination.dir}/bin/update_studio.sh"/>
</exec>
</then>
</elseif>
<else>
<fail message="File name '${android.file.name}' wasn't matched"/>
</else>
</if>
</sequential>
</macrodef>
<macrodef name="unzip-android-plugin">
<attribute name="android.file.name"/>
<sequential>
<property name="android.destination.dir" value="ideaSDK/plugins/android"/>
<delete dir="${android.destination.dir}" failonerror="false" includeemptydirs="true"/>
<if>
<matches pattern=".+mac\.zip" string="${android.file.name}"/>
<then>
<exec executable="chmod">
<arg value="a+x"/>
<arg path="${android.destination.dir}/bin/fsnotifier"/>
<arg path="${android.destination.dir}/bin/inspect.sh"/>
<arg path="${android.destination.dir}/bin/printenv.py"/>
<arg path="${android.destination.dir}/bin/update_studio.sh"/>
</exec>
<unzip src="dependencies/download/@{android.file.name}" dest="${android.destination.dir}">
<cutdirsmapper dirs="4"/>
<patternset>
<include name="Android Studio.app/Contents/plugins/android/lib/**"/>
</patternset>
</unzip>
</then>
</elseif>
<elseif>
<matches pattern=".+linux\.zip" string="${android.file.name}"/>
<then>
<exec executable="chmod">
<arg value="a+x"/>
<arg path="${android.destination.dir}/bin/fsnotifier"/>
<arg path="${android.destination.dir}/bin/fsnotifier64"/>
<arg path="${android.destination.dir}/bin/inspect.sh"/>
<arg path="${android.destination.dir}/bin/studio.sh"/>
<arg path="${android.destination.dir}/bin/update_studio.sh"/>
</exec>
</then>
</elseif>
<else>
<fail message="File name '${android.file.name}' wasn't matched"/>
</else>
</if>
</target>
<else>
<unzip src="dependencies/download/@{android.file.name}" dest="${android.destination.dir}">
<cutdirsmapper dirs="3"/>
<patternset>
<include name="android-studio/plugins/android/lib/**"/>
</patternset>
</unzip>
</else>
</if>
</sequential>
</macrodef>
</project>