Compare commits

..

725 Commits

Author SHA1 Message Date
Nikolay Krasko
1bff511f24 Bootstrap 1.0.3 branch with 1.0.3 2016-07-27 19:31:45 +03:00
Nikolay Krasko
3392fbf512 Don't store analyze result longer than ModuleResolverProvider valid time
For synthetic files there might be file modifications without PsiModificationTracker.MODIFICATION_COUNT increment.
(cherry picked from commit 501f2d1)
2016-07-27 15:50:05 +03:00
Nikolay Krasko
69d824099f Remove psi modification tracker from pooled threads (EA-86038, KT-13163)
IDEA 163 explicitly forbids such tricks with exceptions.
(cherry picked from commit 5c3e65d)

 #KT-13163 Fixed
2016-07-27 15:50:04 +03:00
Dmitry Jemerov
a7fac37bc0 add alternate path to common.jar dependency to work around the fact that it's no longer shipped in plugins/android/lib since AS 2.2 preview
(cherry picked from commit e66e292)
2016-07-13 13:42:23 +02:00
Mikhail Glukhikh
e5151113ad Specify type explicitly: do not consider star projection arguments in KotlinType.isFlexibleRecursive() #KT-13055 Fixed
(cherry picked from commit 828f4bf)
2016-07-13 12:48:23 +03:00
Dmitry Jemerov
e203ee4889 specify FQ names for collection types as well
(cherry picked from commit c80e094)
2016-07-12 17:34:47 +02:00
Dmitry Jemerov
c02ecf63f6 more sensible docs for @MustBeDocumented
(cherry picked from commit e492d23)
2016-07-12 16:25:14 +02:00
Dmitry Jemerov
b69f87c7df fix qualified links in Module.md
#KT-11373 Fixed
(cherry picked from commit ccbc19f)
2016-07-12 16:25:02 +02:00
Pavel V. Talanov
6a8439611d Increase BINARY_STUB_VERSION
Should have been done after earlier changes: 022ef6410d
2016-07-11 19:02:59 +03:00
Pavel V. Talanov
90d306a954 Put all stub versions into one place, explain their meaning 2016-07-11 19:02:04 +03:00
Michael Bogdanov
a82716ce89 Fix for KT-13040: Invalid bytecode generated for extension lambda invocation with safe call
#KT-13040 Fixed
(cherry picked from commit 23a0e19)
2016-07-09 14:58:29 +03:00
Dmitry Jemerov
52a81bf01f fix incompatibility with ASM 6: don't call getReturnType() on a type which is not a method type (IDEA-158090) 2016-07-08 17:18:28 +02:00
Dmitry Jemerov
ca94d1ba23 fix ASM 5 src download URL (file was removed in IDEA commit ed9c9fc)
(cherry picked from commit 623673c)
2016-07-07 12:49:42 +02:00
Alexey Andreev
c8d123ee53 KT-12928: decompose invocation like "a.foo(b)" to "$t = a; $s = $t.foo.bind($t); $s(b)" instead of "$t = a.foo; $t(b)", since in the latter case foo won't receive proper this. Add optimization that replaces "foo.bar.bind(baz)(args)" with "baz.bar(args)" 2016-07-04 14:54:04 +03:00
Zalim Bashorov
87a44f31d3 JS: generate a function with the required name for callable references instead try to change the name later. The previous solution doesn't work properly on some JS VMs (e.g. in FireFox)
#KT-12929 Fixed
(cherry picked from commit 48617ca)
2016-07-01 21:14:44 +03:00
Pavel V. Talanov
10a429abf0 update ChangeLog for 1.0.3 2016-06-29 18:24:43 +03:00
Yan Zhulanow
d99035e27d KT-12895, EA-84877: Fix NoSuchMethodError thrown when saving a Kotlin file.
newOutputStreamSupplier() is deprecated and was deleted in Guava 18.
(cherry picked from commit bb083a5)
2016-06-29 17:54:33 +03:00
Pavel V. Talanov
b0a275095f ChangeLog, minor: make usages of quotes and backticks more consistent 2016-06-28 15:47:16 +03:00
Pavel V. Talanov
3be06cea65 Minor: fix typos in ChangeLog 2016-06-28 15:41:12 +03:00
Pavel V. Talanov
e87a0bd9be Update Changelog for 1.0.3 2016-06-28 15:41:10 +03:00
Nikolay Krasko
61bc0ec6e7 Use file.modificationStamp to invalidate caches for synthetic files
It previously worked because of updating all counters. That behaviour was removed in
3b860d69ee.

getUserData(FILE_OUT_OF_BLOCK_MODIFICATION_COUNT) is probably useless because copied file has
isEventSystemEnabled() == false that prevents sending notifications about PSI changes. This need additional checks.
2016-06-28 14:07:14 +03:00
Stanislav Erokhin
194aea8cdb Add eap channel for 1.1 into plugin updater. 2016-06-28 14:03:07 +03:00
Alexey Sedunov
a1d9a25107 Rename: Update references to facade class when renaming file via matching top-level class
#KT-11903 Fixed
2016-06-28 13:52:33 +03:00
Alexey Sedunov
cceeaeb431 Line Markers: Filter out irrelevant declarations before resolving in KotlinTestRunLineMarkerContributor
#KT-12647 Fixed
2016-06-28 13:52:32 +03:00
Alexey Sedunov
fa144b0ce2 Rename: Constraint search scope of parameter declared in a private member
#KT-9649 Fixed
2016-06-28 13:52:31 +03:00
Alexey Sedunov
dfebdafc2a Rename: Disable JavaMemberByKotlinReferenceInplaceRenameHandler for synthetic properties referenced from Kotlin code
#KT-9168 Fixed
2016-06-28 13:52:30 +03:00
Alexey Sedunov
35050f4e0f Rename: Support automatic test renaming for facade files
#KT-10578 Fixed
2016-06-28 13:52:28 +03:00
Alexey Sedunov
2b87f8ebe3 Override/Implement: Prefer not-nullable return type when overriding Java method without nullability annotation
#KT-12381 Fixed
2016-06-28 13:52:27 +03:00
Alexey Sedunov
95239e59c0 Move: Support quoted package names
#KT-12411 Fixed
2016-06-28 13:52:26 +03:00
Alexey Sedunov
68d0d84f50 References: Support implicit references to annotation method 'value'. Support Find Usages/Rename on these references
#KT-12657 Fixed
2016-06-28 13:52:24 +03:00
Alexey Sedunov
81a8e6a699 Rename: Suggest renaming both property accessors with matching @JvmName when renaming one of them from Java
#KT-12759 Fixed
2016-06-28 13:52:22 +03:00
Alexey Sedunov
4ec4914504 Light Classes: Implement light elements for 'extends'/'implements' reference lists. Support adding/removing of super type list entries via light elements.
Fix exception on applying "Convert to class" intention to Java interface with Kotlin inheritor(s)
 #KT-11281 Fixed
2016-06-28 13:52:21 +03:00
Alexey Sedunov
6274c6b7c5 Implement Abstract Member: Navigate to the generated declaration
#KT-12290 Fixed
2016-06-28 13:52:20 +03:00
Alexey Sedunov
dc90ec9740 Create from Usage: Fix exception in "Create class" quickfix applied to unresolved references in type arguments. Create class body when necessary
#KT-12777 Fixed
2016-06-28 13:52:18 +03:00
Alexey Sedunov
f4486beb19 Override/Implement: Implement JavaDoc/KDoc copying
#KT-8682 Fixed
 #KT-12735 Fixed
2016-06-28 13:52:17 +03:00
Nikolay Krasko
e8050656ad Remove old hack: Idea doesn't expect increasing modification count during highlighting (KT-12526)
addImport() is called from ImportAllMembersIntention.isApplicableTo() and increasing modification count during highlighting ruins Idea expectations.

 #KT-12526 Fixed
2016-06-27 21:11:55 +03:00
Michael Bogdanov
2b6f07563c Fix for KT-12106: import static of reified companion object method throws IllegalAccessError
(cherry picked from commit d8fd2c3)
2016-06-27 12:37:27 +03:00
Alexey Sedunov
a841f87142 Minor: Rename jetRefactoringUtil.kt -> kotlinRefactoringUtil.kt 2016-06-27 11:12:27 +03:00
Alexey Sedunov
4441323b45 Minor: Drop unused variable 2016-06-27 11:12:25 +03:00
Alexey Sedunov
4a0a440a7d Copy: Filter out invalid elements to prevent PsiInvalidElementAccessException
#KT-12747 Fixed
2016-06-27 11:12:24 +03:00
Alexey Sedunov
1912783f94 Create from Usage: Suggest "Create function/secondary constructor" quick fix on argument type mismatch
#KT-11864 Fixed
2016-06-27 11:12:23 +03:00
Alexey Sedunov
3373d544de Rename: Qualify references to members of enum companions in case of conflict with enum entries
#KT-10033 Fixed
2016-06-27 11:12:21 +03:00
Alexey Sedunov
a5a5fe5d50 Inspections: Don't show "Package directive doesn't match file location" in injected code
#KT-12376 Fixed
2016-06-27 11:12:20 +03:00
Alexey Sedunov
d9584d2788 Rename: Preserve "Search in comments and strings" and "Search for text occurrences" settings in Rename dialog
#KT-8510 Fixed
2016-06-27 11:12:19 +03:00
Alexey Sedunov
2ea3980e78 Minor: Fix changelog 2016-06-27 11:12:17 +03:00
Alexey Sedunov
28b9d3e835 Rename: Record new name for Kotlin function which is being renamed via light method
#KT-12732 Fixed
2016-06-27 11:12:16 +03:00
Alexey Sedunov
911afee1a6 Rename: Process property accesor usages (Java) in comments and string literals
#KT-9435 Fixed
2016-06-27 11:12:15 +03:00
Alexey Sedunov
84ca283411 Rename: Add name suggestions to Rename dialog
#KT-6372 Fixed
2016-06-27 11:12:14 +03:00
Alexey Sedunov
29e450e5fe Rename: Rename overridden property and all its accessors on attempt to rename overriding accessor in Java code
#KT-4791 Fixed
2016-06-27 11:12:12 +03:00
Alexey Sedunov
9ba8ecd368 Rename: Fix rename of ambiguous import reference to class/function when some referenced declarations are not changed
#KT-6663 Fixed
2016-06-27 11:12:10 +03:00
Alexey Sedunov
7d6466dafd Rename: Implement conflict analysis for parameters. Qualify property references to avoid shadowing by parameters
#KT-10687 Fixed
2016-06-27 11:12:09 +03:00
Alexey Sedunov
8989ccc110 Rename: Implement Rename conflict analysis for classes. Qualify class references to resove rename conflicts when possible
#KT-8611 Fixed
 #KT-8562 Fixed
2016-06-27 11:12:08 +03:00
Alexey Sedunov
e23029d26b Rename: Implement Rename conflict analysis for properties. Qualify property references to resove rename conflicts when possible
#KT-8732 Fixed
 #KT-12543 Fixed
2016-06-27 11:12:05 +03:00
Ilya Gorbunov
3274cc586e Change snapshot versions of dependencies in gradle tests for 1.0.x branch 2016-06-25 14:14:49 +03:00
Ilya Gorbunov
1039545f25 Update changelog for 1.0.3: section about new compiler options
(cherry picked from commit 1e66147e91)
2016-06-25 09:31:29 +03:00
Ilya Gorbunov
2d15e7851d Minor: remove unused commonArgs
(cherry picked from commit 71476d5d43)
2016-06-25 09:30:33 +03:00
Ilya Gorbunov
18b21e292c Rename -jdk compiler option to -jdk-home (jdkHome), add jdk path validation.
(cherry picked from commit 7c5c4610e8)

# Conflicts:
#	compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt
2016-06-25 09:30:30 +03:00
Ilya Gorbunov
e1ebaae077 Add tests for 'jdk' compiler option for CLI, maven and gradle.
(cherry picked from commit 13016cae93)
2016-06-25 09:28:40 +03:00
Ilya Gorbunov
2f57c48873 CLI: Allow to specify JDK for classpath building with '-jdk' compiler argument.
Maven: support jdk parameter linked to kotlin.compiler.jdk property.
Gradle: support jdk compiler option.

(cherry picked from commit 644df89dc9)
2016-06-25 09:28:38 +03:00
Ilya Gorbunov
bfb1a1ecb5 Maven: support languageVersion parameter, linked to property kotlin.compiler.languageVersion.
(cherry picked from commit 1157e052ee)
2016-06-25 09:28:36 +03:00
Ilya Gorbunov
6a61dddc33 Maven and Gradle tests for jvmTarget parameter.
(cherry picked from commit 848599e940)
2016-06-25 09:28:34 +03:00
Ilya Gorbunov
3c4009305d Maven: support jvmTarget parameter in Maven, linked to property kotlin.compiler.jvmTarget.
Gradle: support jvmTarget compiler option.

(cherry picked from commit 3f3a3820b8)
2016-06-25 09:28:32 +03:00
Denis Zharkov
797a36a73f Add changelog line about NPE in starProjectionType 2016-06-24 17:20:45 +03:00
Denis Zharkov
9c39ec682e Use 'Any?' instead of throwing NPE when calculating star projection type
It's a quite hacky solution, but the choice seems to be conservative, so these types can be refined later

 #KT-9597 Fixed
2016-06-24 17:13:17 +03:00
Zalim Bashorov
ee985e623a JS: fix that kotlin's breakpoints don't work with JavaScript debugger
#KT-12773 Fixed
(cherry picked from commit 47e1ff3)
2016-06-24 15:48:55 +03:00
Alexander Udalov
0d5e4ee98e Add release notes for 1.0.2-1
(cherry picked from commit 1ebcd193a2)
2016-06-23 17:39:22 +03:00
Stanislav Erokhin
a95f890e27 KT-12623 Fixed ISE: Type parameter ... not found for public fun ...
#KT-12623 Fixed
Also EA-72653 fixed.
(cherry picked from commit 7c2825b)
2016-06-23 02:07:21 +03:00
Stanislav Erokhin
54f060ba1b Add debug info for EA-79267 - (T is not T) assert: TypeCheckingProcedure.checkSubtypeForTheSameConstructor
(cherry picked from commit 065c4e1)
2016-06-22 19:43:29 +03:00
Stanislav Erokhin
b9c6f546b0 KT-11679 Fixed exception at ResolvedCallImpl.getArgumentMapping()
#KT-11679 Fixed
Also fixed EA-75913 EA-78908
(cherry picked from commit ad285d5)
2016-06-22 19:43:25 +03:00
Pavel V. Talanov
d2ff82073c Update Changelog for 1.0.3-eap-58 2016-06-22 14:09:30 +03:00
Nikolay Krasko
2b694c9f31 Revert accidentally removed lines in changelog 2016-06-22 01:10:51 +03:00
Nikolay Krasko
2ef3d7eeae Add notes about fixes in formatter 2016-06-21 23:36:52 +03:00
Alexey Tsvetkov
a8b88b64dd Prevent usage of deprecated constructor
This removes warning with gradle 2.14.
Before 2.14 constructor was removed, then it was returned and deprecated.

    #KT-12786 fixed
2016-06-21 20:25:18 +03:00
Alexey Tsvetkov
aedbc79c75 Fix CCE when creating kotlin-js task in gradle plugin 2016-06-21 20:25:15 +03:00
Pavel V. Talanov
706f61295f Add Kotlin "Tips of the day"
Content from https://youtrack.jetbrains.com/issue/DOC-4026
2016-06-21 19:55:23 +03:00
Nikolay Krasko
2866497203 Add space after a semicolon only if there's another child at the same line 2016-06-21 19:40:21 +03:00
Kirill Rakhman
b48c039165 Format spaces before enum arguments
Fixes #KT-12714
2016-06-21 19:40:20 +03:00
Kirill Rakhman
43eb65fe0f Format spaces around semicolon
Fixes #KT-12689
2016-06-21 19:40:19 +03:00
Kirill Rakhman
b83a58b16b Format spaces after annotation in annotated expression
Fixes #KT-12781
2016-06-21 19:40:17 +03:00
Kirill Rakhman
99a95f7988 Format spaces inside curly braces in string template
Fixes #KT-12791
2016-06-21 19:40:14 +03:00
Kirill Rakhman
cfdb98558a Format spaces around in keyword
Fixes: KT-10680
2016-06-21 19:40:11 +03:00
Yan Zhulanow
4940d3ba12 Fix KT-12173 (Kotlin Lint False Positive for "Toast created but not shown" inside SAM adapter). 2016-06-21 18:34:15 +03:00
Yan Zhulanow
710564805c KT-12681 (Lint: run from main menu / Analyze: Kotlin inspections reports only java source)
Cause we've copied Lint diagnostics to the Kotlin project, there's no harm in making them Kotlin-only.
2016-06-21 18:34:15 +03:00
Yan Zhulanow
b34ee4ebb8 KT-12674 "Calling new methods on older versions" errors for inlined constants
Inlined constants from Java should not be detected.
2016-06-21 18:34:15 +03:00
Yan Zhulanow
c0db8e0c0b KT-12023 Kotlin Lint: Cast doesn't trigger minSdk error
Check Kotlin as/is types.
2016-06-21 18:34:15 +03:00
Yan Zhulanow
2744309af1 Make infix modifier diagnostic message more informative (KT-12589) 2016-06-21 18:34:15 +03:00
Yan Zhulanow
b54b0daf0a Load Gradle subplugin artifacts from the root project buildscript classpath as well (KT-11885) 2016-06-21 18:34:15 +03:00
Yan Zhulanow
cdedf1dfed KT-12015 (Kotlin Lint False Positive for Bundle.getInt())
Java approach is not sufficient here, in Kotlin receivers can be implicit.
Use Kotlin extension/dispatch receivers to figure out the receiver type for our method call.
2016-06-21 18:34:15 +03:00
Yan Zhulanow
80f5852eb4 Android Extensions: Fix KT-10969 (NullPointerException when finding view in Fragment if getView() is null) 2016-06-21 18:34:15 +03:00
Mikhail Glukhikh
cb8fe96435 Replace explicit parameter with it : correct handling of it from outer lambda #KT-12437 Fixed 2016-06-21 18:00:36 +03:00
Mikhail Glukhikh
4e2d35ae8b Fix for EA-81477 : correct handling of a property without initializer (but with e.g. getter) 2016-06-21 18:00:31 +03:00
Valentin Kipyatkov
2ff53e67d9 KT-12369 Completion: pressing dot after class name should not cause insertion of constructor call
#KT-12369 Fixed
(cherry picked from commit 0bc5007)
2016-06-21 17:11:13 +03:00
Valentin Kipyatkov
876a07fdcc Fixed test so that it really tests what's intended
(cherry picked from commit b9719bf)
2016-06-21 17:11:06 +03:00
Valentin Kipyatkov
cd5974075e KT-12669 Completion should show variant with () when there is default lambda
#KT-12669
(cherry picked from commit eb1dbfc)
2016-06-21 17:10:59 +03:00
Valentin Kipyatkov
571eead43a KT-12447 Don't use CompletionProgressIndicator in Kotlin plugin
#KT-12447 Fixed
(cherry picked from commit 962a8f9)
2016-06-21 17:10:53 +03:00
Valentin Kipyatkov
185db4c4d5 KT-12427 Completion doesn't work for "@receiver:" annotation target
#KT-12427 Fixed
(cherry picked from commit 4e16d67)
2016-06-21 17:10:46 +03:00
Valentin Kipyatkov
0819f2c1f4 KT-12328 Qualified function name inserted when typing before "if"
#KT-12328 Fixed
(cherry picked from commit 1413a3f)
2016-06-21 17:10:38 +03:00
Valentin Kipyatkov
c411141e82 Fixed extension properties not completed after "get"
(cherry picked from commit 2ec81f4)
2016-06-21 17:10:32 +03:00
Valentin Kipyatkov
8df023dec1 No need to specially handle extensions from current file anymore (since searchScope for KotlinIndicesHelper includes current file)
(cherry picked from commit 88bf7f8)
2016-06-21 17:10:25 +03:00
Valentin Kipyatkov
619dccc80e KT-11975 Invert if-condition intention does not simplify "is" expresssion
#KT-11975 Fixed
(cherry picked from commit 1b16ff6)
2016-06-21 17:10:18 +03:00
Valentin Kipyatkov
b1a0b07357 KT-9166 Code completion does not work for synthetic extensions on typing "g"
#KT-9166 Fixed
(cherry picked from commit e8d518a)
2016-06-21 17:10:07 +03:00
Valentin Kipyatkov
af4f5f603e KT-12299 Completion: incorrect priority of property foo over method getFoo in Kotlin-only code
#KT-12299 Fixed
(cherry picked from commit e04c6d1)
2016-06-21 17:10:00 +03:00
Valentin Kipyatkov
49d8daa376 KT-12124 No code completion for a java property in a specific position
#KT-12124 Fixed
(cherry picked from commit 97ad0d5)
2016-06-21 17:09:53 +03:00
Valentin Kipyatkov
8b3ec4c4b8 Moved method getSmartCastVariantsWithLessSpecificExcluded() into IDE
(cherry picked from commit f6c8ac7)
2016-06-21 17:09:45 +03:00
Valentin Kipyatkov
754e97815a Minor code improvements after conversion
(cherry picked from commit b6c54ac)
2016-06-21 17:09:38 +03:00
Valentin Kipyatkov
25e8704d32 Conversion to Kotlin (step 2)
(cherry picked from commit 83714ae)
2016-06-21 17:09:31 +03:00
Valentin Kipyatkov
4f41cdd771 Conversion to Kotlin (step 1)
(cherry picked from commit ccd7ae9)
2016-06-21 17:09:25 +03:00
Valentin Kipyatkov
b639f71fb8 Added test for KT-12124
(cherry picked from commit fe29530)
2016-06-21 17:09:18 +03:00
Valentin Kipyatkov
2f70b2f52c KT-12284 "Add braces to else" has too wide range
#KT-12284 Fixed
(cherry picked from commit 9afb0d5)
2016-06-21 17:09:10 +03:00
Valentin Kipyatkov
94d4b3f336 Refactored replace with safe/dot call fixes
(cherry picked from commit 618b1b9)
2016-06-21 17:09:04 +03:00
Mikhail Glukhikh
d4116b54ac Can be parameter inspection: delete only particular modifiers (e.g. no vararg) #KT-12768 Fixed 2016-06-21 16:43:50 +03:00
Mikhail Glukhikh
886cf21cc9 Can be constructor property: comment saver introduced to retain comments; unbound comments now added before, not after 2016-06-21 16:43:46 +03:00
Mikhail Glukhikh
4d44e1553c Minor fixes: can be constructor property 2016-06-21 16:43:37 +03:00
Mikhail Glukhikh
6967711c52 Code cleanup: "can be constructor property" applied 2016-06-21 16:43:26 +03:00
Alexey Andreev
9f3b7003e3 KT-12417: add support of RTTI against K(Mutable)Property* types 2016-06-21 15:44:07 +03:00
Pavel V. Talanov
9ca81d5b56 Update changelog for 1.0.3 2016-06-21 15:17:28 +03:00
Sergey Mashkov
942f6d45cd KT-12512 "Different IDE and Maven plugin version" inspection is being invoked for non-tracked pom.xml files 2016-06-21 13:44:44 +03:00
Sergey Mashkov
0936bf7256 Fix EA-83601 - ISE: PomFile.<init> 2016-06-21 13:44:43 +03:00
Sergey Mashkov
7df72775b7 KT-12558 Configure Kotlin in Project: Maven: Undo could revert changes in all poms 2016-06-21 13:44:43 +03:00
Sergey Mashkov
df1231d75f Maven: script tag injects kotlin 2016-06-21 13:44:42 +03:00
Sergey Mashkov
6eb5a5100d KT-12568 Maven pom.xml: execution configuration: file path completion works only in some sub-elements 2016-06-21 13:44:42 +03:00
Dmitry Jemerov
99b24227ce Merge branch 'rr/yole/ea' into 1.0.3 2016-06-21 12:03:31 +02:00
Denis Zharkov
ffa04e11a8 Fix visibility check for dynamic members within protected method
#KT-11857 Fixed
2016-06-21 11:04:23 +03:00
Mikhail Glukhikh
31e8fe51a6 dangerousFlexibleTypeOrNull : minor refactoring 2016-06-20 21:44:16 +03:00
Mikhail Glukhikh
7cc6b9b910 Has platform type inspection is now intention-based 2016-06-20 21:44:12 +03:00
Mikhail Glukhikh
ed23aa9bc0 Introduce additional fixes & configurable problem range for intention-based inspection 2016-06-20 21:44:07 +03:00
Mikhail Glukhikh
b09b5a9a28 Specify type explicitly intention: now derived from self targeting range intention 2016-06-20 21:44:02 +03:00
Mikhail Glukhikh
a084c1d395 Has platform type : public API only option 2016-06-20 21:43:57 +03:00
Kirill
af1b26b993 Add quickfix tests for HasPlatformTypeInspection 2016-06-20 21:43:51 +03:00
Kirill Rakhman
00d8c26160 Implement inspection for declarations with implicit platform types #KT-12310 Fixed 2016-06-20 21:43:46 +03:00
Nikolay Krasko
21a32408cf Wrong delegation to delegation property in debugger when property defined in another module (KT-12678)
Different bytecode can be generated for delegated property and for non-delegated one. Backend inspects DELEGATED_PROPERTY_CALL to understand the property type, and expects that
this information had been already recorded into context. Frontend writes DELEGATED_PROPERTY_CALL into context during body resolve or type inference if type is not present.

Either way in debugger context it may happen that the DELEGATED_PROPERTY_CALL won't be written into context.

 #KT-12678
2016-06-20 21:14:52 +03:00
Alexander Udalov
3321e904b3 Check return type when locating method in reflection
#KT-11824 Fixed

(cherry picked from commit 311301f430)
2016-06-20 21:05:14 +03:00
Pavel V. Talanov
5e85e85a29 Create SyntheticMemberDescriptor interface
Implement this interface by sam adapters/constructors and use it in navigation

 #KT-11708 Fixed
2016-06-20 20:23:09 +03:00
Dmitry Jemerov
765bd44207 handle IOException from File.getCanonicalFile() (EA-83981 - NA: KotlinToJVMBytecodeCompiler.reportRuntimeConflicts) 2016-06-20 18:20:21 +02:00
Dmitry Jemerov
a77f4dfb8e VirtualFile.getParent() is nullable (EA-84222 - NPE: DecompiledFileWritingAccessProvider.isPotentiallyWritable) 2016-06-20 18:17:03 +02:00
Dmitry Jemerov
c3e38dd594 PsiElement.getNode() is nullable (EA-84534 - NPE: DocCommentConverterKt.content) 2016-06-20 18:15:23 +02:00
Alexander Udalov
21952a64d3 Update diagnostic tests ReadMe, explain tests with diagnostic arguments
(cherry picked from commit 0e881daba3)
2016-06-19 13:53:22 +03:00
Alexander Udalov
602b19bf90 Type-check reference to property with invisible setter to KProperty
#KT-12337 Fixed

(cherry picked from commit 6562a2db19)
2016-06-19 13:53:22 +03:00
Ilya Gorbunov
6804bd6985 Rearrange stdlib unit tests across packages.
Rearrange JS stdlib unit tests.

(cherry picked from commit c5a208f3eb)
2016-06-18 16:53:06 +03:00
Ilya Gorbunov
2044bc9f94 Remove obsolete and not relevant to stdlib tests
(cherry picked from commit d266f546f4)
2016-06-18 16:53:04 +03:00
Alexey Tsvetkov
0aa70fc3b5 Exclude resources dir from surefire test search 2016-06-17 20:14:33 +03:00
Alexander Udalov
6356957bfb Move get-protobuf later in update_dependencies
It invokes kotlinc, so should happen after the bootstrap compiler is downloaded

(cherry picked from commit 3fa87fe4de)
2016-06-17 17:24:59 +03:00
Mikhail Glukhikh
9a50a0b4b9 Elvis / if / when are now infer error type if it exists in one of their branches #KT-6665 Fixed 2016-06-17 16:03:58 +03:00
Mikhail Glukhikh
2eaaf9c14a Sealed class hierarchies are now correctly processed in when (by checking possible smart casts to nested sealed classes) #KT-10648 Fixed 2016-06-17 14:07:42 +03:00
Stanislav Erokhin
9a17999750 Create hack for exception about "Empty intersection for types".
Hackaround for KT-11266, EA-79963, EA-72093,  EA-79976.
2016-06-17 12:14:02 +03:00
Alexander Udalov
7d501714a3 Fix compilation 2016-06-16 18:02:17 +03:00
Alexander Udalov
761116563d Do not skip synthesized members when generating bridges
The condition here is obsolete since SAM adapters can no longer be overridden:
they are now extensions in another scope

 #KT-12708 Fixed

(cherry picked from commit de986ed051)
2016-06-16 17:02:25 +03:00
Alexander Udalov
f2e5d4b699 Report error on accidentally "overriding" wait/notify
#KT-7174 Fixed

(cherry picked from commit 79ecc9751b)
2016-06-16 17:01:45 +03:00
Mikhail Glukhikh
2db7562920 Inspection "can be primary constructor property" with relevant quick-fix #KT-8477 Fixed 2016-06-16 16:20:03 +03:00
Nikolay Krasko
7e2865f500 Implement isInheritor method with utility method that has special behaviour for anonymous classes 2016-06-16 14:18:16 +03:00
Nikolay Krasko
8069aca614 Implement copy methods for anonymous and enum entry light classes 2016-06-16 14:17:40 +03:00
Nikolay Krasko
4dbac59c6e Make Kotlin light class more like PsiAnonymousClassImpl
Avoid delegating to cls delegate in more places
2016-06-16 14:17:38 +03:00
Nikolay Krasko
32ee3f2934 Compare anonymous classes with psi only to avoid counting qualified name 2016-06-16 14:17:37 +03:00
Alexey Tsvetkov
b2851cdba8 Minor test fix 2016-06-15 20:30:16 +03:00
Alexey Tsvetkov
7c9a94d674 Ensure direcory for class file stubs always exists
This fixes the warning "classpath entry does not exist"

    #KT-12352 fixed
2016-06-15 20:06:18 +03:00
Alexey Tsvetkov
cc90e80794 Set friend modules for android gradle test tasks
This fixes the following issues:
1. When product flavors were used, android unit tests could not refer
to internal symbols from main source set.
2. Android instrumentation tests could not refer
to internal symbols from main source set

    #KT-11166 fixed
2016-06-15 20:06:18 +03:00
Zalim Bashorov
fad9a9decb JPS: don't consider that production target of module "B" is depends on test target of module "A" when "B" depends on "A"
#KT-12595 Fixed
2016-06-15 14:43:32 +03:00
Alexander Udalov
3c88ac45f6 Validate "-jvm-target" value in CLI, improve message
(cherry picked from commit 9548ab97251e79cebd1d580466678d52f0080454)
2016-06-15 14:24:02 +03:00
Mikhael Bogdanov
cd460987dc Support 'jvm-target' in CLI
(cherry picked from commit 3a8591a)
2016-06-15 14:15:13 +03:00
Dmitry Petrov
9c80f87794 KT-5075 Optimize array/collection indices usage in 'for' loop
Use specialized 'for' loop code generation strategy for loops over array indices and collection indices.
(cherry picked from commit a17b0dd)
2016-06-15 14:03:42 +03:00
Alexander Udalov
477b1cf151 Fix error in kapt on enum constructors with parameters
Do not skip writing the fictitious 'java/lang/Synthetic' annotation in KAPT
mode, because its absence makes ASM confuse indices of enum constructor
parameters (it cannot figure out that there are two additional parameters, name
and ordinal)

 #KT-12694 Fixed

(cherry picked from commit 99f4c7b6e7)
2016-06-14 22:08:25 +03:00
Nikolay Krasko
53e6139def Build output parser in separate module under 1.6 (KT-12159)
KotlinOutputParser accessed from gradle execution environment that can be started under Java 1.6.

 #KT-12159 Fixed
2016-06-14 19:41:14 +03:00
Nikolay Krasko
0c6602ab84 Add dependency to tests-common in j2k module 2016-06-14 16:43:17 +03:00
Alexander Udalov
ca66f1f29b Use protobuf with renamed packages, pack to IDEA plugin
Update GenerateProtoBuf.kt to also regexp-replace com.google.protobuf with
org.jetbrains.kotlin.protobuf in generated Java sources

 #KT-12581 Fixed

(cherry picked from commit 7e38b93d80)
2016-06-14 14:59:21 +03:00
Alexander Udalov
e195ae2516 Rename packages in protobuf-java binaries and sources
#KT-12581 In Progress

(cherry picked from commit 952a85414b)
2016-06-14 14:37:17 +03:00
Mikhail Glukhikh
ac8c749af8 Surround with null check : applicable also for TYPE_MISMATCH
(cherry picked from commit b173492)
2016-06-13 20:52:48 +03:00
Mikhail Glukhikh
15b39f7427 Wrap with safe let call : minor refactoring
(cherry picked from commit 10935ba)
2016-06-13 20:52:32 +03:00
Mikhail Glukhikh
2e38fbd274 Surround with null check : apply for ITERATOR_ON_NULLABLE
(cherry picked from commit 954952a)
2016-06-13 20:52:12 +03:00
Mikhail Glukhikh
e923f2ed42 Surround with null check : minor refactoring
(cherry picked from commit 7f77107)
2016-06-13 20:51:55 +03:00
Mikhail Glukhikh
2ffad4b5fa KT-11104 extra : name validator introduced for wrap with safe let call
(cherry picked from commit 230f73a)
2016-06-13 20:51:39 +03:00
Mikhail Glukhikh
18d6427ff2 KT-11104 extra : "wrap with safe let call" is now applicable for argument type mismatches
(cherry picked from commit 3c49b5f)
2016-06-13 20:51:17 +03:00
Mikhail Glukhikh
9fa7e0bc96 Quick-fix "wrap with safe let call" introduced #KT-11104 Fixed
(cherry picked from commit 47c1106)
2016-06-13 20:51:00 +03:00
Mikhail Glukhikh
d4f28855d5 Correct "Show type" on an invoked expression #KT-12671 Fixed
(cherry picked from commit f8b6ed2)
2016-06-13 20:50:42 +03:00
Mikhail Glukhikh
c0f6cee914 KT-11104 : quick fix "surround with null check"
(cherry picked from commit 90342ea)
2016-06-13 20:50:19 +03:00
Mikhail Glukhikh
e2c2f8e684 If to when: more accurate comment handling #KT-12649 Fixed
(cherry picked from commit 9470308)
2016-06-13 13:44:39 +03:00
Stanislav Erokhin
6003dda5e5 KT-10717 Type inference for lambda with local return
#KT-10717 Fixed
(cherry picked from commit 585dcbf)
2016-06-10 21:38:18 +03:00
Stanislav Erokhin
d6894e07b1 Add assertion for variable as operator call.
(cherry picked from commit da01e4a)
2016-06-10 21:29:21 +03:00
Stanislav Erokhin
873795ff54 Minor. removed several tests with error calls.
(cherry picked from commit 0324141)
2016-06-10 21:29:15 +03:00
Nikolay Krasko
d035645a8c j2k: minor fixes in KtLightClassForAnonymousDeclaration 2016-06-10 14:07:37 +03:00
Nikolay Krasko
dfa286394b j2k: actual convert KtLightClassForAnonymousDeclaration 2016-06-10 14:07:36 +03:00
Nikolay Krasko
3c963b040e j2k: rename KtLightClassForAnonymousDeclaration 2016-06-10 14:07:34 +03:00
Nikolay Krasko
f36180c33d Minor: clean up and reformat 2016-06-10 14:07:33 +03:00
Alexander Udalov
1b226d1d7a Fix toString() and reflectLambda() for lambdas with generic types in signatures
#KT-10771 Fixed

(cherry picked from commit 59342000ae)
2016-06-10 12:39:41 +03:00
Denis Zharkov
66530e5e7a Refactor function descriptors copy mechanism
Pull up CopyBuilder to interface and inline some custom usages

(cherry picked from commit e316ab2ee6)
2016-06-10 12:37:47 +03:00
Alexander Udalov
96f704c348 Implement copy in FunctionDescriptorImpl, call doSubstitute only in CopyConfiguration#build
(cherry picked from commit dc2972d99e)
2016-06-09 17:32:56 +03:00
Alexander Udalov
06032d33d4 J2K JavaElementCollectionFromPsiArrayUtil
(cherry picked from commit ee8ca0b850)
2016-06-09 17:29:44 +03:00
Alexander Udalov
4eeea9b960 Minor, move the Lombok hack a bit higher
(cherry picked from commit db3e0798c8)
2016-06-09 16:40:05 +03:00
Alexander Udalov
dcf42e2e4a Minor, drop java_generic_services option from .proto files
There are no service definitions in our .proto files, so this option had no
effect

(cherry picked from commit 3477f6ee85)
2016-06-09 16:23:52 +03:00
Alexander Udalov
ce3e98c8bf Minor, cleanup GenerateProtoBuf.kt
(cherry picked from commit aba1cc3d83)
2016-06-09 16:17:57 +03:00
Alexander Udalov
17b8bac308 J2K serialization: fix compilation and prettify
(cherry picked from commit 0c0a451d20)
2016-06-09 16:17:50 +03:00
Alexander Udalov
86a836432a J2K serialization: invoke automatic J2K conversion 2016-06-09 16:13:56 +03:00
Alexander Udalov
bea86db6b5 J2K serialization: move .java -> .kt 2016-06-09 16:12:08 +03:00
Alexander Udalov
9eff617bea Minor, remove 'depends' from kotlin-build-common-test Ant task
Similarly to other targets in build.xml, this simplifies manual partial
compilation of artifacts

(cherry picked from commit 3469e980cb)
2016-06-09 16:10:58 +03:00
Stanislav Erokhin
822071aecf KT-11778 Exception in Lombok plugin: Rewrite at slice FUNCTION
#KT-11778 Fixed.
EA-64051 Fixed.
(cherry picked from commit 4f943dc)
2016-06-09 14:23:32 +03:00
Pavel V. Talanov
3731e170e4 Update changelog for 1.0.3 2016-06-08 19:26:23 +03:00
Mikhail Glukhikh
aab4d9e8e2 Type parameter is considered capable of taking any value for the purpose of cast possibility check #KT-6611 Fixed
(cherry picked from commit 4b6b35d)
2016-06-08 17:48:00 +03:00
Mikhail Glukhikh
85a89cb80b CastDiagnosticsUtil.kt: converted to Kotlin
(cherry picked from commit 99acbf1)
2016-06-08 17:47:55 +03:00
Mikhail Glukhikh
1164dec297 CastDiagnosticsUtil.java --> CastDiagnosticsUtil.kt
(cherry picked from commit f3f7bff)
2016-06-08 17:47:51 +03:00
Pavel V. Talanov
ff82155f93 plugin.xml: Add dependency on java module
This restricts usage of plugin to IDEA and Android Studio
2016-06-08 17:43:15 +03:00
Alexander Udalov
35bc25577a Use empty list instead of ThrowingList in callable reference resolution
Clients of the call resolution do not expect to see a throwing list in call's
arguments, and it's wrong to make each of them check against the special case
that is the resolution of callable references.

Fixes EA-69901

(cherry picked from commit d8db769823)

Note that the test was NOT cherry picked from master because it depends on the
new language feature which is absent in 1.0.3
2016-06-08 15:05:03 +03:00
Alexey Sedunov
30ba7689db Minor: Fix compilation 2016-06-08 14:21:36 +03:00
Alexey Sedunov
2319ef2d8d Rename: Do not rename ambiguous references in import directives
#KT-6363 Fixed
(cherry picked from commit fe01035)
2016-06-08 12:11:00 +03:00
Alexey Sedunov
4526678cb4 Rename: Show more detailed element descriptions in Rename dialog
#KT-8544 Fixed
(cherry picked from commit 8ba1aff)
2016-06-08 12:10:45 +03:00
Alexey Sedunov
f4538bc3a6 Rename: Copy default values if function to be renamed inherits default values from some base function which is excluded from rename
#KT-9446 Fixed
(cherry picked from commit 9692c21)
2016-06-08 12:10:29 +03:00
Alexey Sedunov
2475dc5151 Rename: Implement automatic renamer for test classes
#KT-8512 Fixed
(cherry picked from commit 1885310)
2016-06-08 12:10:17 +03:00
Alexey Sedunov
388dadcf6d Rename: Do not show 'Rename overloads' options if target function has no
overloads. Consider extensions and members overloads if they have the same
recever class
 #KT-8541 Fixed
 #KT-8786 Fixed
(cherry picked from commit 42b71ae)
2016-06-08 12:10:08 +03:00
Alexey Sedunov
33a1efc624 Minor: Drop obsolete code
(cherry picked from commit 9b3f40e)
2016-06-08 12:09:59 +03:00
Alexey Sedunov
28ada3bf30 Light Classes: Drop obsolete constraint which prevents generation of light methods for local class members
#KT-8892 Fixed
(cherry picked from commit cf8cf37)
2016-06-08 12:09:48 +03:00
Alexey Sedunov
0b1a2194cb Rename: Do not replace Java references to synthetic component functions when renaming constructor parameter
#KT-9241 Fixed
(cherry picked from commit d27f3c0)
2016-06-08 12:09:39 +03:00
Alexey Sedunov
b35dd6b026 Rename: Allow typing any identifier without backquotes in Rename dialog
#KT-9444 Fixed
(cherry picked from commit 958b402)
2016-06-08 12:09:31 +03:00
Alexey Sedunov
a9830b2d28 Rename: @JvmName support
#KT-8044 Fixed
 #KT-9432 Fixed
(cherry picked from commit 96132fa)
2016-06-08 12:09:18 +03:00
Alexey Sedunov
18913925d9 Rename: Allow renaming class by constructor delegation call referencing primary constructor
#KT-8860 Fixed
(cherry picked from commit ff4c16d)
2016-06-08 12:08:50 +03:00
Alexey Sedunov
dcdf0cc33e Rename: Respect naming conventions in automatic variable rename
#KT-7851 Fixed
(cherry picked from commit e89e809)
2016-06-08 12:08:36 +03:00
Alexey Sedunov
3af211275b Rename: Skip read-only declarations when renaming parameters
#KT-10713 Fixed
(cherry picked from commit 400d6b5)
2016-06-08 12:08:28 +03:00
Alexey Sedunov
de1ff80486 Rename: Fixed in-place rename of Kotlin expression referring Java declaration
#KT-9157 Fixed
(cherry picked from commit 566ed01)
2016-06-08 12:08:20 +03:00
Alexey Sedunov
3eb80015c7 Rename: Quote non-identifier names in Kotlin references
#KT-9156 Fixed
(cherry picked from commit 691de67)
2016-06-08 12:08:09 +03:00
Alexey Sedunov
2205227f47 Refactoring: Move quoteIfNeeded function to idea-core
(cherry picked from commit a743098)
2016-06-08 12:08:00 +03:00
Alexey Sedunov
4b77ee5feb Create Test Intention: Fix RuntimeException on attempt to convert generated test class to Kotlin
#KT-12285 Fixed
 #EA-82281 Fixed
(cherry picked from commit 79f31cd)
2016-06-08 12:07:14 +03:00
Yan Zhulanow
6d21c3d145 Fix EA-81689
(cherry picked from commit 99b6194)
2016-06-07 21:17:34 +03:00
Alexander Udalov
23b7bb8fba Inline PrintingMessageCollector#PLAIN_TEXT_TO_SYSTEM_ERR
Otherwise 'hasErrors' flags was not cleared between subsequent runs of tests
which were using this message collector

(cherry picked from commit e3164119c1)
2016-06-07 21:12:39 +03:00
Nikolay Krasko
f03816ef1b Support Idea 163 branch 2016-06-07 19:29:44 +03:00
Kirill Rakhman
cb696b31ce Formatter: handle spaces before value arguments list (KT-12634)
#KT-12634 Fixed
2016-06-07 19:29:44 +03:00
Alexey Tsvetkov
2ae4d2a2fb Minor fixes of android test project 2016-06-07 19:21:55 +03:00
Jake Wharton
470600c2ef Add support for the Android test plugin.
#KT-11767 fixed
2016-06-07 19:21:55 +03:00
Yan Zhulanow
cddcf025b5 Fix EA-80764. Do not try to get the resource manager for the disposed module
(cherry picked from commit c3bd243)
2016-06-07 18:38:59 +03:00
Yan Zhulanow
51015965f2 Fix EA-82394. PsiType.getClassName() can return null. Return "<anonymous type>" in that case.
(cherry picked from commit 8be1335)
2016-06-07 18:38:56 +03:00
Yan Zhulanow
37dc0aeeac Fix EA-82166. NPE. loadModel() can return null, and it's a bad idea to call methods on a null pointer.
(cherry picked from commit cf033d0)
2016-06-07 18:38:53 +03:00
Yan Zhulanow
2179ee82a9 Fix EA-82449. Do not run Lint diagnostics if the project is already disposed
(cherry picked from commit 98b2899)
2016-06-07 18:38:50 +03:00
Yan Zhulanow
696475e6bf KT-12387 Fix Performance problem with Lint in IDE
Call checkCanceled() before running Lint diagnostics (UastScanner)
(cherry picked from commit c6e328a)
2016-06-07 18:38:47 +03:00
Yan Zhulanow
dbc54e2c52 Fix #KT-12047 (Kotlin Lint: "Missing @JavascriptInterface on methods" does not report anything)
(cherry picked from commit 61e8e01)
2016-06-07 18:38:44 +03:00
Yan Zhulanow
5c78acc38c Fix #KT-12015 (Kotlin Lint False Positive for Bundle.getInt()).
Android firstly checks API version against the function call receiver type, so we should do the same to be consistent.
(cherry picked from commit c3d01ec)
2016-06-07 18:38:40 +03:00
Pavel V. Talanov
dd4c370c57 Changelog for 1.0.3: delete empty 1.1 section 2016-06-07 17:16:40 +03:00
Pavel V. Talanov
421ea3b0c5 Changelog, minor: merge duplicating JS sections 2016-06-07 17:15:23 +03:00
Pavel V. Talanov
f6ad3d92f5 Update changelog for 1.0.3 2016-06-07 17:06:11 +03:00
Dmitry Jemerov
5675b8b4f6 search for Kotlin convention usages of Java methods
#KT-5960 Fixed
(cherry picked from commit 060c285)
2016-06-07 14:54:35 +02:00
Dmitry Jemerov
87d07924da when finding usages of parameter of annotation class primary constructor, search also for light method generated from that parameter
#KT-9399 Fixed
(cherry picked from commit 7e2ce2d)
2016-06-07 14:54:28 +02:00
Alexey Andreev
e45e3dd652 JS/Inliner: fix build 2016-06-07 12:24:55 +03:00
Alexey Andreev
0f1e21cdf8 JS/Inlining: in RedundantStatementElimination remove unnecessary side effect check for binary expressions 2016-06-07 12:24:54 +03:00
Alexey Andreev
5ad50f837a JS/Inlining: rename IneffectiveStatementElimination to RedundantStatementElimination 2016-06-07 12:24:54 +03:00
Alexey Andreev
3cb1a71b75 JS/Inlining: minor improvements and clarifications after code review. Test whether expression without side effect does not prevent to relocate another expressions 2016-06-07 12:24:54 +03:00
Alexey Andreev
2166547123 JS/Inlining: change sideEffects metadata to take three values: producing side effect, dependding on side effect and purity 2016-06-07 12:24:53 +03:00
Alexey Andreev
0936839410 JS/Inlining: improve test for removal of binary expresions without side effect, add tests for removal of a reference to a function parameter 2016-06-07 12:24:53 +03:00
Alexey Andreev
c0d094b1e3 JS/Inlining: refactor TemporaryVariableElimination 2016-06-07 12:24:52 +03:00
Alexey Andreev
654700694a JS/Inlining: refactor IneffectiveStatementElimination 2016-06-07 12:24:52 +03:00
Alexey Andreev
e7b7628f6c JS/Inlining: clarify why it's necessary to remove expression statements like a[b] 2016-06-07 12:24:51 +03:00
Alexey Andreev
a304ffd0c9 JS/Inlining: in temporary variable elimination don't treat FQN without side effects as trivial, i.e. disable moving these vars freely across function body 2016-06-07 12:24:51 +03:00
Alexey Andreev
b983312d0a JS/Inlining: minor simplifications after code review 2016-06-07 12:24:51 +03:00
Alexey Andreev
53ce2d0446 JS/Inlining: refactor TemporaryAssignmentElimination, add more tests 2016-06-07 12:24:50 +03:00
Alexey Andreev
3e19c09d57 JS/Inlining: add test case for KT-10931 2016-06-07 12:24:50 +03:00
Alexey Andreev
2b6ddb1608 JS/Inlining: minor code style fixes 2016-06-07 12:24:49 +03:00
Alexey Andreev
54f59fdc3d JS/Inlining: in function call like fn() extract fn to a local variable, since fn can be access to property with side effects. Add tests to prove that evaluation order became proper in certain cases. Fix KT-11711, KT-7674, KT-7043 2016-06-07 12:24:49 +03:00
Alexey Andreev
2486da41d8 JS/Inlining: mark closure constructors as free from side effects 2016-06-07 12:24:48 +03:00
Alexey Andreev
2ab89ea65c JS/Inlining: in temporary variable elimination improve moving of some expressions which are provably pure 2016-06-07 12:24:48 +03:00
Alexey Andreev
dda6330be8 JS/Inlining: when generating expression for default property accessor, mark this expression as side effect free, so optimizer has opportunity to move it 2016-06-07 12:24:45 +03:00
Alexey Andreev
78f4f20080 JS/Inlining: fix broken evaluation order after applying temporary variable elimination 2016-06-07 12:24:09 +03:00
Alexey Andreev
00ce8b3fc1 JS/Inlining: in expression like f(g()), where *f* is inline, don't treat g() as a lambda constructor 2016-06-07 12:24:09 +03:00
Alexey Andreev
78d62b2985 JS/Inlining: introduce removal of expression statements without side effects 2016-06-07 12:24:08 +03:00
Alexey Andreev
909bc0161c JS/Inlining: introduce removal of unused variables 2016-06-07 12:24:08 +03:00
Alexey Andreev
34dfadd278 JS/Inlining: in temporary variable elimination introduce better recognition of FQNs without side effects 2016-06-07 12:24:08 +03:00
Alexey Andreev
e8a92150b4 JS/Inlining: always create temporary variables to alias expressions in following cases:
* when decomposing expression that contains inline calls, alias all subexpressions
* when substituting arguments to inline call
* for value returned from inline function.

Instead, rely on dedicated optimization pass. Improve lookup of function to inline, since the old one relied on immediate optimizations. Give more hints to optimizer.

This should make inlining more stable in different hard-to-reproduce corner cases with evaluation order.
2016-06-07 12:24:07 +03:00
Alexey Andreev
a72d63a8c9 JS/Inlining: fix bug in temporary assignment elimination which causes excess removal of assignment statement. When there is a set of temporary variables that receive same value in different execution branches, remove them carefully so that at least one (and, preferably, at most) remains in each branch. 2016-06-07 12:24:02 +03:00
Valentin Kipyatkov
72f6f9b5d7 KT-12260 ISE while replacing an operator with safe call
#KT-12260 Fixed
(cherry picked from commit 3f82cc9)
2016-06-06 15:11:27 +03:00
Alexander Udalov
2224702216 Minor, make CapturedParamInfo#skipInConstructor immutable
(cherry picked from commit 390b78b7f7)
2016-06-06 13:32:36 +03:00
Alexander Udalov
ac32cd83c1 Minor, delete CapturedParamOwner
(cherry picked from commit b370ac0b37)
2016-06-06 13:32:34 +03:00
Alexander Udalov
07ea37022a Cleanup inline codegen classes
Fix warnings, typos, formatting, break long lines, remove unused, add
nullability annotations, inline small methods used only once

(cherry picked from commit e148dcdee7)
2016-06-06 13:32:26 +03:00
Dmitry Jemerov
f74bd75dfa don't quote empty package name
(cherry picked from commit 6a1ffc8)
2016-06-03 16:28:48 +02:00
Dmitry Jemerov
a7074fe7a8 fix compilation 2016-06-03 15:11:25 +02:00
Dmitry Jemerov
cacbd4c553 change implementation of 'new file' action to support escaping the package name and creating directory/package hierarchy
#KT-8362 Fixed
 #KT-11328 Fixed
(cherry picked from commit 8b30e7e)
2016-06-03 14:19:54 +02:00
Dmitry Jemerov
a475da5256 de-i18n
(cherry picked from commit 5f89274)
2016-06-03 14:19:47 +02:00
Dmitry Jemerov
5d63e2346f NewKotlinFileAction: J2K
(cherry picked from commit 28100be)
2016-06-03 14:19:37 +02:00
Dmitry Jemerov
713fdcd409 NewKotlinFileAction: rename to .kt
(cherry picked from commit 2ee03a7)
2016-06-03 14:19:31 +02:00
Dmitry Jemerov
82a7fc6c29 show new icon for Kotlin annotations in structure view (KT-12516)
(cherry picked from commit 349376c)
2016-06-03 14:19:19 +02:00
Dmitry Jemerov
52a97a0b19 can't close contents in Kotlin Bytecode toolwindow (KT-9797)
(cherry picked from commit 987b48d)
2016-06-03 14:19:04 +02:00
Pavel V. Talanov
1938b436a1 Update changelog for 1.0.3 2016-06-02 19:19:41 +03:00
Mikhael Bogdanov
c70cfd28ca Don't generate unnecessary checkcast to java.lang.Number
(cherry picked from commit 092be8c)
2016-06-02 16:24:44 +03:00
Mikhael Bogdanov
67db7ab151 Fix for KT-12582: "VerifyError: Bad local variable type" caused by explicit loop variable type
#KT-12582 Fixed
(cherry picked from commit a6cf169)
2016-06-02 16:24:41 +03:00
Mikhael Bogdanov
7a76e4e38b Disabled several tests on android
(cherry picked from commit e7f9d34)
2016-06-02 16:24:38 +03:00
Mikhael Bogdanov
03040a71f3 Small refactoring in constant processing
(cherry picked from commit c7d97c6)
2016-06-02 16:24:36 +03:00
Mikhail Glukhikh
4c7e596897 Quick fix "add !!" for SMARTCAST_IMPOSSIBLE in certain situations
(cherry picked from commit 33b6780)
2016-06-02 16:13:17 +03:00
Mikhail Glukhikh
60fb5c7f29 Convert to expression body: take nested whens into account
(cherry picked from commit 9f819b1)
2016-06-02 16:12:57 +03:00
Mikhail Glukhikh
b9d630c7ac Convert to expression body is forbidden on single non-exhaustive when statement with Unit result #KT-12502 Fixed
(cherry picked from commit 2350caf)
2016-06-02 16:12:45 +03:00
Mikhail Glukhikh
0b6adb5c1e "Make abstract" is no longer applicable to object / enum entry members #KT-3797 Fixed
(cherry picked from commit 91ce8cc)
2016-06-02 16:12:32 +03:00
Nikolay Krasko
e57427a246 Remove forgotten import 2016-06-02 15:07:52 +03:00
Nikolay Krasko
d48294e8c7 NoSuchFieldError in Evaluate Expression on a property of a derived class (KT-12206)
#KT-12206 Fixed

Conflicts:
	compiler/backend/src/org/jetbrains/kotlin/codegen/JvmCodegenUtil.java
2016-06-02 14:50:23 +03:00
Kirill Rakhman
944a4446ff Formatter: handle spaces between class name and type parameters (#875)
Fixes #KT-12446
(cherry picked from commit c24960f)
2016-06-01 20:23:11 +02:00
Alexander Udalov
022ef6410d Drop isAbsoluteInRootPackage from stubs
(cherry picked from commit 7eafae1936)
2016-06-01 19:33:45 +03:00
Alexander Udalov
3951b6f719 Drop undocumented absolute name specification feature with 'package.'
(cherry picked from commit 1339286261)
2016-06-01 19:32:21 +03:00
Alexey Tsvetkov
96e2deab25 Minor: fix snapshot version in gradle test 2016-06-01 16:45:21 +03:00
Alexey Tsvetkov
5872aeb375 Shade in kotlin-build-common-test 2016-05-31 22:20:16 +03:00
Alexey Tsvetkov
74f7e9f955 Shade in kotlin-android-extensions 2016-05-31 22:20:16 +03:00
Alexey Tsvetkov
caf87fbab2 Shade in kotlin-compiler-embeddable
Now kotlin gradle plugin is compatible with android gradle plugin 2.2

     #KT-12478 fixed
     #KT-12431 fixed
     #KT-12406 fixed
2016-05-31 22:20:16 +03:00
Alexey Tsvetkov
782f4bffbf Set idea.io.use.nio2=true every build on windows
Otherwise (setting property once in static block) gradle daemon might clear system properties

     #KT-11770 fixed
2016-05-31 22:20:16 +03:00
Mikhael Bogdanov
a020870de3 Fix for KT-12200: initial property assignment ignored
#KT-12200 Fixed
(cherry picked from commit 0f1589f)
2016-05-31 15:29:03 +03:00
Alexey Andreev
bff1963f9e KT-11960: add test for case of instantiating inner class of a local class 2016-05-31 15:25:40 +03:00
Alexey Andreev
1bcc173e36 KT-11960 Fix case of instantiation of local class via its inner class or via nested lambda. Move tests to more appropriate location. Fix bug in blackbox codegen generator for JVM, which does not allow to suppress tests. 2016-05-31 15:25:40 +03:00
Alexey Andreev
9b59d0de7a KT-11960 Minor code style fixes 2016-05-31 15:25:40 +03:00
Alexey Andreev
1124fddb9e KT-11960 Fix for data classes 2016-05-31 15:25:39 +03:00
Alexey Andreev
55b158f7d5 KT-11960 Fix for case when class instantiates itself 2016-05-31 15:25:39 +03:00
Alexander Udalov
d6addc4ea5 Keep Native2AsciiCharsetProvider from being stripped by proguard
#KT-12549 Fixed

(cherry picked from commit a300dee61f)
2016-05-31 14:28:44 +03:00
Kirill Rakhman
743ee4f278 Formatter: handle spaces around 'is' keyword (#874)
Fixes #KT-12548
(cherry picked from commit 93ebb3d)
2016-05-30 19:36:53 +02:00
Alexander Udalov
e14efcebc0 Fix compilation of kotlin-maven-plugin
(cherry picked from commit ec8c8da142c4325100dba64da5aaf04a9f405177)
2016-05-30 15:46:04 +03:00
Alexey Sedunov
886de1d9bf Spring Support: Fixed rename of custom-named beans specified with Kotlin annotation
#KT-12096 Fixed
(cherry picked from commit ec0f21c)
2016-05-30 15:38:32 +03:00
Alexey Sedunov
cee494eaf9 Spring Support: Automatic configuration by @Import and @ComponentScan ("basePackages"/"basePackageClasses")
#KT-12135 Fixed
 #KT-12139 Fixed
(cherry picked from commit 076e31c)
2016-05-30 15:38:16 +03:00
Alexey Sedunov
560b7c5be3 Spring Support: Implement @ComponentScan inspection
#KT-12465 Fixed
(cherry picked from commit 781a1e0)
2016-05-30 15:37:58 +03:00
Alexey Sedunov
9717eb5172 Code Insight: Implement package references inside of string literals
#KT-12136 In Progress
(cherry picked from commit d69140b)
2016-05-30 15:37:17 +03:00
Alexey Sedunov
0d97f96b0e Light Classes: Consider FakeFileForLightClass instances equivalent if they correspond to the light classes with common KtFile
#KT-12117 Fixed
(cherry picked from commit d52e62b)
2016-05-30 15:37:06 +03:00
Mikhail Glukhikh
bfbde9042d Simplify for intention: apply name validator to prevent conflicts
(cherry picked from commit 7a24429)
2016-05-30 14:44:21 +03:00
Mikhail Glukhikh
d07b0fcb8d Simplify for intention: applicable of any numbers of properties used #KT-10779 Fixed
(cherry picked from commit 792b37b)
2016-05-30 14:43:49 +03:00
Alexander Udalov
452932b55c Minor, update ChangeLog with '-language-version'
(cherry picked from commit fbd671c158)
2016-05-30 13:52:27 +03:00
Mikhail Glukhikh
dd6da009d9 Attach "add remaining branches" and "add else branch" fixes to NON_EXHAUSTIVE_WHEN warning #KT-12503 Fixed
(cherry picked from commit c26d7e0)
2016-05-30 12:34:38 +03:00
Alexander Udalov
461fdad5df Minor, add comments on declarations used in Eclipse plugin
(cherry picked from commit 68c5e8e190)
2016-05-27 19:41:42 +03:00
Alexander Udalov
b2f428d5b6 Minor, make Services#get return type nullable
(cherry picked from commit a95568eedf)
2016-05-27 19:41:39 +03:00
Alexander Udalov
6c9cdd82d3 Fix project compilation after introduction of bound references
`java` in the package name inside an extension to KClass is now resolved to the
extension property `KClass#java`. So `java.X::class` is now equivalent to
`this.java.X::class`

(cherry picked from commit 57849c9dfd)
2016-05-27 19:40:05 +03:00
Alexander Udalov
37d76c4866 Minor, capitalize language feature names in tests
To simplify textual search across the codebase

(cherry picked from commit 7cb61b81ab)
2016-05-27 19:39:57 +03:00
Mikhail Glukhikh
6806b0813a Back-end JVM: more accurate handling of when expressions with Unit result #KT-12192 Fixed
(cherry picked from commit 8713190)
2016-05-27 18:12:33 +03:00
Pavel V. Talanov
56a8ea3492 Refactor LanguageFeatureSettings: Add LanguageVersion and LanguageFeature entities
(cherry picked from commit 76971eca70)
2016-05-27 14:32:41 +03:00
Alexander Udalov
195acce366 Minor, update javac2 annotation filter for kotlin-build-common-test
(cherry picked from commit 9bdf8f1082)
2016-05-27 14:28:13 +03:00
Alexander Udalov
b5ee06be1f Add tests on "-language-version" usage from Ant, Maven, Gradle
(cherry picked from commit 2c516f18a0)
2016-05-27 14:27:58 +03:00
Alexander Udalov
efbecc9fb2 Validate "-language-version" argument value, add tests
(cherry picked from commit bc5202a4d7)
2016-05-27 14:25:44 +03:00
Alexander Udalov
fa3a7f056a Support enabling/disabling language features in diagnostic tests (unsupported in 1.0.3)
(cherry picked from commit 98c3e030a1)
2016-05-27 14:21:30 +03:00
Alexander Udalov
833cf8267f Support "-language-version" CLI option for compatibility with older releases
Introduce LanguageFeatureSettings, instance of which should be injected by the
container and be accessible everywhere during the compilation (front-end and
back-end).

Parameters of LanguageFeatureSettings are unused in this commit, will be used
later

(cherry picked from commit e1ba4480d7)
2016-05-27 14:16:13 +03:00
Pavel V. Talanov
ad6f2de8a1 KtLightMethod: Wrap return type so it resolves to light method's type parameter as opposed to delegate's
Affects java type inference in IDEA

  #KT-12090 Fixed
  #KT-11095 Fixed
2016-05-27 13:15:42 +03:00
Alexey Andreev
97228e5ac4 KT-6942: in JS backed for value equalitity patterns in when generate structural equality check (i.e. Any.equals) instead of referential check (===). 2016-05-26 14:31:50 +03:00
Alexander Udalov
bf3ada0592 Prevent META-INF/INDEX.LIST from jsr166e.jar to be packed into compiler
INDEX.LIST contains a list of jars with the information about what packages
does each of those jars have (this feature is called JarIndex, see
http://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html). In case of
ideaSDK/core/jsr166e.jar, it only has one entry -- jsr166e.jar itself. When the
compiler is started, the class loading mechanism reads this file and assumes
that there are no other jars nearby. But the compiler depends on other jars,
namely kotlin-runtime.jar and kotlin-reflect.jar, thus we get
ClassNotFoundException when trying to load almost any Kotlin bytecode from
kotlin-compiler.jar.

Note that, fortunately, release builds are not affected because:
1) proguard helpfully strips this file from the final kotlin-compiler.jar;
2) we use a custom class loader (Preloader) which ignores JarIndex.
This only affects local setup with proguard disabled, where one test
(CompilerDaemonTest) was failing because it was trying to invoke the compiler
directly via "java -jar ..."

To implement this, it was necessary to exclude this one file from the compiler
jar, however the "zipgroupfileset" Ant task does not support exclusion of one
file from a particular archive, so we pack all idea core libraries into one jar
beforehand and use "zipfileset" which supports exclusion of one file
(http://stackoverflow.com/a/2426245/288456).

(cherry picked from commit c3f1afee626502470dbe27a1343c777e5cade789)
(cherry picked from commit 9a762e0fa2)
2016-05-26 14:18:33 +03:00
Alexander Udalov
db2fa0fbdf Fix kotlin-maven-plugin compilation
(cherry picked from commit e5d64d316d)
2016-05-26 14:18:31 +03:00
Alexander Udalov
3db9871a13 Render different class kinds differently in bytecode listing test
(cherry picked from commit b208995d73)
2016-05-26 13:27:05 +03:00
Alexander Udalov
84b573d1ea J2K backend-common classes: convert
Also merge CodegenUtilKt into CodegenUtil

(cherry picked from commit c1c2651988)
2016-05-26 13:26:54 +03:00
Alexander Udalov
b043906395 J2K backend-common classes: rename .java -> .kt
(cherry picked from commit 27ed0dd25f)
2016-05-26 13:25:33 +03:00
Alexander Udalov
f59bf2d8ef Minor, comment out ignored test
(cherry picked from commit d89e907f00)
2016-05-26 13:24:48 +03:00
Alexander Udalov
0b44a90823 Move some configuration keys to JVM or to CommonConfigurationKeys
Move CONTENT_ROOTS and SCRIPT_DEFINITIONS_KEY to JVMConfigurationKeys because
they are only used on JVM, rename the latter to SCRIPT_DEFINITIONS.

Move MODULE_NAME to CommonConfigurationKeys to be combined with MODULE_ID in
JSConfigurationKeys in the future

(cherry picked from commit 05f8836f46)
2016-05-26 13:24:38 +03:00
Alexander Udalov
8233c5d458 Delete unused ParentLastURLClassLoader
(cherry picked from commit 5bf14c106a)
2016-05-26 13:20:50 +03:00
Alexander Udalov
89059bda04 Remove dangerous readKotlinHeader() in inlineUtil.kt
It was creating a phantom FileBasedKotlinClass which was not based on any file

(cherry picked from commit b9fb6c0d84)
2016-05-26 13:20:44 +03:00
Alexander Udalov
c19dbefe1b Move JVMConfigurationKeys to frontend.java
Similarly to K2JVMCompilerArguments, they will soon be needed in the IDE code.
Move COMPILER_JAR_LOCATOR to CLIConfigurationKeys because it's used both in JVM
and JS, and only in CLI. Other keys, non-relevant in the IDE, may be moved out
soon as well, such as incremental compilation components

(cherry picked from commit 6c0ff40197)
2016-05-26 13:19:45 +03:00
Alexander Udalov
c07350227e Minor, break the line in "kotlinc -help" if it's too long
To improve description of the "pluginOptions" flag

(cherry picked from commit dcb2d7b4f6)
2016-05-26 13:19:39 +03:00
Alexander Udalov
c2cf56b137 Rename compilerConfigurationForTests -> newConfiguration
(cherry picked from commit 6674412079)
2016-05-26 13:15:45 +03:00
Alexander Udalov
6e967b1e0b Rename Config -> JsConfig
(cherry picked from commit 116e4a5ced)
2016-05-26 13:11:11 +03:00
Alexander Udalov
e9fe329415 Get rid of unnecessary exceptions in JS translator
Before this commit, an internal error during JS translation resulted in the
actual exception wrapped in TranslationRuntimeException wrapped in
TranslationInternalException wrapped in RuntimeException being thrown. This
change gets rid of the two latter wrappings.

Also delete unthrown MainFunctionNotFoundException and related unused
constructors in TranslationException

(cherry picked from commit 2bd3211ba8)
2016-05-26 13:11:05 +03:00
Alexander Udalov
7131238c86 Add MessageCollector#hasErrors, get rid of MessageSeverityCollector
Also fix duplicated wrapping of a message collector into a message severity
collector (in CLICompiler and in the beginning of doExecute in
K2JVMCompiler/K2JSCompiler)

(cherry picked from commit 3c81bb4bfc)
2016-05-26 13:10:20 +03:00
Alexander Udalov
7ae2ab8437 Move TEST_MODULE_NAME to KotlinTestUtils and change value to "test-module"
This name is more generic and thus can be used everywhere, not only in Java
integration tests

(cherry picked from commit 69343549b7)
2016-05-26 13:06:21 +03:00
Alexander Udalov
4be84d8d4c Remove traces of old compiler plugin architecture
It was retired with the deprecation and subsequent removal of the old KDoc, and
is now unused

(cherry picked from commit 3ca77de924)
2016-05-26 13:03:51 +03:00
Alexander Udalov
caf0184e2f Introduce CompilerConfiguration#getNotNull and getBoolean
To reduce boilerplate at call sites

(cherry picked from commit 8c0f78db50)
2016-05-26 13:03:38 +03:00
Alexander Udalov
6e5dd83b67 Minor, fix warnings and improve style in KotlinToJVMBytecodeCompiler
(cherry picked from commit 81a0fa5f47)
2016-05-26 13:00:35 +03:00
Dmitry Jemerov
90be470172 cleanup after code review
(cherry picked from commit 495a3e9)
2016-05-25 21:09:43 +02:00
Dmitry Jemerov
6c5a3b7734 fix PsiCheckerTestGenerated according to removed "property with backing field" highlighting
(cherry picked from commit b37ac4f)
2016-05-25 21:09:32 +02:00
Dmitry Jemerov
f493a42d27 inherit Kotlin TYPE_PARAMETER from Java TYPE_PARAMETER
#KT-11465 Fixed
(cherry picked from commit 14559bf)
2016-05-25 21:09:26 +02:00
Dmitry Jemerov
95d022c38d specify base color for ANNOTATION and LABEL
#KT-9410 Fixed
(cherry picked from commit 76178c5)
2016-05-25 21:09:21 +02:00
Dmitry Jemerov
4ef75eb110 highlight infix function calls
#KT-6540 Fixed
(cherry picked from commit 49335fa)
2016-05-25 21:09:15 +02:00
Dmitry Jemerov
7f1674ee50 remove CLASS highlight on top of CONSTRUCTOR_CALL for constructor calls
#KT-2919 Fixed
(cherry picked from commit a448af5)
2016-05-25 21:09:10 +02:00
Dmitry Jemerov
a48d4dc9be TypeKindHighlightingVisitor: J2K
(cherry picked from commit e7cb256)
2016-05-25 21:09:04 +02:00
Dmitry Jemerov
ab23195d54 TypeKindHighlightingVisitor: rename to .kt
(cherry picked from commit e07e16a)
2016-05-25 21:08:58 +02:00
Dmitry Jemerov
407405f305 remove PARAMETER highlight on top of INSTANCE_PROPERTY for primary constructor parameters
(cherry picked from commit e9cefd9)
2016-05-25 21:08:52 +02:00
Dmitry Jemerov
abb7c4a13a remove LOCAL_VARIABLE highlight on top of BACKING_FIELD_VARIABLE
(cherry picked from commit b51637d)
2016-05-25 21:08:46 +02:00
Dmitry Jemerov
890ef8c952 VariablesHighlightingVisitor: cleanup after J2K
(cherry picked from commit 4261e4a)
2016-05-25 21:08:41 +02:00
Dmitry Jemerov
6dcdd7f8a3 VariablesHighlightingVisitor: J2K
(cherry picked from commit 77a48c1)
2016-05-25 21:08:34 +02:00
Dmitry Jemerov
6e19b7dc30 VariablesHighlightingVisitor: rename to .kt
(cherry picked from commit 4ddbe98)
2016-05-25 21:08:29 +02:00
Dmitry Jemerov
93b7e84ee8 PropertiesHighlightingVisitor: cleanup after J2K, remove "property has backing field" highlighting, don't layer other highlights
(cherry picked from commit c7cd86f)
2016-05-25 21:08:22 +02:00
Dmitry Jemerov
9542fd3e7c PropertiesHighlightingVisitor: j2K
(cherry picked from commit b76585e)
2016-05-25 21:08:14 +02:00
Dmitry Jemerov
44fbae0530 PropertiesHighlightingVisitor: rename to .kt
(cherry picked from commit 41cd55b)
2016-05-25 21:08:08 +02:00
Dmitry Jemerov
bc0d7cf64e FunctionsHighlightingVisitor: cleanup after J2K, remove overlaid highlighting of function calls
(cherry picked from commit 5512043)
2016-05-25 21:08:03 +02:00
Dmitry Jemerov
e26410a307 FunctionsHighlightingVisitor: J2K
(cherry picked from commit c515740)
2016-05-25 21:07:57 +02:00
Dmitry Jemerov
9da5de9271 FunctionsHighlightingVisitor: rename to .kt
(cherry picked from commit 83b5028)
2016-05-25 21:07:51 +02:00
Dmitry Jemerov
f3fad4ad07 Kotlin with Gradle: generate 'repositories' call, use kotlin_version property
#KT-11841 Fixed
(cherry picked from commit 855ddf9)
2016-05-25 15:44:25 +02:00
Dmitry Jemerov
2898fce39d call BuildManager.clearState(project) in apply() method of Kotlin Compiler Settings configurable
#KT-10255 Fixed
(cherry picked from commit ccbb3d0)
2016-05-25 15:44:03 +02:00
Dmitry Jemerov
522df6f1f8 add icon for Kotlin annotation classes
#KT-11814 Fixed
(cherry picked from commit 1865750)
2016-05-25 15:43:46 +02:00
Dmitry Jemerov
2aae0a1a7d always show current plugin version in update check dialog
#KT-12076 Fixed
(cherry picked from commit 22d3789)
2016-05-25 15:43:27 +02:00
Dmitry Jemerov
4e5e2ae08e "Configure Kotlin plugin updates" is a dumb-aware action
#KT-12075 Fixed
(cherry picked from commit b8eb1da)
2016-05-25 15:43:04 +02:00
Dmitry Jemerov
f86e01fca8 help ID for compiler configuration page
#KT-12110 Fixed
(cherry picked from commit 83798f5)
2016-05-25 15:42:57 +02:00
Dmitry Jemerov
709aa92bd8 remove unnecessary ? from 'serr' live template
#KT-12289 Fixed
(cherry picked from commit e920c35)
2016-05-25 15:42:33 +02:00
Pavel V. Talanov
76bf4a71e7 lightClassUtils: Fix CCE when trying to obtain KtLightTypeParameter
#KT-12259 Fixed
2016-05-25 15:56:53 +03:00
Pavel V. Talanov
4f771fdb55 'const val' are now considered constants by Java in IDEA
#KT-12026 Fixed
2016-05-25 15:56:51 +03:00
Pavel V. Talanov
3b4069c996 Implement getLanguageLevel for FakeFileForLightClass
#KT-12006 Fixed
2016-05-25 15:56:49 +03:00
Pavel V. Talanov
bd1d4034fd Replace usages of blocking lazy to LazyThreadSafetyMode.PUBLICATION in light classes to prevent potential deadlocks 2016-05-25 15:41:51 +03:00
Pavel V. Talanov
18636e6ae7 Fix deadlock: synchronized lazy in KtLightModifierListWithExplicitModifiers 2016-05-25 15:41:50 +03:00
Nikolay Krasko
4d6a69011e Update to idea 2016.1.2 2016-05-24 17:46:20 +03:00
Nikolay Krasko
b1d84bc89b More write action requirement remove
Workaround for exception: Refactorings should not be started inside write action because they start progress inside and any read action from the progress task would cause the deadlock
2016-05-24 17:45:25 +03:00
Nikolay Krasko
40509366b8 Don't request write action for ChangeParameterTypeFix because it's based on refactoring
Workaround for exception: Refactorings should not be started inside write action because they start progress inside and any read action from the progress task would cause the deadlock
2016-05-24 17:45:25 +03:00
Nikolay Krasko
4de95d5abf Don't request write action for RemoveUnusedFunctionParameterFix because it's based on refactoring (KT-12440)
Workaround for exception: Refactorings should not be started inside write action because they start progress inside and any read action from the progress task would cause the deadlock

 #KT-12440 Fixed
2016-05-24 17:45:25 +03:00
Nikolay Krasko
e6fd73c500 Don't request write action for ReplaceExplicitFunctionLiteralParamWithItIntention because it's based on refactoring (KT-12436)
Workaround for exception: Refactorings should not be started inside write action because they start progress inside and any read action from the progress task would cause the deadlock

 #KT-12436 Fixed
2016-05-24 17:45:25 +03:00
Mikhail Glukhikh
eccbb499fe Minor refactoring: convert to block body
(cherry picked from commit 9e487a6)
2016-05-24 17:41:45 +03:00
Mikhail Glukhikh
613e5b1968 Convert to block body: when expression with Unit result is now handled as "return needed" #KT-12193 Fixed
(cherry picked from commit fa5e284)
2016-05-24 17:41:42 +03:00
Mikhail Glukhikh
9e10893462 REDUNDANT_OPEN_FOR_INTERFACE warning: reported for open members without implementation #KT-12452 Fixed
(cherry picked from commit 9a69b8b)
2016-05-24 17:41:38 +03:00
Mikhail Glukhikh
dbe179ebde Default modality is abstract for interface. REDUNDANT_MODIFIER_FOR_TARGET applicability reduced #KT-12302 Fixed
(cherry picked from commit e66acd8)
2016-05-24 17:41:34 +03:00
Mikhail Glukhikh
0d129f9d10 KT-12302: ABSTRACT_MODIFIER_IN_INTERFACE warning is removed as obsolete
(cherry picked from commit 93defed)
2016-05-24 17:41:31 +03:00
Pavel V. Talanov
0745f2e4bf REPL UI: fix history pane not showing latest command after command execution 2016-05-24 17:34:34 +03:00
Pavel V. Talanov
81ef3c5684 ProjectRootsUtil: accept directories and jar roots if "includeClassFiles == true" 2016-05-24 15:32:42 +03:00
Pavel V. Talanov
daad2a529c Implement IdeReplCompletionTest to test completion of entities declared in already evaluated lines 2016-05-24 15:32:41 +03:00
Pavel V. Talanov
01717e8f8c Minor: prettify ReplState 2016-05-24 15:32:40 +03:00
Pavel V. Talanov
ff389f99a3 Use ReplState to implement completion in IDE REPL
Consider sucessfully evaluated lines as previous lines when analyzing console file
2016-05-24 15:32:40 +03:00
Pavel V. Talanov
89910692d0 Limit resolve scope when completing in module sources 2016-05-24 15:32:39 +03:00
Pavel V. Talanov
1bd0c54bd6 implicitReceiversUtils: Script descriptors are implicit receivers
This fixes completion in repl
2016-05-24 15:32:38 +03:00
Pavel V. Talanov
2a7c0db825 Move ReplState to frontend 2016-05-24 15:32:37 +03:00
Pavel V. Talanov
c0ca947cbb Minor: Rename KotlinReplTest 2016-05-24 15:32:37 +03:00
Pavel V. Talanov
ac8afae2e0 Fix import resolution in Repl
#KT-11428 Fixed

 Refactor ReplState to be a component
2016-05-24 15:32:36 +03:00
Pavel V. Talanov
e3aa5d183f Minor: ScopeUtils: avoid wrapping lexical scopes several times 2016-05-24 15:32:35 +03:00
Pavel V. Talanov
cc9adf15e1 Refactor: replace LastLineScopeProvider with ReplState, extract FileScopeFactory from FileScopeProviderImpl 2016-05-24 15:32:34 +03:00
Pavel V. Talanov
192a8edbee Refactor: extract resolve related code from ReplInterpreter to CliReplAnalyzerEngine 2016-05-24 15:32:33 +03:00
Mikhail Glukhikh
d40f851e52 Build fix (1.0.3 vs 1.1 difference) 2016-05-24 10:13:15 +03:00
Mikhail Glukhikh
2a9805f77c Only private constructors for sealed / enum classes #KT-12377 Fixed
Also #KT-8497 Fixed
(cherry picked from commit 1a8181b)
2016-05-23 17:50:35 +03:00
Mikhail Glukhikh
eaef198878 Annotation parameters now cannot be mutable #KT-12367 Fixed
(cherry picked from commit cffdce9)
2016-05-23 17:49:29 +03:00
Mikhail Glukhikh
d553327c7e Cleanup: simplify for
(cherry picked from commit ceb4aa7)
2016-05-23 12:27:19 +03:00
Mikhail Glukhikh
366be38453 Cleanup: val can be parameter
(cherry picked from commit ebd57fa)
2016-05-23 12:27:11 +03:00
Alexey Andreev
88cb987558 JS: improve performance of Hashtable-based collections 2016-05-23 12:24:29 +03:00
Alexey Andreev
1dad7f1625 KT-11086 Treat initializer of a companion object as a class initializer 2016-05-23 12:24:29 +03:00
Alexey Andreev
ffbd6b41a7 KT-7424: add test to show that inlining works for anonymous functions 2016-05-23 12:24:29 +03:00
Alexey Andreev
cf01144fa9 KT-8386: pass mutable list to JsInvocation from intrinsic generator, so that inliner had a chance to replace arguments 2016-05-23 12:24:28 +03:00
Pavel V. Talanov
97f2b0df3e Implement "Decompile Kotlin to Java" action
Add this action to "Attach sources" notification panel if present
 #KT-11657 Fixed
2016-05-23 12:04:42 +03:00
Pavel V. Talanov
4fc3c6b41f Minor: typo in changeLog 2016-05-23 11:52:57 +03:00
Alexander Udalov
fcf19b9db4 Remove SAFE_CALL_IN_QUALIFIER diagnostic which was never reported
See UNEXPECTED_SAFE_CALL which is reported instead
2016-05-20 22:40:55 +02:00
Alexander Udalov
38bcacd988 Do not produce trailing space when rendering root package header 2016-05-20 22:40:41 +02:00
Nikolay Krasko
a37e7a782b Restore packing plugin-api module output to plugin 2016-05-20 20:04:05 +03:00
Nikolay Krasko
413ab743cd Check there's no direct usages of asm (org.objectweb.asm) library in project
Such usages should be replaced with asm from idea (org.jetbrains.org.objectweb.asm)
2016-05-20 16:00:54 +03:00
Nikolay Krasko
92c3b1f570 Don't use reference to asm directly. Use asm from Idea instead. 2016-05-20 16:00:54 +03:00
Stanislav Erokhin
543ae45eec Fixed type checking recursive problem.
#KT-11995 Fixed
2016-05-20 09:28:59 +03:00
Pavel V. Talanov
69156f22fb Minor, missed '#' 2016-05-19 22:06:38 +03:00
Pavel V. Talanov
305fe89d30 Update ChangeLog for 1.0.3
Improve ticket number presentation for 1.0.3
2016-05-19 22:03:17 +03:00
Ilya Gorbunov
6be6726b5d Do not deploy anymore kotlin maven plugin tests and build common test utilities to maven central
(cherry picked from commit fda9797dc4)
2016-05-19 18:31:15 +03:00
Ilya Gorbunov
23ce84721c Sanitize escape sequences when verifying maven output
(cherry picked from commit bdf80ec747)
2016-05-19 18:31:15 +03:00
Ilya Gorbunov
5000772ddc Specify kotlin snapshot version in maven plugin integration tests only once.
(cherry picked from commit 7f5b586e3f)
2016-05-19 18:31:15 +03:00
Zalim Bashorov
f197ee5363 JS backend: use ResolvedCall when translate super expression and remove some heuristics when translate receivers; generate right receiver when reference to super of outer class;
(cherry picked from commit 7b1afd4)
2016-05-19 17:37:35 +03:00
Alexey Sedunov
695e20a48e Spring Support: Show autowiring candidates line markers for @Autowired-annotated constructors and constructor parameters
#KT-12120 Fixed
(cherry picked from commit 26be254)
2016-05-19 15:09:20 +03:00
Alexey Sedunov
0ad6a3802b Spring Support: Fixed bean references in factory method calls
#KT-12384 Fixed
(cherry picked from commit 2bd03fe)
2016-05-19 15:09:19 +03:00
Alexey Sedunov
bf1e2bd0dd Spring Support: Fixed "Spring Facet Code Configuration (Kotlin)" inspection description
#KT-12143 Fixed
(cherry picked from commit 417995b)
2016-05-19 15:09:18 +03:00
Alexey Sedunov
20a7f83915 Spring Support: Report object declarations in "Final Kotlin class or function with Spring annotation" inspection
#KT-12148 Fixed
(cherry picked from commit 53b08a1)
2016-05-19 15:09:17 +03:00
Alexey Sedunov
fa2e925ed7 Spring Support: Fixed "Autowired members defined in invalid Spring bean (Kotlin)" inspection description
#KT-12363 Fixed
(cherry picked from commit aaa42e8)
2016-05-19 15:09:16 +03:00
Alexey Sedunov
d262e462bb Spring Support: Implement Spring @Autowired inspection
#KT-12278 Fixed
 #KT-12147 Fixed
 #KT-12366 Fixed
 #KT-12122 Fixed
(cherry picked from commit 85d07e5)
2016-05-19 15:09:15 +03:00
Alexey Sedunov
02fa66fbaa Refactoring: Extract registerWithElementsUnwrapped() function
(cherry picked from commit 36f3d30)
2016-05-19 15:08:14 +03:00
Mikhail Glukhikh
c081d0b9a9 Simplify for: take into account two or more possible local variables for the same loop parameter property
(cherry picked from commit f81192d)
2016-05-19 14:38:48 +03:00
Mikhail Glukhikh
9085175fb3 Simplify for: take into account local property mutability
(cherry picked from commit 9108ab1)
2016-05-19 14:37:52 +03:00
Mikhail Glukhikh
d4b17dbdfa Simplify for: take into account loop parameter nullability
(cherry picked from commit d0fd3de)
2016-05-19 14:37:37 +03:00
Mikhail Glukhikh
bde4b943fe Simplify for now works even if no variables are declared inside loop #KT-12145 Fixed
(cherry picked from commit a56248a)
2016-05-19 14:35:35 +03:00
Mikhail Glukhikh
6b8a54b230 Import as alias with another name is now counted as usage itself #KT-11933 Fixed
(cherry picked from commit c95e11c)
2016-05-19 14:29:45 +03:00
Mikhail Glukhikh
15c09c483e Cleanup: simplify for
(cherry picked from commit 0cf61b1)
2016-05-19 14:29:31 +03:00
Mikhail Glukhikh
4ba9433187 Simplify for intention: now is not active if map / data class properties aren't used in a loop #KT-11716 Fixed
(cherry picked from commit d366da5)
2016-05-19 14:29:14 +03:00
Mikhail Glukhikh
b5d89c549c Can be parameter inspection: usage in secondary constructor is now handled as property use
(cherry picked from commit 3930184)
2016-05-19 14:28:57 +03:00
Mikhail Glukhikh
a796b66e05 Can be parameter inspection: minor test correction
(cherry picked from commit bc7fbdc)
2016-05-19 14:28:42 +03:00
Mikhail Glukhikh
64fa595716 Can be parameter inspection: handle usage in super call; again #KT-10819 Fixed
(cherry picked from commit b026969)
2016-05-19 14:28:27 +03:00
Alexey Andreev
ec78ab5ffa KT-12254 Prevent JsEmptyExpression from getting into initializer JS when compiling code like val x = throw Exception() 2016-05-19 11:42:32 +03:00
Alexey Andreev
b75677cccd KT-8005 Add test to prove the issue is no more reproducible 2016-05-19 11:38:13 +03:00
Alexey Andreev
fdf15407ea KT-8299 Make proper access to private fields in generated methods of data classes 2016-05-19 11:34:51 +03:00
Alexey Tsvetkov
827b74fc06 Minor: add repository path for android test 2016-05-18 15:41:18 +03:00
Alexey Tsvetkov
06c6234561 Keep order of parsed annotations 2016-05-18 15:41:10 +03:00
Alexey Tsvetkov
fdbf6f10e8 Minor: fix downloading sdk in test 2016-05-18 15:40:54 +03:00
Alexey Tsvetkov
38d7a357fc Avoid cache corruption on compile error
#KT-11874 fixed
2016-05-18 15:40:48 +03:00
Alexey Tsvetkov
2b6b7181e1 Fix Application leak in AbstractAnnotationProcessorBoxTest 2016-05-18 15:40:44 +03:00
Alexey Tsvetkov
5117bf1184 Refactoring: rename ClassBuilderMode entry LIGHT_CLASSES_WITH_METADATA->KAPT 2016-05-18 15:39:43 +03:00
Alexey Tsvetkov
e64649fb0a Fix collecting source retention annotations
#KT-12187 fixed
2016-05-18 15:39:38 +03:00
Alexey Tsvetkov
167dd1a927 Add class stubs dir to stub generation task classpath 2016-05-18 15:39:30 +03:00
Alexey Tsvetkov
f9722393dc Serialize error type to proto when generating stubs 2016-05-18 15:39:27 +03:00
Alexey Tsvetkov
bef65e4283 Refactoring: rename javaAptSourceDir->hackAnnotationDir 2016-05-18 15:39:23 +03:00
Alexey Tsvetkov
dcaf6dcef5 Refactoring: rename AnnotatedElementDescriptor->AnnotatedElement 2016-05-18 15:39:19 +03:00
Alexey Tsvetkov
0cc3f4be3d Exclude compiled files when compiling incrementally 2016-05-18 15:39:16 +03:00
Alexey Tsvetkov
5f8220c937 Report compiled classes when generating kapt stubs 2016-05-18 15:39:12 +03:00
Alexey Tsvetkov
385d335042 Include metadata in light classes for kapt 2016-05-18 15:39:09 +03:00
Alexey Tsvetkov
571f31c743 Fix incremental compilation with kapt generating stubs
Changes:
* map incremental property to compile kotlin after java task
* when generating stubs compile kotlin task should not remove or copy classfiles
2016-05-18 15:38:12 +03:00
Alexey Tsvetkov
626e6657d9 Add kapt incremental tests 2016-05-18 15:38:08 +03:00
Alexey Tsvetkov
fb5390a738 Update kapt annotations file incrementally 2016-05-18 15:38:03 +03:00
Alexey Tsvetkov
a4176b0cbb Serialize KotlinAnnotationProvider 2016-05-18 15:37:59 +03:00
Alexey Tsvetkov
d93d4dc38a Minor: extract constant 2016-05-18 15:37:55 +03:00
Alexey Tsvetkov
4f6317694e Refactoring: make AnnotatedElementDescriptor hierarchy sealed 2016-05-18 15:37:51 +03:00
Alexey Tsvetkov
4f6f3879c6 Pass reader as param 2016-05-18 15:37:47 +03:00
Alexey Tsvetkov
eb84b61b69 Make fun local since it's bound to outer function semantics 2016-05-18 15:37:43 +03:00
Alexey Tsvetkov
0e0dbb25b5 Read annotations during construction of KotlinAnnotationsProvider
The rationale is to access kotlinClassesInternal and annotatedKotlinElementsInternal
in any order
2016-05-18 15:37:38 +03:00
Alexey Tsvetkov
dd740b6e6b Minor: add const 2016-05-18 15:37:34 +03:00
Alexey Tsvetkov
7e359015d6 Pass reader in constructor to KotlinAnnotationProvider 2016-05-18 15:37:30 +03:00
Alexey Tsvetkov
1714b1c092 Make annotation collector tests more thorough 2016-05-18 15:37:27 +03:00
Alexey Tsvetkov
cc7f7103be Refactoring: move kapt tests to separate class 2016-05-18 15:37:23 +03:00
Alexey Tsvetkov
4fc118b20a Prevent compile tasks from running when nothing changes
#KT-10932 fixed
2016-05-18 15:37:13 +03:00
Alexey Tsvetkov
5427d81aa7 Minor: use more recent version of gradle in test 2016-05-18 15:33:21 +03:00
Alexey Tsvetkov
b151a5f6e8 Minor: do not print output in assertion message 2016-05-18 15:33:17 +03:00
Alexey Tsvetkov
73afad23b3 Refactoring: extract properties for gradle task's properties access in plugin 2016-05-18 15:33:13 +03:00
Mikhail Glukhikh
d4b27e2649 Unused symbol inspection refactoring: no use of bundled unused.*
(cherry picked from commit 20bff9f)
2016-05-18 14:51:59 +03:00
Mikhail Glukhikh
f1131da000 Overridden functions using default arguments in recursive call are no more considered tail recursive #KT-4285 Fixed
(cherry picked from commit a4ad995)
2016-05-18 14:51:48 +03:00
Mikhail Glukhikh
73a9c1568f Exhaustive when with 'Unit' result now also generates an exception in else branch #KT-12192 Fixed
(cherry picked from commit f35fd32)
2016-05-18 14:51:37 +03:00
Sergey Mashkov
529777fa0b KT-12074 Building Kotlin maven projects using a parent pom will silently fail
integration tests
2016-05-18 14:48:38 +03:00
Sergey Mashkov
79b1764554 Maven: add maven plugin multimodule test 2016-05-18 14:48:38 +03:00
Sergey Mashkov
b80115be88 KT-12074 Building Kotlin maven projects using a parent pom will silently fail
We should consider module's basedir if there is relative source directory specified for the execution
2016-05-18 14:48:38 +03:00
Nikolay Krasko
3d0d002bd6 Remove unused import 2016-05-18 14:18:52 +03:00
Ilya Gorbunov
f1c7b50814 Change memory growth assertions in testKotlinOnlyDaemonMemory: ensure that the maximum of the used memory established after several first builds doesn't raise significantly in the subsequent builds. Current constraint is 500K per 10 builds which gives 50K per build at average.
(cherry picked from commit 5ba8046b48)
2016-05-18 05:49:14 +03:00
Nikolay Krasko
4d35991a1c Remove unused method that causes compatibility problem in update AS plugin 2016-05-17 21:37:22 +03:00
Dmitry Jemerov
c23e8713a4 remove duplicate source root; update testdata according to the appearance of decompiler in dependencies
(cherry picked from commit fd78424)
2016-05-17 19:55:05 +02:00
Sergey Mashkov
518a030fe5 Maven: fix integration tests 2016-05-17 18:18:25 +03:00
Alexey Andreev
2255bde6e1 Minor style and formatting improvements of CallArgumentsTranslator 2016-05-17 10:34:03 +03:00
Alexey Andreev
2c7714e5d9 KT-12305 Fix passing single argument to native vararg function 2016-05-17 10:34:03 +03:00
Mikhail Glukhikh
6c4223ee44 Do not return primary constructor as an analyzable parent, probably #EA-73679 Fixed
(cherry picked from commit 79852e9)
2016-05-16 18:54:56 +03:00
Dmitry Jemerov
55c7c37da4 add "Decompile" button to Kotlin Bytecode toolwindow
(cherry picked from commit 1653f9f)
2016-05-16 16:05:56 +02:00
Alexey Sedunov
0ad6c8cefe Minor: Move META-INF to "resources" source root
(cherry picked from commit 60f23e9)
2016-05-16 14:16:27 +03:00
Alexey Sedunov
4e5e6c0b46 Code Insight: Suppress file reference completion on typing. Disable file references on string literals with escape sequences
(cherry picked from commit 29310b5)
2016-05-16 14:16:10 +03:00
Alexey Sedunov
51c49eba48 Spring Support: Replace light elements bound to line markers with their originals
#KT-12091 Fixed
(cherry picked from commit edb3fd8)
2016-05-16 14:16:00 +03:00
Mikhail Glukhikh
5113cb2935 'Long' type is now stored for 'Long' literal #KT-12267 Fixed
(cherry picked from commit 182ade1)
2016-05-16 11:21:14 +03:00
Mikhail Glukhikh
42ba9cf03f Code cleanup: protected is effectively private
(cherry picked from commit 9bd3be6)
2016-05-16 11:21:01 +03:00
Mikhail Glukhikh
28089434ad Code cleanup: redundant modality (minor)
(cherry picked from commit e31806e)
2016-05-16 11:20:48 +03:00
Mikhail Glukhikh
1726a31c6b Code cleanup: redundant visibility (minor)
(cherry picked from commit 1301d90)
2016-05-16 11:20:36 +03:00
Mikhail Glukhikh
b5523e32e2 Code cleanup: type parameters can have in / out variance
(cherry picked from commit 733f3e8)
2016-05-16 11:20:21 +03:00
Yaroslav Ulanovych
3e9da49c2f Fix KT-11839 maven goal to execute kotlin script 2016-05-15 16:12:43 +02:00
Natalia Ukhorskaya
aaae96bba6 Debugger: do not use forceResolveScope for codeFragments in completion and AutoImportFix.
#KT-12137 Fixed
2016-05-13 16:48:53 +03:00
Natalia Ukhorskaya
c452dd0491 Update icon for "New -> Kotlin Activity" Action
Assets were taken from DSGN-2829
2016-05-13 16:45:34 +03:00
Mikhail Glukhikh
93ed1705b9 Unused symbol: take into account possible JUnit static method annotations #KT-11320 Fixed
(cherry picked from commit 6da8ab7)
2016-05-13 16:42:05 +03:00
Mikhail Glukhikh
28c7244901 Unused symbol: secondary constructors are also under analysis #KT-10812 Fixed
(cherry picked from commit 8920e67)
2016-05-13 16:41:51 +03:00
Alexander Udalov
0f88682587 Add empty source jars to kotlin-build-common Maven artifacts
Maven Central requires all artifacts to have sources and javadocs
2016-05-12 23:47:27 +03:00
Valentin Kipyatkov
c5b1256960 KT-12080 Move parameter names higher up in code completion
#KT-12080 Fixed
(cherry picked from commit dd16eb1)
2016-05-12 22:24:41 +03:00
Ilya Gorbunov
c79731dbee Add tests for deserialization of collections persisted with kotlin 1.0
(cherry picked from commit 15dcd3d)
2016-05-12 21:35:06 +03:00
Ilya Gorbunov
4ffa2eaf39 Fix serialVersionUID for EmptyList after introducing RandomAccess interface. #KT-10794
(cherry picked from commit 6a07d5f)
2016-05-12 21:35:01 +03:00
Dmitry Jemerov
b3ccdbc626 specify github revision number in build parameters
(cherry picked from commit 11c0b30)
2016-05-12 17:00:23 +02:00
Nikolay Krasko
3200a17c51 Formatter: Don't enforce empty line between secondary constructors without body (KT-12175)
#KT-12175 Fixed
2016-05-12 17:35:50 +03:00
Nikolay Krasko
7be9805c3d Use left bound element types to tight empty delegation contructor call to declaration
CONSTRUCTOR_DELEGATION_CALL and CONSTRUCTOR_DELEGATION_REFERENCE types were modified.
2016-05-12 17:35:50 +03:00
Nikolay Krasko
d214e347ea Make code fragments files non-physical with event system disabled (KT-12232)
Fix "File copy should be non-physical and non-event-system-enabled! Language=Language:
kotlin; file=JetFile: fragment.kt of class org.jetbrains.kotlin.psi.KtExpressionCodeFragment" assert.

Inspired by Java fragment files

 #KT-12232 Fixed
2016-05-12 17:35:49 +03:00
Mikhael Bogdanov
395d359c7f Disabled dexInProcess and incremental compilation in test android module, explicitly set Xmx for dex process cause of teamcity memory allocation fails
(cherry picked from commit af2cf71)
2016-05-12 16:22:07 +03:00
Mikhael Bogdanov
046bb7348c Added support for 'JVM.INHERIT_MULTIFILE_PARTS' flag in android tests
(cherry picked from commit 1d2a83e)
2016-05-12 16:22:06 +03:00
Mikhael Bogdanov
3ee5272011 Added support for reflection tests on android
(cherry picked from commit ed60cf8)
2016-05-12 16:22:04 +03:00
Mikhael Bogdanov
e8e33b2636 Fix for KT-12125: Wrong increment/decrement on Byte/Char/Short.MAX_VALUE/MIN_VALUE
#KT-12125 Fixed
(cherry picked from commit d6a64af)
2016-05-12 16:22:01 +03:00
Mikhael Bogdanov
47bb721097 Support new tests on android, disabled not applicable ones
(cherry picked from commit ca31ce8)
2016-05-12 16:21:59 +03:00
Nikolay Krasko
ed7197e519 No more patched jflex 1.4.3 in idea repository. Download artifact from maven.
02c7c658e8
2016-05-12 13:53:50 +03:00
Nikolay Krasko
c3a9007ac3 Make downloading idea sources optional 2016-05-12 13:53:49 +03:00
Alexey Sedunov
343192c2ae Spring Support: Implement bean references in @Qualifier annotations
#KT-12092 Fixed
(cherry picked from commit df46a8c)
2016-05-12 13:09:47 +03:00
Alexey Sedunov
d2fc64ff56 Code Insight: Support file path references inside of Kotlin string literals
#KT-11704 Fixed
(cherry picked from commit 4a65b1c)
2016-05-12 13:09:45 +03:00
Alexey Sedunov
ee5b01be5c Spring Support: Support "Autowired members defined in invalid Spring bean" inspection on Kotlin declarations
#KT-12079 Fixed
(cherry picked from commit 44f565e)
2016-05-12 13:09:43 +03:00
Alexey Sedunov
d062b478bd Change Signature: Do not force substitution of error types
#EA-81021 Fixed
(cherry picked from commit d4aa179)
2016-05-12 13:09:42 +03:00
Valentin Kipyatkov
761d171de1 Added missing test data
(cherry picked from commit 0c367c6)
2016-05-11 20:16:38 +03:00
Valentin Kipyatkov
c3d4772e1e Do not use setting specifyFieldTypeByDefault for locals
(cherry picked from commit 9622231)
2016-05-11 20:16:31 +03:00
Valentin Kipyatkov
2245fdc9d5 Better code
(cherry picked from commit bf9e4a3)
2016-05-11 20:16:25 +03:00
Valentin Kipyatkov
2f7e4b0e2a Moved local method out
(cherry picked from commit 07c961d)
2016-05-11 20:16:19 +03:00
Valentin Kipyatkov
89a54a9982 KT-11952 J2K: Assertion failed in PropertyDetectionCache.get on conversion of access to Java constant of anonymous type
#KT-11952 Fixed
(cherry picked from commit bdd425c)
2016-05-11 20:16:12 +03:00
Valentin Kipyatkov
c88d6150e1 Fixed test data
(cherry picked from commit de02b56)
2016-05-11 20:16:06 +03:00
Valentin Kipyatkov
968d4ce680 Minor changes after code review
(cherry picked from commit 70a5540)
2016-05-11 20:15:59 +03:00
Valentin Kipyatkov
a35f80c6c1 KT-4727 J2K: Convert Java code copied from browser or other sources
#KT-4727 Fixed
(cherry picked from commit cca3237)
2016-05-11 20:15:53 +03:00
Valentin Kipyatkov
9932fcfdb8 Renamed class
(cherry picked from commit 4cbb098)
2016-05-11 20:15:46 +03:00
Valentin Kipyatkov
83edb851e3 Support of KT-11255 Support Move Element Left/Right actions for Kotlin (except for enum entries)
#KT-11255 Fixed
(cherry picked from commit 0720794)
2016-05-11 20:15:37 +03:00
Valentin Kipyatkov
9e10127828 Refactored AbstractCodeMoverTest
(cherry picked from commit 7e99a6b)
2016-05-11 20:15:29 +03:00
Valentin Kipyatkov
a0a6d1ee85 Restored lost tests
(cherry picked from commit 06db49b)
2016-05-11 20:15:23 +03:00
Valentin Kipyatkov
926634ab10 Converted to Kotlin
(cherry picked from commit b6301e8)
2016-05-11 20:15:15 +03:00
Valentin Kipyatkov
31d0e08515 KT-11974 Invert if-condition intention loses comments
#KT-11974 Fixed
(cherry picked from commit 8da5af3)
2016-05-11 20:15:05 +03:00
Mikhail Glukhikh
4437222d01 Unused symbol inspection: properties declared in primary constructor are now checked on 'Used' annotations #KT-11120 Fixed
(cherry picked from commit be2b37d)
2016-05-11 19:41:06 +03:00
Mikhail Glukhikh
0d1050d395 Do not try to make object's containing class abstract #KT-11466 Fixed
(cherry picked from commit a098977)
2016-05-11 19:40:55 +03:00
Alexander Udalov
031c1353b7 Update ChangeLog for 1.0.2 2016-05-11 12:20:27 +03:00
Alexey Sedunov
dc99fee4b4 Spring Support: Replace accessor name with property name when processing usages in Kotlin files
#KT-11880 Fixed
(cherry picked from commit 12987de)
2016-05-11 12:03:36 +03:00
Alexey Andreev
302ef0adac KT-11996 Fix issue with referencing outer class in case of inner class constructors and members/properties. Fix issue with referencing outer classes from secondary constructors. Remove unnecessary tests. 2016-05-10 17:56:43 +03:00
Alexey Andreev
37c14137e2 KT-11823 Generate proper argument for closure constructor for this as a free variable. Give some explanation for function that generates closure arguments as well as a clear name. Give explanation to some code in UsageTracker.isSingletonReceiver, augmented by a test case. 2016-05-10 17:55:57 +03:00
Nikolay Krasko
388a323105 Remove write action from refactoring start (KT-11486)
#KT-11486 Fixed
2016-05-10 16:13:35 +03:00
Nikolay Krasko
e9716ee88d Make KtLightModifierList behave like light element and check it in tests 2016-05-10 16:12:15 +03:00
Dmitry Jemerov
25734f92be move KDoc-related logic shared between IDEA and Dokka to ide-common module
(cherry picked from commit 42ba143)
2016-05-10 15:03:03 +02:00
Valentin Kipyatkov
32ca38de8c Fixed dialog with suggestion to process external code shown even when there is nothing to process
(cherry picked from commit 7b1bf4c)
2016-05-10 15:02:15 +03:00
Mikhail Glukhikh
832497773b Can be parameter inspection: usages in all functions are now handled as property usage
(cherry picked from commit 48ba63f)
2016-05-10 13:43:36 +03:00
Ilya Gorbunov
c1153eda3a Document functions which return set or map preserving the order of elements/entries.
#KT-11632 Fixed

(cherry picked from commit d646afabb2)
2016-05-08 03:28:56 +03:00
Dmitry Jemerov
7c3e8ae54a generate correct HTML for code blocks
(cherry picked from commit b5e5c6f)
2016-05-06 22:19:49 +02:00
Dmitry Jemerov
0b93ac51b5 support @receiver KDoc tag; somewhat more precise tag name completion
(cherry picked from commit 94c2414)
2016-05-06 22:18:43 +02:00
Dmitry Jemerov
5fd5be6e1b KDocKnownTag: J2K
(cherry picked from commit 3b57b78)
2016-05-06 22:18:34 +02:00
Dmitry Jemerov
a4ea7d3b2e KDocKnownTag: rename to .kt
(cherry picked from commit 6935cfe)
2016-05-06 22:18:26 +02:00
Dmitry Jemerov
2ba6808559 don't trim whitespace when converting whitespace to HTML
#KT-10998 Fixed
(cherry picked from commit 992817e)
2016-05-06 22:18:09 +02:00
Dmitry Jemerov
156ca8227b preserve leading indentation in KDoc code blocks
#KT-9933 Fixed
(cherry picked from commit d7b1526)
2016-05-06 22:17:36 +02:00
Dmitry Jemerov
077ec0289d integrate Ingo Kegel's Dokka fix for rendering standalone * and _ characters
(cherry picked from commit 721629f)
2016-05-06 22:17:24 +02:00
Dmitry Jemerov
b6b924d4e1 render markdown inside link texts
#KT-11791 Fixed
(cherry picked from commit 6cbf1de)
2016-05-06 22:16:59 +02:00
Dmitry Jemerov
16c391f9bd resolve references from @param to type parameters of functions
#KT-12001 Fixed
(cherry picked from commit c967cc8)
2016-05-06 22:13:33 +02:00
Kirill Rakhman
70e567a09d Add quickfix for UNUSED_LAMBDA_EXPRESSION (#867)
Fixes #KT-9757
(cherry picked from commit 97c3c63)
2016-05-06 17:51:28 +02:00
Kirill
294f5cf98d Don't mark magic Serializable methods as unused
Fixes #KT-10635
(cherry picked from commit 5b6a8dc)
2016-05-06 16:23:55 +02:00
Ilya Chernikov
3e9f302cf6 minor: fix after review 2016-05-06 12:58:51 +02:00
Ilya Chernikov
a450fbb18a minor: Make term "canceled" uniformly spelled in identifiers and strings in the daemon 2016-05-06 12:58:50 +02:00
Ilya Chernikov
e634881f96 Implement graceful connection failure behavior on daemon connect and cancellation check
Should fix (or actually - behave gracefully on) #EA-74003, #EA-74493, #EA-76032, #EA-76529, #EA-81295
Tests added
2016-05-06 12:58:49 +02:00
Ilya Chernikov
ad71747116 minor: Switch to simpler descending sort, reduce dependency 2016-05-06 12:58:48 +02:00
Nikolay Chashnikov
1f0b71abac run configuration: use default logic of creating new run configurations to avoid sharing RunConfigurationModule instances between different run configurations (KT-12204) (#869)
(cherry picked from commit 551aa70)
2016-05-06 11:02:58 +02:00
Valentin Kipyatkov
3a1e15f5c2 KT-12040 "Replace when with if" produce invalid code for first entry which has comment
#KT-12040 Fixed
(cherry picked from commit c45bee5)
2016-05-05 19:02:31 +03:00
Valentin Kipyatkov
44596b3723 KT-12138 Do not show "::error" in smart completion when any function type accepting one argument is expected
(actually made them lowest priority)

 #KT-12138 Fixed
(cherry picked from commit 16c38a2)
2016-05-05 19:02:31 +03:00
Valentin Kipyatkov
4e30143f51 Minor
(cherry picked from commit 81e4114)
2016-05-05 19:02:30 +03:00
Valentin Kipyatkov
db5a0fe4dc KT-12150 Smart completion suggests to compare non-nullable with null
#KT-12150 Fixed
(cherry picked from commit 941b415)
2016-05-05 19:02:30 +03:00
Valentin Kipyatkov
1b1306d372 No explicit runWriteAction required
(cherry picked from commit 40900b0)
2016-05-05 19:02:30 +03:00
Valentin Kipyatkov
ac2ab49e8f KT-12103 Smart completion for nested SAM-adapter produces short unresolved name
#KT-12103 Fixed
(cherry picked from commit 0769c54)
2016-05-05 19:02:29 +03:00
Valentin Kipyatkov
5c61b5dd17 Minor changes on code review
(cherry picked from commit 74b41cf)
2016-05-05 19:02:29 +03:00
Valentin Kipyatkov
5941f40444 KT-12045 J2K: creating Object() instance could be converted to Any()
#KT-12045 Fixed
(cherry picked from commit 92af610)
2016-05-05 19:02:28 +03:00
Valentin Kipyatkov
bca15e24ce KT-12054 J2K generates obj is Type<Any> instead of obj is Type<*>
#KT-12054 Fixed
(cherry picked from commit 76e067c)
2016-05-05 19:02:28 +03:00
Valentin Kipyatkov
81a15d9327 KT-12039 Convert Java to Kotlin -- static imports are imported as Class.CONST (missing .Companion)
#KT-12039 Fixed
(cherry picked from commit a8eef5e)
2016-05-05 19:02:28 +03:00
Valentin Kipyatkov
b01fe77ba2 Minor simplification
(cherry picked from commit a80d36e)
2016-05-05 19:02:27 +03:00
Valentin Kipyatkov
f99e01018e Moved import conversion out of "ast" package
(cherry picked from commit 569483a)
2016-05-05 19:02:27 +03:00
Valentin Kipyatkov
393befe4fa Do not duplicate list of default imports
(cherry picked from commit 83442db)
2016-05-05 19:02:27 +03:00
Valentin Kipyatkov
4d9d11cbfb Extracted methods
(cherry picked from commit 08a37b3)
2016-05-05 19:02:26 +03:00
Valentin Kipyatkov
c8356fb261 KT-12046 Java to Kotlin dangerous conversion (recursive property set)
#KT-12046 Fixed
(cherry picked from commit a9eadcb)
2016-05-05 19:02:26 +03:00
Valentin Kipyatkov
2938092be6 Minor
(cherry picked from commit 9c0e120)
2016-05-05 19:02:26 +03:00
Valentin Kipyatkov
ed099857c0 KT-10770 IDEA cannot keep import if a type is only referenced by kdoc.
#KT-10770 Fixed
(cherry picked from commit e1d8c72)
2016-05-05 19:02:25 +03:00
Valentin Kipyatkov
e5b4eb5c19 KT-12069 Specify language for all Kotlin code inspections
#KT-12069 Fixed
(cherry picked from commit cd2161b)
2016-05-05 19:02:25 +03:00
Valentin Kipyatkov
3239c191fb Highlighting of redundant semicolons
#KT-5010 Fixed
(cherry picked from commit 306edef)
2016-05-05 19:02:25 +03:00
Valentin Kipyatkov
6a6bff90e8 ConvertPropertyInitializerToGetterIntention to not be available inside lambda initializer
(cherry picked from commit 77033f5)
2016-05-05 19:02:24 +03:00
Valentin Kipyatkov
0a410dbbf2 Minor change on code review
(cherry picked from commit a51fe9a)
2016-05-05 19:02:24 +03:00
Valentin Kipyatkov
ea6ddd7aa6 Dropped redundant code which was required for lambda signature completion when the syntax was different
#KT-12033 Fixed
(cherry picked from commit 45d460a)
2016-05-05 19:02:23 +03:00
Valentin Kipyatkov
23cfb1d9f9 KT-12068 Special completion item for "[]" get-operator access
#KT-12068 Fixed
(cherry picked from commit 40022e8)
2016-05-05 19:02:23 +03:00
Valentin Kipyatkov
9295c87845 Completion to complete non-imported classes on the first invocation
#KT-8527 Fixed
(cherry picked from commit deb75b3)
2016-05-05 19:02:23 +03:00
Valentin Kipyatkov
cd3a11c9e2 KT-11680 Code completion of label for existing return with value inserts redundant whitespace
#KT-11680 Fixed
 #KT-9993 Fixed
(cherry picked from commit f0dd70d)
2016-05-05 19:02:22 +03:00
Nikolay Krasko
99f31b66c3 Description for AddJvmOverloadsIntention 2016-05-05 17:32:36 +03:00
Nikolay Krasko
d9c3ef655e Enable JDK 8 level in some tests for correct convert for method references 2016-05-05 17:32:29 +03:00
Alexey Andreev
a9220dd4d8 JS/RTTI: minor refactoring of expandInCalls 2016-05-05 17:29:16 +03:00
Alexey Andreev
6e75886a3d JS/RTTI: if it's known that T <: X & Y, where T is non-reified type variable, for each a is T check that a is X && a is Y 2016-05-05 17:29:15 +03:00
Alexey Andreev
fbab016ba7 JS/RTTI: in expressions like a as T when inferred type for a is S, where S <: T, don't generate type checking 2016-05-05 17:29:14 +03:00
Alexey Andreev
d6d2189344 JS/RTTI. Fix runtime checking against kotlin.CharSequence 2016-05-05 17:29:13 +03:00
Alexey Andreev
c6e18ef0d5 JS/RTTI: fix withInlineTurnedOff test 2016-05-05 17:29:12 +03:00
Alexey Andreev
ab3fca5b64 JS/RTTI: fix compiler crashing when translating expressions like (continue as T) 2016-05-05 17:29:11 +03:00
Zalim Bashorov
aedd3f2d53 JS/RTTI. Fix build and tests 2016-05-05 17:29:10 +03:00
Alexey Tsvetkov
01a32f6318 JS/RTTI. Fix run-time type checking against Comparable 2016-05-05 17:29:09 +03:00
Alexey Tsvetkov
09c5214181 JS/RTTI. Fix RegExpMatch 2016-05-05 17:29:09 +03:00
Alexey Tsvetkov
c243a99947 JS/RTTI: removed Kotlin.orNull(Kotlin.isAny) optimization 2016-05-05 17:29:08 +03:00
Alexey Tsvetkov
88ab4724e4 JS/RTTI: added another cast to reified test 2016-05-05 17:29:07 +03:00
Alexey Tsvetkov
e975106995 JS/RTTI: Added cast to Array test 2016-05-05 17:29:05 +03:00
Alexey Tsvetkov
f44891c367 JS/RTTI: simplify cast to Any test 2016-05-05 17:29:04 +03:00
Alexey Tsvetkov
e940963dd2 JS/RTTI: fixed cast to generic type parameter with upper bound different than Any 2016-05-05 17:29:03 +03:00
Alexey Tsvetkov
eed4b1f2df JS/RTTI: (minor) fixed typo 2016-05-05 17:29:03 +03:00
Alexey Tsvetkov
b8179d9548 JS/RTTI: (minor) escape code fragments in comments 2016-05-05 17:29:02 +03:00
Alexey Tsvetkov
a7b06aabaf JS/RTTI: fix nullability check 2016-05-05 17:29:01 +03:00
Alexey Tsvetkov
0677294afa JS/RTTI: use Array.isArray to check array instance 2016-05-05 17:29:01 +03:00
Alexey Tsvetkov
aaf18f7b7c JS/RTTI: use typeof f === 'function' to check function instance 2016-05-05 17:29:00 +03:00
Alexey Tsvetkov
42baad25fd JS/RTTI: cast to generic type parameter as to Any 2016-05-05 17:28:59 +03:00
Alexey Tsvetkov
2122a30d41 JS/RTTI: fix cast to Any 2016-05-05 17:28:58 +03:00
Alexey Tsvetkov
ad6638da29 JS/RTTI: support safe casts 2016-05-05 17:28:58 +03:00
Alexey Tsvetkov
2aad39e41c JS/RTTI: support unsafe casts
#KT-2670 fixed
2016-05-05 17:28:57 +03:00
Alexey Tsvetkov
5af22ecd3b JS/RTTI: made cast test generated 2016-05-05 17:28:56 +03:00
Alexey Tsvetkov
d7625532be JS/RTTI: test that reified is-check works when inline turned off 2016-05-05 17:28:56 +03:00
Alexey Tsvetkov
73e53d8cf0 JS/RTTI: fixed double testing for null for reified 2016-05-05 17:28:55 +03:00
Alexey Tsvetkov
56191cf988 JS/RTTI: avoid possible side-effect for is-check on nullable type
#KT-7038 fixed
2016-05-05 17:28:54 +03:00
Alexey Tsvetkov
fff9783879 JS/RTTI: use generation for rtti test 2016-05-05 17:28:53 +03:00
Alexey Tsvetkov
e06eb6976e JS/RTTI: fixed is-check on nullable reified parameters
#KT-7016 fixed
    #KT-8012 fixed
2016-05-05 17:28:53 +03:00
Alexander Udalov
e8a89c1060 Revert "Minor, move SpecialNames.isSafeIdentifier check a little earlier"
This reverts commit 6858ec13de.

It turns out, this re-introduces an AssertionError at ClassId.<init> ("Class
name must not be root") when LazyJavaPackageScope#getContributedClassifier is
called during SAM constructor resolution below in
LazyJavaPackageScope#computeNonDeclaredFunctions, which was overlooked at the
time the commit was pushed
2016-05-04 17:45:18 +03:00
Mikhael Bogdanov
780fef14bf 'bytecodeText' test for synthetic accessor generic signature converted to 'writeSignature' test
(cherry picked from commit cd6b709)
2016-05-04 17:19:22 +03:00
Mikhael Bogdanov
a9bcde41d1 Fix for KT-12127: Undeclared type variable on delegated property backing field
#KT-12127 Fixed
(cherry picked from commit ee7bbbf)
2016-05-04 17:19:20 +03:00
Mikhael Bogdanov
f54ce18402 Update android test dependency to android 4.4.2 cause of missed test result problem on 4.1.2
(cherry picked from commit 09509b6)
2016-05-03 09:20:14 +03:00
Michael Bogdanov
d3baf847bf Support test with self imports, kotlin multifile tests
(cherry picked from commit e2ae2f3)
2016-05-03 09:20:12 +03:00
Michael Bogdanov
1f24f8ef75 Fix for "adb: Syntax error: ")" unexpected"
(cherry picked from commit 0f110b0)
2016-05-03 09:20:03 +03:00
Michael Bogdanov
3fbee04549 Ability to run tests via adb
(cherry picked from commit adda3ef)
2016-05-03 09:20:01 +03:00
Michael Bogdanov
5203f0f852 Android tests exclusion
(cherry picked from commit d4a7e36)
2016-05-03 09:20:00 +03:00
Michael Bogdanov
99d3ae396d Switch to gradle from gradle wrapper, use https instead of http to download files
(cherry picked from commit 896429a)
2016-05-03 09:19:58 +03:00
Michael Bogdanov
a62fac14a9 Code clean
(cherry picked from commit 309348c)
2016-05-03 09:19:56 +03:00
Michael Bogdanov
5fb178426c Wait some time before emulator stop, diabled emulator log redirection (otherise result reports would be inconsistent)
~emulator
(cherry picked from commit 7d77f91)
2016-05-03 09:19:54 +03:00
Michael Bogdanov
3093d958b3 More logging on adb server start
(cherry picked from commit be1cb40)
2016-05-03 09:19:52 +03:00
Michael Bogdanov
a3f7e0c769 Support WITH_REFLECT and 'Class.forName' android tests
(cherry picked from commit db6c72d)
2016-05-03 09:19:49 +03:00
Michael Bogdanov
f3b9ba2f06 Wait until emulator booted
(cherry picked from commit ed3d874)
2016-05-03 09:19:33 +03:00
Michael Bogdanov
e15b36e141 Use gradle build instead of ant one for android test module
(cherry picked from commit 2992e23)
2016-05-03 09:19:31 +03:00
Michael Bogdanov
efb6bbde69 Ecluded test from compilation: android report bad class file cause of missed generic parameter definition
(cherry picked from commit 3ad8b5b)
2016-05-03 09:19:29 +03:00
Michael Bogdanov
65ddf8a2c9 Temporary disable lint checks cause of problem with implicit 'stream' import
(cherry picked from commit 0abdc75)
2016-05-03 09:19:27 +03:00
Michael Bogdanov
eab688f5c1 Added support for tests with 'JvmName' annotation
(cherry picked from commit 3cebb7c)
2016-05-03 09:19:25 +03:00
Michael Bogdanov
bf77b1dc40 Call 'invokeBox' with proper class instance (not try to find it via reflection)
(cherry picked from commit 11e42c6)
2016-05-03 09:19:24 +03:00
Michael Bogdanov
7d7aa9ff05 Added gradle android test project
(cherry picked from commit 1eb3d2e)
2016-05-03 09:19:22 +03:00
Michael Bogdanov
21a21c55b7 Writing android sdk to local.properties
(cherry picked from commit 1f84ff7)
2016-05-03 09:19:20 +03:00
Ilya Gorbunov
5f4d716f5e Handle special cases of drop, take, takeLast when it is known in advance that the result is a single-item list. #KT-9990
(cherry picked from commit 249d08a66e)
2016-04-30 05:33:21 +03:00
Ilya Gorbunov
64f7009480 Change evaluation test data not to encounter special implementation of single element list.
(cherry picked from commit d70b46fd37)
2016-04-30 05:33:16 +03:00
Ilya Gorbunov
2a7814b2bb Optimize operations to return special collection implementations when result is empty or has single element.
#KT-9990

(cherry picked from commit a665b2183c)
2016-04-30 05:33:09 +03:00
Ilya Gorbunov
40e901f46e Remove runtime specialization in inline last and lastOrNull to prevent double inlining of predicate body.
(cherry picked from commit 2d12ed68c8)
2016-04-30 05:33:03 +03:00
Ilya Gorbunov
3b187abbe1 Do not use indexed access for lists not supporting RandomAccess
Add RandomAccess specialization.

(cherry picked from commit 09c1ff1233)
2016-04-30 05:32:57 +03:00
Ilya Gorbunov
3b9dcc11b2 Use list iterators instead of indexed access in operations on lists taking a lambda.
Related to #KT-9607

(cherry picked from commit f4f82656f7)
2016-04-30 05:32:51 +03:00
Nikolay Krasko
3b29421f6f Do not request write action for MoveDeclarationToSeparateFileIntention (EA-81511)
There's nothing but delegation to move refactoring. This started to fail in br146 because of this commit:
334772b7a8
2016-04-29 21:50:35 +03:00
Nikolay Krasko
9c9b64efea Revert another class of ComparisonFailure
Idea throws this class but not org.junit.ComparisonFailure
2016-04-29 21:50:34 +03:00
Nikolay Krasko
51de23f66f Fix path replacement in reference tests
The commit fixes ReferenceResolveInJavaTestGenerated$BinaryAndSource.testFileFacade.
2016-04-29 21:50:33 +03:00
Zalim Bashorov
97c1fedf38 Fix NoSuchMethodError when try to access in test to internal member from production for gradle projects imported into IDEA 16 or higher
#KT-11993 Fixed
(cherry picked from commit ed0fa2c)
2016-04-29 18:27:06 +03:00
Alexander Udalov
6e7388737a Do not locate running build in override.version
A build was finding itself with such request every time which made the version
override pointless
2016-04-29 17:21:06 +03:00
Alexander Udalov
2c77a23943 Update ChangeLog for 1.0.2 2016-04-29 15:44:41 +03:00
Alexander Udalov
6858ec13de Minor, move SpecialNames.isSafeIdentifier check a little earlier 2016-04-29 15:32:31 +03:00
Alexander Udalov
c6194d925c Minor optimization of lookup tracker records 2016-04-29 15:32:29 +03:00
Alexander Udalov
853200aa98 Combine Java package scope and Kotlin scopes in JvmPackageScope
Use it in LazyJavaPackageFragment#scope instead of a weird lazy chained scope.
Also move lookup tracker records to it, to prevent them from being written in
each package scope individually (this was hurting performance)
2016-04-29 15:32:27 +03:00
Alexander Udalov
9f63317900 Optimize class lookups in DeserializedPackageMemberScope
Do not try to load classes (and litter in ClassDeserializer#classes cache with
unsuccessful requests) which the deserialized scope knows nothing about. This
is possible because deserialized scopes have the full list of their class names
2016-04-29 15:32:24 +03:00
Kirill Rakhman
ce84e168d1 Implement Intention to add @JvmOverloads
Fixes #KT-11523
(cherry picked from commit 8e5481b)
2016-04-29 13:39:16 +02:00
Kirill Rakhman
d506346db3 Add quickfix to make referenced primary constructor parameter a property
Fixes #KT-12089
(cherry picked from commit f309920)
2016-04-29 12:16:09 +02:00
Kirill Rakhman
17cfee37b9 Quick fix for SUPERTYPE_IS_EXTENSION_FUNCTION_TYPE
Fixes #KT-11876
(cherry picked from commit 1c5322b)
2016-04-29 11:54:12 +02:00
Mikhail Glukhikh
3cd9bb9f86 IDEA: unnecessary 'val's removed from constructors
(cherry picked from commit 84a3f72)
2016-04-29 09:19:02 +03:00
Mikhail Glukhikh
0ff15c38a3 Core & compiler: unnecessary 'val's removed from constructors
(cherry picked from commit 5a66ef2)
2016-04-29 09:18:51 +03:00
Mikhail Glukhikh
831469f4d9 Android: unnecessary 'val's removed from constructors
(cherry picked from commit ee46c34)
2016-04-29 09:18:42 +03:00
Mikhail Glukhikh
f7b212b449 UAST: unnecessary 'val' removed from constructor
(cherry picked from commit 5c9d6fd)
2016-04-29 09:18:33 +03:00
Mikhail Glukhikh
3d3b061c31 JS: unnecessary 'val' removed from constructor
(cherry picked from commit a4be89e)
2016-04-29 09:10:38 +03:00
Kirill Rakhman
6f874e6dbc Add intrinsic for KCallable.name property Fixes #KT-11531 2016-04-28 23:04:06 +03:00
Ilya Gorbunov
f60cc2a2f7 reified assertFailsWith available in kotlin-test for JS
#KT-11346

(cherry picked from commit 4b533b297e)
2016-04-28 21:11:04 +03:00
Ilya Gorbunov
f9bc1b8c3b Make stdlib functions dependent on reified is checks available in JS.
#KT-11346 Fixed

(cherry picked from commit 409094f0f7)
2016-04-28 21:11:03 +03:00
Ilya Gorbunov
73be96e304 JS: Make AbstractList.size pure abstract.
#KT-7228 Fixed

(cherry picked from commit a5fd95c7d9)
2016-04-28 21:11:02 +03:00
Nikolay Krasko
42ec16c32f Check that injection with annotation on parameter doesn't trigger not-stubbed psi 2016-04-28 16:22:38 +03:00
Nikolay Krasko
247e435752 Don't analyze function body if only parameter analyze is requested 2016-04-28 16:22:38 +03:00
Nikolay Krasko
fd21f5ee80 Missing new line in error message (KT-12070)
#KT-12070 Fixed
2016-04-28 16:22:37 +03:00
Nikolay Krasko
0644a54883 Use partial resolve for annotation search 2016-04-28 16:22:36 +03:00
Nikolay Krasko
6117b822ab Use kotlin specific methods for pattern creation 2016-04-28 16:22:35 +03:00
Nikolay Krasko
6270ed81bf Refactoring: use language injection in ResolveElementCache.kt 2016-04-28 16:22:35 +03:00
Nikolay Krasko
249180f9f0 Refactoring: return injection tests to single test-class 2016-04-28 16:22:34 +03:00
Nikolay Krasko
93f8c711af Enable bootstrapping against 1.0.3 in 1.0.3 branch
This also should enable version auto-increment.
2016-04-28 13:41:14 +03:00
Kirill Rakhman
1f5a861402 Add quickfix to add 'toString' (#866)
Fixes #KT-12121
(cherry picked from commit 2629d23)
2016-04-28 11:31:29 +02:00
Nikolay Krasko
1a2c67cb4b Test data modification: Don't compute compiled bytecode for same expression twice
Result of dc9fa6d9ac commit.
Previously computation were saved into the map that were invalidated by the computation. Now map is recreated after computation and result is saved into it.
2016-04-28 00:14:02 +03:00
Sergey Mashkov
45daf1f42b Maven: rebase to master 2016-04-27 22:10:51 +03:00
Sergey Mashkov
65985b184f Maven: review 2016-04-27 22:10:50 +03:00
Sergey Mashkov
ec113ac691 Maven: convert to Kotlin 2016-04-27 22:10:50 +03:00
Sergey Mashkov
31a57190e0 Maven: reorganize code: move classes across packages 2016-04-27 22:10:49 +03:00
Sergey Mashkov
adad2ef5fe Maven: inspection maven plugin and ide plugin should have the same version 2016-04-27 22:10:49 +03:00
Sergey Mashkov
5e8f91bd2a Maven: versions inspection: kotlin plugin and library should have the same version 2016-04-27 22:10:49 +03:00
Sergey Mashkov
b49693f30f Maven: kotlin-maven-plugin configuration source dirs completion 2016-04-27 22:10:48 +03:00
Sergey Mashkov
5f826b7ff4 KT-11743 Intention to replace kotlin-test with kotlin-test-junit 2016-04-27 22:10:48 +03:00
Sergey Mashkov
c50c111fdf Maven: never generate JUnit (but keep code so we will be able to introduce checkbox in configurator to optionally add junit and chose version) 2016-04-27 22:10:47 +03:00
Sergey Mashkov
b20aa6e5bd KT-11731 Default maven integration doesn't include documentation
trigger sources download for stdlib/runtime/test at project import
2016-04-27 22:10:47 +03:00
Sergey Mashkov
4927d6cce2 Maven: extract maven support to the separate module 2016-04-27 22:10:47 +03:00
Sergey Mashkov
693ea83924 KT-11556 "Kotlin not configured" in Kotlin/JS project 2016-04-27 22:10:46 +03:00
Sergey Mashkov
4ed3befa71 KT-11701 Add Maven Dependency quick fix could be supported in Kotlin sources
~ initial draft
2016-04-27 22:10:46 +03:00
Sergey Mashkov
82b26e009a KT-11436 "Choose Configurator" control opens dialogs with inconsistent modality (linux) 2016-04-27 22:10:45 +03:00
Sergey Mashkov
5814197257 KT-11643 Inspections and intentions to fix misconfigured Maven pom
make misconfigured maven project configurable
2016-04-27 22:10:45 +03:00
Sergey Mashkov
4e4f7438f1 KT-11643 Inspections and intentions to fix misconfigured Maven pom 2016-04-27 22:10:45 +03:00
Sergey Mashkov
faf758ffdd KT-9492 Configuring multiple Maven Modules
- kotlin mavne configurator shouldn't configure child modules but parents as children inherit everything
2016-04-27 22:10:44 +03:00
Sergey Mashkov
cd5c533351 KT-11642 Kotlin Maven configurator tags order 2016-04-27 22:10:44 +03:00
Mikhail Glukhikh
1ad77837cf Correct handling of empty super type list while adding an entry #KT-12011 Fixed
(cherry picked from commit 918f843)
2016-04-27 18:48:49 +03:00
Mikhail Glukhikh
82c331d03d Can be parameter inspection: use inside object literals is now handled as "property use"
(cherry picked from commit 1744897)
2016-04-27 18:48:34 +03:00
Mikhail Glukhikh
97330a72cd Can be parameter inspection: use in selector position is now always handled as "property use"
(cherry picked from commit 64ae9af)
2016-04-27 18:48:23 +03:00
Mikhail Glukhikh
c04153910f Can be parameter inspection: use inside function literals is now handled as "property use" #KT-11949 Fixed
(cherry picked from commit 795b924)
2016-04-27 18:48:11 +03:00
Alexey Sedunov
6ae2d28cf5 Change Signature: Do not use local declaration as a context for a type code fragment
(cherry picked from commit e6ab2f1)
2016-04-27 18:27:45 +03:00
Mikhail Glukhikh
e104817ed1 Regular checkType() is now called during condition analysis, TYPE_MISMATCH_IN_CONDITION removed #KT-11998 Fixed
(cherry picked from commit 6b945ba)
2016-04-27 18:20:31 +03:00
Alexander Udalov
e402b82f00 Consider non-running as well as running builds in version override 2016-04-27 14:13:44 +03:00
Alexander Udalov
88ad4bb956 Perform version override earlier and only on teamcity 2016-04-27 10:56:06 +03:00
Mikhail Zarechenskiy
e9b1476112 Move part of code that related to 'Optimize imports' action to ide-common module 2016-04-26 21:34:20 +03:00
Mikhail Zarechenskiy
4ea9332892 Get rid of guava's collections and dependency on Idea's settings from util function
This commit prepares 'prepareOptimizedImports' function to
move to the ide-common module to reuse it in the Eclipse plugin
2016-04-26 21:34:12 +03:00
Nikolay Krasko
a19fc430cd Do no analyze for annotation search if no annotation entries present 2016-04-26 20:46:53 +03:00
Nikolay Krasko
c914583a7a Add note about fixing deadlock in debugger (KT-12067) 2016-04-26 20:46:52 +03:00
Nikolay Krasko
fcfa0b0297 Enable injection in injection tests 2016-04-26 20:46:51 +03:00
Nikolay Krasko
9fde765e22 Make parameter injection work for Java methods 2016-04-26 20:46:51 +03:00
Nikolay Krasko
437e5e98cc First version of injection with annotation on parameter 2016-04-26 20:46:50 +03:00
Nikolay Krasko
2aeea4ef0e Implement withAnnotation() pattern for parameter pattern 2016-04-26 20:46:49 +03:00
Nikolay Krasko
d0304a251e Refactoring replace trimMargin() with trimIndent(). This is preparation for injection bootstrapping in tests. 2016-04-26 20:46:48 +03:00
Nikolay Krasko
7d2698473d Add write action for shorten references in finish template after building call (KT-12056)
Write action was removed in idea 146

#KT-12056 Fixed
2016-04-26 20:46:47 +03:00
Nikolay Krasko
51ab247bc5 Add write action for shortening references in templates (KT-11418)
Write action was removed in idea 146.

#KT-11418 Fixed
2016-04-26 20:46:46 +03:00
Nikolay Krasko
ff83391e97 Revert write actions in utility code (EA-81892)
Revert commits:
ab0fe0a900
97a97614b5
2016-04-26 20:46:46 +03:00
Nikolay Krasko
3c97ae4c5c Auto-test running intention isApplicable() from pooled thread 2016-04-26 20:46:45 +03:00
Alexey Sedunov
917a8f09db Change Signature: Fix context element for type code fragments to avoid bogus "Type can not be resolved" warnings
#KT-11862 Fixed
(cherry picked from commit 9858b17)
2016-04-26 20:17:20 +03:00
Zalim Bashorov
a523fd3742 Minor: fix tests
(cherry picked from commit 3048c29)
2016-04-26 19:13:28 +03:00
Alexey Andreev
fe2b7d6060 KT-11100 Fix generation of name of FakeCallableDescriptorForObject that is presumably used to express invoke operator on (companion) objects 2016-04-26 17:08:09 +03:00
Kirill
ce5e02bd20 Format spaces in infix call (KT-12018)
#KT-12018 Fixed
2016-04-26 15:44:23 +03:00
Kirill
212bb21e7c Format spaces in cast expression (KT-12035)
#KT-12035 Fixed
2016-04-26 15:44:14 +03:00
Alexey Sedunov
ea22c0f891 Move: Optimize imports after applying "Move declaration to separate file" intention
#KT-10174 Fixed
(cherry picked from commit a00c524)
2016-04-26 14:08:50 +03:00
Alexey Sedunov
a0e2193383 Move: Keep original file package name when moving top-level declarations to separate file (provided it's not ambiguous)
#KT-10950 Fixed
(cherry picked from commit 676000c)
2016-04-26 14:08:42 +03:00
Alexey Sedunov
711ae62ed2 Move: Allow choosing source root in "Move file to directory" intention
#KT-11512 Fixed
(cherry picked from commit 332fe29)
2016-04-26 14:08:34 +03:00
Alexey Sedunov
f5df3b7d7e Move: Convert implicit receiver to this when moving class member to companion object
#KT-11483 Fixed
(cherry picked from commit aaa873f)
2016-04-26 14:08:21 +03:00
Alexey Sedunov
77a0fb4e01 Move: Add missing write action
#KT-11482 Fixed
(cherry picked from commit 6faedc1)
2016-04-26 14:08:11 +03:00
Denis Zharkov
cd8305b07a Use different version numbers for 1.0.3 2016-04-25 18:57:01 +03:00
Zalim Bashorov
cfaa68317a Add Unit to compiled part of Kotlin JS stdlib and don't show "Kotlin not configured" for Kotlin JS projects
#KT-11556 Fixed

(cherry picked from commit 658eac2)
2016-04-25 18:04:38 +03:00
27241 changed files with 233278 additions and 877545 deletions

21
.gitignore vendored
View File

@@ -7,18 +7,17 @@
/gh-pages
/ideaSDK
/android-studio/sdk
/out
/tmp
out
tmp
workspace.xml
*.versionsBackup
/idea/testData/debugger/tinyApp/classes*
/jps-plugin/testData/kannotator
/ultimate/dependencies
/ultimate/ideaSDK
/ultimate/out
/ultimate/tmp
/js/js.translator/testData/**/out/
.gradle/
build/
!**/src/**/build
ultimate/.DS_Store
ultimate/.idea/shelf
ultimate/dependencies
ultimate/ideaSDK
ultimate/out
ultimate/tmp
ultimate/workspace.xml
ultimate/*.versionsBackup

3
.idea/ant.xml generated
View File

@@ -3,7 +3,7 @@
<component name="AntConfiguration">
<buildFile url="file://$PROJECT_DIR$/compiler/frontend/buildLexer.xml" />
<buildFile url="file://$PROJECT_DIR$/build.xml">
<antCommandLine value="-J-ea" />
<antCommandLine value="-J-XX:MaxPermSize=100m -J-ea" />
<maximumHeapSize value="1024" />
</buildFile>
<buildFile url="file://$PROJECT_DIR$/update_dependencies.xml" />
@@ -18,6 +18,5 @@
</properties>
</buildFile>
<buildFile url="file://$PROJECT_DIR$/TeamCityRelay.xml" />
<buildFile url="file://$PROJECT_DIR$/node_utils.xml" />
</component>
</project>

27
.idea/artifacts/KotlinBarePlugin.xml generated Normal file
View File

@@ -0,0 +1,27 @@
<component name="ArtifactManager">
<artifact name="KotlinBarePlugin">
<output-path>$PROJECT_DIR$/out/artifacts/BareKotlin</output-path>
<properties id="ant-postprocessing">
<options enabled="true">
<file>file://$PROJECT_DIR$/idea-runner/runner.xml</file>
<target>copy-runtime-for-idea-plugin</target>
</options>
</properties>
<root id="root">
<element id="directory" name="kotlinc">
<element id="dir-copy" path="$PROJECT_DIR$/dist/kotlinc" />
</element>
<element id="directory" name="lib">
<element id="archive" name="kotlin-bare-plugin.jar">
<element id="module-output" name="bare-plugin" />
<element id="module-output" name="descriptor.loader.java" />
<element id="module-output" name="frontend.java" />
<element id="module-output" name="descriptors" />
</element>
<element id="directory" name="jps">
<element id="artifact" artifact-name="KotlinJpsPlugin" />
</element>
</element>
</root>
</artifact>
</component>

View File

@@ -11,6 +11,7 @@
<element id="directory" name="META-INF">
<element id="dir-copy" path="$PROJECT_DIR$/jps-plugin/src/META-INF" />
</element>
<element id="extracted-dir" path="$PROJECT_DIR$/dependencies/cli-parser-1.1.2.jar" path-in-jar="/" />
<element id="module-output" name="cli-common" />
<element id="module-output" name="idea-jps-common" />
<element id="module-output" name="jps-plugin" />
@@ -24,7 +25,6 @@
<element id="extracted-dir" path="$PROJECT_DIR$/dependencies/native-platform-uberjar.jar" path-in-jar="/" />
<element id="module-output" name="android-extensions-jps" />
<element id="module-output" name="build-common" />
<element id="module-output" name="compiler-runner" />
</root>
</artifact>
</component>

View File

@@ -10,7 +10,6 @@
<root id="root">
<element id="directory" name="lib">
<element id="archive" name="kotlin-plugin.jar">
<element id="extracted-dir" path="$PROJECT_DIR$/dependencies/cli-parser-1.1.2.jar" path-in-jar="/" />
<element id="module-output" name="backend" />
<element id="module-output" name="frontend" />
<element id="module-output" name="descriptors" />
@@ -25,12 +24,11 @@
<element id="module-output" name="js.parser" />
<element id="module-output" name="cli-common" />
<element id="module-output" name="idea-jps-common" />
<element id="module-output" name="build-common" />
<element id="module-output" name="preloader" />
<element id="module-output" name="deserialization" />
<element id="module-output" name="backend-common" />
<element id="library" level="project" name="builtins" />
<element id="module-output" name="js.ast" />
<element id="module-output" name="js.dart-ast" />
<element id="directory" name="kotlin">
<element id="dir-copy" path="$PROJECT_DIR$/core/builtins/native/kotlin" />
<element id="dir-copy" path="$PROJECT_DIR$/core/builtins/src/kotlin" />
@@ -54,59 +52,29 @@
<element id="module-output" name="idea-ultimate" />
<element id="module-output" name="formatter" />
<element id="module-output" name="idea-maven" />
<element id="extracted-dir" path="$PROJECT_DIR$/dependencies/protobuf-2.6.1.jar" path-in-jar="/" />
<element id="module-output" name="backend.common" />
<element id="module-output" name="ir.tree" />
<element id="module-output" name="backend.jvm" />
<element id="module-output" name="ir.psi2ir" />
<element id="module-output" name="annotation-based-compiler-plugins-ide-support" />
<element id="module-output" name="frontend.script" />
<element id="extracted-dir" path="$PROJECT_DIR$/dependencies/protobuf-2.5.0.jar" path-in-jar="/" />
</element>
<element id="library" level="project" name="javax.inject" />
<element id="directory" name="jps">
<element id="artifact" artifact-name="KotlinJpsPlugin" />
</element>
<element id="library" level="project" name="markdown" />
<element id="archive" name="android-extensions-ide.jar">
<element id="archive" name="kotlin-android-extensions-plugin.jar">
<element id="module-output" name="android-extensions-idea" />
</element>
<element id="archive" name="android-extensions-compiler.jar">
<element id="archive" name="kotlin-android-extensions-compiler-plugin.jar">
<element id="module-output" name="android-extensions-compiler" />
<element id="module-output" name="android-extensions-runtime" />
</element>
<element id="archive" name="android-lint.jar">
<element id="module-output" name="uast-kotlin" />
<element id="module-output" name="lint-idea" />
<element id="module-output" name="uast-java" />
<element id="module-output" name="uast-common" />
<element id="module-output" name="lint-checks" />
<element id="library" level="project" name="guava" />
<element id="module-output" name="lint-api" />
<element id="module-output" name="uast-kotlin-idea" />
<element id="module-output" name="uast-android" />
</element>
<element id="archive" name="allopen-ide-plugin.jar">
<element id="module-output" name="allopen-ide" />
</element>
<element id="archive" name="allopen-compiler-plugin.jar">
<element id="module-output" name="allopen-cli" />
</element>
<element id="archive" name="noarg-compiler-plugin.jar">
<element id="module-output" name="noarg-cli" />
</element>
<element id="archive" name="noarg-ide-plugin.jar">
<element id="module-output" name="noarg-ide" />
</element>
<element id="file-copy" path="$PROJECT_DIR$/dependencies/bootstrap-compiler/Kotlin/kotlinc/lib/kotlin-script-runtime.jar" />
<element id="archive" name="sam-with-receiver-compiler-plugin.jar">
<element id="module-output" name="sam-with-receiver-cli" />
</element>
<element id="archive" name="sam-with-receiver-ide-plugin.jar">
<element id="module-output" name="sam-with-receiver-ide" />
</element>
<element id="archive" name="kotlin-gradle-tooling.jar">
<element id="module-output" name="kotlin-gradle-tooling" />
</element>
<element id="library" level="project" name="uast-java" />
<element id="library" level="project" name="kotlinx-coroutines-core" />
<element id="library" level="project" name="javaslang" />
<element id="library" level="project" name="kotlinx-coroutines-jdk8" />
</element>
<element id="directory" name="kotlinc">
<element id="dir-copy" path="$PROJECT_DIR$/dist/kotlinc" />

View File

@@ -60,9 +60,6 @@
<option name="WHILE_BRACE_FORCE" value="1" />
<option name="FOR_BRACE_FORCE" value="1" />
<option name="FIELD_ANNOTATION_WRAP" value="0" />
<MarkdownNavigatorCodeStyleSettings>
<option name="RIGHT_MARGIN" value="72" />
</MarkdownNavigatorCodeStyleSettings>
<XML>
<option name="XML_LEGACY_SETTINGS_IMPORTED" value="true" />
</XML>
@@ -145,6 +142,10 @@
<option name="FOR_BRACE_FORCE" value="1" />
<option name="FIELD_ANNOTATION_WRAP" value="0" />
<option name="PARENT_SETTINGS_INSTALLED" value="true" />
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="HTML">
<indentOptions>

10
.idea/compiler.xml generated
View File

@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<option name="DEFAULT_COMPILER" value="Javac" />
<option name="BUILD_PROCESS_HEAP_SIZE" value="2000" />
<excludeFromCompile>
<directory url="file://$PROJECT_DIR$/core/reflection.jvm" includeSubdirectories="true" />
<directory url="file://$PROJECT_DIR$/core/runtime.jvm" includeSubdirectories="true" />
<directory url="file://$PROJECT_DIR$/core/builtins" includeSubdirectories="true" />
<directory url="file://$PROJECT_DIR$/core/script.runtime" includeSubdirectories="true" />
</excludeFromCompile>
<resourceExtensions />
<wildcardResourcePatterns>
<entry name="!?*.java" />
<entry name="!?*.form" />
@@ -18,8 +18,14 @@
<entry name="!?*.kt" />
<entry name="!?*.clj" />
</wildcardResourcePatterns>
<annotationProcessing>
<profile default="true" name="Default" enabled="false">
<processorPath useClasspath="true" />
</profile>
</annotationProcessing>
<bytecodeTargetLevel>
<module name="android-studio" target="1.8" />
<module name="bare-plugin" target="1.8" />
<module name="idea" target="1.8" />
<module name="idea-analysis" target="1.8" />
<module name="idea-completion" target="1.8" />

View File

@@ -1,7 +0,0 @@
<component name="ProjectDictionaryState">
<dictionary name="4u7">
<words>
<w>foldable</w>
</words>
</dictionary>
</component>

View File

@@ -2,7 +2,6 @@
<dictionary name="Nikolay.Krasko">
<words>
<w>accessors</w>
<w>crossinline</w>
<w>fqname</w>
<w>goto</w>
<w>gradle</w>
@@ -17,7 +16,6 @@
<w>preloading</w>
<w>preprocess</w>
<w>redeclarations</w>
<w>smap</w>
<w>subclassed</w>
<w>subgraph</w>
<w>substep</w>

View File

@@ -3,7 +3,6 @@
<words>
<w>ctor</w>
<w>interner</w>
<w>kclass</w>
<w>lookups</w>
<w>unescape</w>
</words>

View File

@@ -2,9 +2,7 @@
<dictionary name="dzharkov">
<words>
<w>checkcast</w>
<w>coroutine</w>
<w>insn</w>
<w>liveness</w>
</words>
</dictionary>
</component>

View File

@@ -3,7 +3,6 @@
<words>
<w>decapitalize</w>
<w>delegator</w>
<w>elipsis</w>
<w>funs</w>
<w>immediates</w>
<w>initializers</w>
@@ -18,7 +17,6 @@
<w>renderers</w>
<w>rparenth</w>
<w>selectioner</w>
<w>smartcast</w>
<w>summand</w>
<w>unpluralize</w>
<w>weighers</w>

View File

@@ -1,9 +0,0 @@
<component name="ProjectDictionaryState">
<dictionary name="yan">
<words>
<w>impls</w>
<w>kapt</w>
<w>uast</w>
</words>
</dictionary>
</component>

View File

@@ -1,6 +1,7 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<profile version="1.0" is_locked="false">
<option name="myName" value="idea.default" />
<option name="myLocal" value="false" />
<inspection_tool class="AbstractMethodCallInConstructor" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ArchaicSystemPropertyAccess" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AssignmentToForLoopParameter" enabled="true" level="WARNING" enabled_by_default="true">
@@ -235,7 +236,6 @@
<scope name="idea openapi" level="WARNING" enabled="true" />
<scope name="runtime.classes" level="ERROR" enabled="true" />
</inspection_tool>
<inspection_tool class="LoopToCallChain" enabled="false" level="INFO" enabled_by_default="false" />
<inspection_tool class="MethodMayBeStatic" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_onlyPrivateOrFinal" value="false" />
<option name="m_ignoreEmptyMethods" value="true" />
@@ -342,12 +342,11 @@
<constraint name="__context__" script="&quot;&quot;" within="" contains="" />
</searchConfiguration>
</inspection_tool>
<inspection_tool class="SameParameterValue" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="SetReplaceableByEnumSet" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SetupCallsSuperSetup" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SetupIsPublicVoidNoArg" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SimplifiableIfStatement" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="Since15" enabled="false" level="ERROR" enabled_by_default="false">
<inspection_tool class="Since15" enabled="true" level="ERROR" enabled_by_default="true">
<scope name="IDEA Test Sources" level="ERROR" enabled="false" />
</inspection_tool>
<inspection_tool class="SocketResource" enabled="true" level="WARNING" enabled_by_default="true">
@@ -412,7 +411,6 @@
<inspection_tool class="UnnecessaryUnboxing" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UseOfPropertiesAsHashtable" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UtilityClassWithPublicConstructor" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="VolatileLongOrDoubleField" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="WaitNotInLoop" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="WaitNotInSynchronizedContext" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="WaitWhileHoldingTwoLocks" enabled="true" level="WARNING" enabled_by_default="true" />

4
.idea/kotlinc.xml generated
View File

@@ -1,9 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="KotlinCommonCompilerArguments">
<option name="languageVersion" value="1.1" />
<option name="apiVersion" value="1.1" />
</component>
<component name="KotlinCompilerSettings">
<option name="additionalArguments" value="-version -Xallow-kotlin-package -Xskip-metadata-version-check" />
</component>

14
.idea/libraries/Rhino.xml generated Normal file
View File

@@ -0,0 +1,14 @@
<component name="libraryTable">
<library name="Rhino">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/dependencies/rhino-1.7.6.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/rhino-1.7.6-sources.jar!/rhino1.7.6/src" />
</SOURCES>
</library>
</component>

View File

@@ -1,9 +0,0 @@
<component name="libraryTable">
<library name="android-layoutlib">
<CLASSES>
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/lib/layoutlib.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -6,6 +6,7 @@
<CLASSES>
<root url="file://$PROJECT_DIR$/ideaSDK/plugins/android/lib" />
<root url="file://$PROJECT_DIR$/ideaSDK/plugins/android/lib/jps" />
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/android-common.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>

View File

@@ -8,7 +8,7 @@
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/asm-src.zip!/" />
<root url="jar://$PROJECT_DIR$/dependencies/asm5-src.zip!/" />
</SOURCES>
</library>
</component>

11
.idea/libraries/cli_parser.xml generated Normal file
View File

@@ -0,0 +1,11 @@
<component name="libraryTable">
<library name="cli-parser">
<CLASSES>
<root url="jar://$PROJECT_DIR$/dependencies/cli-parser-1.1.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/cli-parser-1.1.2-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -3,6 +3,7 @@
<CLASSES>
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/coverage/lib/coverage.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/coverage/lib/jacocoant.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/coverage/lib/coverage-agent.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>

View File

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

View File

@@ -9,9 +9,9 @@
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/guava-19.0-sources.jar!/" />
<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.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/asm-src.zip!/" />
</SOURCES>
<jarDirectory url="file://$PROJECT_DIR$/ideaSDK/lib" recursive="false" />
</library>

View File

@@ -5,27 +5,14 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/ideaSDK/core/annotations.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/core/asm-all.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/core/guava-19.0.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/core/intellij-core.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/core/jdom.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/core/jna.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/core/log4j.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/core/picocontainer.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/core/snappy-in-java-0.5.1.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/core/trove4j.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/core/util.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/core/xpp3-1.1.4-min.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/core/xstream-1.4.8.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/jsr305.jar!/" />
<root url="file://$PROJECT_DIR$/ideaSDK/core" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/guava-19.0-sources.jar!/" />
<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.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/asm-src.zip!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/jsr305.jar!/" />
</SOURCES>
<jarDirectory url="file://$PROJECT_DIR$/ideaSDK/core" recursive="false" />
</library>
</component>

View File

@@ -0,0 +1,17 @@
<component name="libraryTable">
<library name="intellij-core-analysis">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/ideaSDK/core-analysis/intellij-core-analysis.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/asm5-src.zip!/" />
<root url="jar://$PROJECT_DIR$/dependencies/guava-17.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,11 +0,0 @@
<component name="libraryTable">
<library name="javaslang">
<CLASSES>
<root url="jar://$PROJECT_DIR$/dependencies/javaslang-2.0.6.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/javaslang-2.0.6-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -9,6 +9,17 @@
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/jps/antLayout/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/jps/jps-builders/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/jps/jps-builders/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/jps/jps-launcher/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/jps/model-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/jps/model-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/jps/model-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/jps/model-serialization/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/jps/model-serialization/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/jps/plugin-system/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/jps/standalone-builder/src" />
</SOURCES>
<jarDirectory url="file://$PROJECT_DIR$/ideaSDK/jps" recursive="false" />
</library>

View File

@@ -1,9 +0,0 @@
<component name="libraryTable">
<library name="json-org">
<CLASSES>
<root url="jar://$PROJECT_DIR$/dependencies/json-org.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -4,9 +4,6 @@
<root url="jar://$KOTLIN_BUNDLED$/lib/kotlin-reflect.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="file://$PROJECT_DIR$/core/reflection.jvm/src" />
<root url="file://$PROJECT_DIR$/core/descriptors.runtime/src" />
</SOURCES>
<SOURCES />
</library>
</component>

View File

@@ -1,9 +0,0 @@
<component name="libraryTable">
<library name="kotlin-script-runtime">
<CLASSES>
<root url="jar://$KOTLIN_BUNDLED$/lib/kotlin-script-runtime.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -1,13 +1,13 @@
<component name="libraryTable">
<library name="kotlin-test">
<CLASSES>
<root url="jar://$KOTLIN_BUNDLED$/lib/kotlin-test.jar!/" />
<root url="jar://$KOTLIN_BUNDLED$/lib/kotlin-test.jar!/"/>
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="file://$PROJECT_DIR$/libraries/kotlin.test/shared/src/main/kotlin" />
<root url="file://$PROJECT_DIR$/libraries/kotlin.test/shared/src/main/kotlin.jvm" />
<root url="file://$PROJECT_DIR$/libraries/kotlin.test/junit/src/main/kotlin" />
<root url="file://$PROJECT_DIR$/libraries/kotlin.test/common/src/main/kotlin" />
<root url="file://$PROJECT_DIR$/libraries/kotlin.test/jvm/src/main/kotlin" />
</SOURCES>
</library>
</component>

View File

@@ -1,11 +0,0 @@
<component name="libraryTable">
<library name="kotlinx-coroutines-core">
<CLASSES>
<root url="jar://$PROJECT_DIR$/dependencies/kotlinx-coroutines-core.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/kotlinx-coroutines-core-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,11 +0,0 @@
<component name="libraryTable">
<library name="kotlinx-coroutines-jdk8">
<CLASSES>
<root url="jar://$PROJECT_DIR$/dependencies/kotlinx-coroutines-jdk8.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/kotlinx-coroutines-jdk8-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -5,7 +5,6 @@
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/properties/lib/properties.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/properties/lib/resources_en.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>

View File

@@ -4,11 +4,11 @@
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/dependencies/protobuf-2.6.1.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/protobuf-2.5.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/protobuf-2.6.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/protobuf-2.5.0-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -7,6 +7,11 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/trove4j.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
<SOURCES>
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/src/trove4j_src.jar!/core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/src/trove4j_src.jar!/generated/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/src/trove4j_src.jar!/test/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/src/trove4j_src.jar!/util/src" />
</SOURCES>
</library>
</component>

View File

@@ -1,15 +0,0 @@
<component name="libraryTable">
<library name="uast-java">
<CLASSES>
<root url="jar://$PROJECT_DIR$/dependencies/uast-common.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/uast-java.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/uast-tests.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/uast-common-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/uast-java-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/uast-tests-sources.jar!/" />
</SOURCES>
</library>
</component>

3
.idea/misc.xml generated
View File

@@ -6,6 +6,7 @@
</properties>
</component>
<component name="EntryPointsManager">
<entry_points version="2.0" />
<list size="1">
<item index="0" class="java.lang.String" itemvalue="javax.inject.Inject" />
</list>
@@ -48,7 +49,7 @@
<component name="ProjectResources">
<default-html-doctype>http://www.w3.org/1999/xhtml</default-html-doctype>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="false" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" default="false" assert-keyword="true" jdk-15="true" project-jdk-name="1.6" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
<component name="SuppressABINotification">

30
.idea/modules.xml generated
View File

@@ -3,29 +3,23 @@
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/Kotlin.iml" filepath="$PROJECT_DIR$/Kotlin.iml" />
<module fileurl="file://$PROJECT_DIR$/plugins/allopen/allopen-cli/allopen-cli.iml" filepath="$PROJECT_DIR$/plugins/allopen/allopen-cli/allopen-cli.iml" group="plugins/allopen" />
<module fileurl="file://$PROJECT_DIR$/plugins/allopen/allopen-ide/allopen-ide.iml" filepath="$PROJECT_DIR$/plugins/allopen/allopen-ide/allopen-ide.iml" group="plugins/allopen" />
<module fileurl="file://$PROJECT_DIR$/plugins/lint/android-annotations/android-annotations.iml" filepath="$PROJECT_DIR$/plugins/lint/android-annotations/android-annotations.iml" />
<module fileurl="file://$PROJECT_DIR$/plugins/android-extensions/android-extensions-compiler/android-extensions-compiler.iml" filepath="$PROJECT_DIR$/plugins/android-extensions/android-extensions-compiler/android-extensions-compiler.iml" group="plugins/android-extensions" />
<module fileurl="file://$PROJECT_DIR$/plugins/android-extensions/android-extensions-idea/android-extensions-idea.iml" filepath="$PROJECT_DIR$/plugins/android-extensions/android-extensions-idea/android-extensions-idea.iml" group="plugins/android-extensions" />
<module fileurl="file://$PROJECT_DIR$/plugins/android-extensions/android-extensions-jps/android-extensions-jps.iml" filepath="$PROJECT_DIR$/plugins/android-extensions/android-extensions-jps/android-extensions-jps.iml" group="plugins/android-extensions" />
<module fileurl="file://$PROJECT_DIR$/plugins/android-extensions/android-extensions-runtime/android-extensions-runtime.iml" filepath="$PROJECT_DIR$/plugins/android-extensions/android-extensions-runtime/android-extensions-runtime.iml" group="plugins/android-extensions" />
<module fileurl="file://$PROJECT_DIR$/android-studio/android-studio.iml" filepath="$PROJECT_DIR$/android-studio/android-studio.iml" group="ide" />
<module fileurl="file://$PROJECT_DIR$/compiler/android-tests/android-tests.iml" filepath="$PROJECT_DIR$/compiler/android-tests/android-tests.iml" group="compiler" />
<module fileurl="file://$PROJECT_DIR$/plugins/annotation-based-compiler-plugins-ide-support/annotation-based-compiler-plugins-ide-support.iml" filepath="$PROJECT_DIR$/plugins/annotation-based-compiler-plugins-ide-support/annotation-based-compiler-plugins-ide-support.iml" group="plugins" />
<module fileurl="file://$PROJECT_DIR$/plugins/annotation-collector/annotation-collector.iml" filepath="$PROJECT_DIR$/plugins/annotation-collector/annotation-collector.iml" group="plugins" />
<module fileurl="file://$PROJECT_DIR$/ant/ant.iml" filepath="$PROJECT_DIR$/ant/ant.iml" />
<module fileurl="file://$PROJECT_DIR$/compiler/backend/backend.iml" filepath="$PROJECT_DIR$/compiler/backend/backend.iml" group="compiler/java" />
<module fileurl="file://$PROJECT_DIR$/compiler/backend-common/backend-common.iml" filepath="$PROJECT_DIR$/compiler/backend-common/backend-common.iml" group="compiler" />
<module fileurl="file://$PROJECT_DIR$/compiler/ir/backend.common/backend.common.iml" filepath="$PROJECT_DIR$/compiler/ir/backend.common/backend.common.iml" group="compiler/ir" />
<module fileurl="file://$PROJECT_DIR$/compiler/ir/backend.jvm/backend.jvm.iml" filepath="$PROJECT_DIR$/compiler/ir/backend.jvm/backend.jvm.iml" group="compiler/ir" />
<module fileurl="file://$PROJECT_DIR$/jps-plugin/bare-plugin/bare-plugin.iml" filepath="$PROJECT_DIR$/jps-plugin/bare-plugin/bare-plugin.iml" group="ide/jps" />
<module fileurl="file://$PROJECT_DIR$/build-common/build-common.iml" filepath="$PROJECT_DIR$/build-common/build-common.iml" />
<module fileurl="file://$PROJECT_DIR$/core/builtins/builtins.iml" filepath="$PROJECT_DIR$/core/builtins/builtins.iml" group="core" />
<module fileurl="file://$PROJECT_DIR$/compiler/builtins-serializer/builtins-serializer.iml" filepath="$PROJECT_DIR$/compiler/builtins-serializer/builtins-serializer.iml" group="compiler/cli" />
<module fileurl="file://$PROJECT_DIR$/compiler/cli/cli.iml" filepath="$PROJECT_DIR$/compiler/cli/cli.iml" group="compiler/cli" />
<module fileurl="file://$PROJECT_DIR$/compiler/cli/cli-common/cli-common.iml" filepath="$PROJECT_DIR$/compiler/cli/cli-common/cli-common.iml" group="compiler/cli" />
<module fileurl="file://$PROJECT_DIR$/compiler/cli/cli-runner/cli-runner.iml" filepath="$PROJECT_DIR$/compiler/cli/cli-runner/cli-runner.iml" group="compiler/cli" />
<module fileurl="file://$PROJECT_DIR$/compiler/compiler-runner/compiler-runner.iml" filepath="$PROJECT_DIR$/compiler/compiler-runner/compiler-runner.iml" />
<module fileurl="file://$PROJECT_DIR$/compiler/tests/compiler-tests.iml" filepath="$PROJECT_DIR$/compiler/tests/compiler-tests.iml" group="compiler" />
<module fileurl="file://$PROJECT_DIR$/compiler/tests-java8/compiler-tests-java8.iml" filepath="$PROJECT_DIR$/compiler/tests-java8/compiler-tests-java8.iml" group="compiler" />
<module fileurl="file://$PROJECT_DIR$/compiler/conditional-preprocessor/conditional-preprocessor.iml" filepath="$PROJECT_DIR$/compiler/conditional-preprocessor/conditional-preprocessor.iml" group="compiler" />
@@ -41,7 +35,6 @@
<module fileurl="file://$PROJECT_DIR$/idea/formatter/formatter.iml" filepath="$PROJECT_DIR$/idea/formatter/formatter.iml" group="ide" />
<module fileurl="file://$PROJECT_DIR$/compiler/frontend/frontend.iml" filepath="$PROJECT_DIR$/compiler/frontend/frontend.iml" group="compiler" />
<module fileurl="file://$PROJECT_DIR$/compiler/frontend.java/frontend.java.iml" filepath="$PROJECT_DIR$/compiler/frontend.java/frontend.java.iml" group="compiler/java" />
<module fileurl="file://$PROJECT_DIR$/compiler/frontend.script/frontend.script.iml" filepath="$PROJECT_DIR$/compiler/frontend.script/frontend.script.iml" group="compiler" />
<module fileurl="file://$PROJECT_DIR$/generators/generators.iml" filepath="$PROJECT_DIR$/generators/generators.iml" group="infrastructure" />
<module fileurl="file://$PROJECT_DIR$/grammar/grammar.iml" filepath="$PROJECT_DIR$/grammar/grammar.iml" group="compiler" />
<module fileurl="file://$PROJECT_DIR$/idea/ide-common/ide-common.iml" filepath="$PROJECT_DIR$/idea/ide-common/ide-common.iml" group="ide" />
@@ -57,17 +50,11 @@
<module fileurl="file://$PROJECT_DIR$/idea/idea-repl/idea-repl.iml" filepath="$PROJECT_DIR$/idea/idea-repl/idea-repl.iml" group="ide" />
<module fileurl="file://$PROJECT_DIR$/idea-runner/idea-runner.iml" filepath="$PROJECT_DIR$/idea-runner/idea-runner.iml" group="ide" />
<module fileurl="file://$PROJECT_DIR$/idea/idea-test-framework/idea-test-framework.iml" filepath="$PROJECT_DIR$/idea/idea-test-framework/idea-test-framework.iml" group="ide" />
<module fileurl="file://$PROJECT_DIR$/compiler/incremental-compilation-impl/incremental-compilation-impl.iml" filepath="$PROJECT_DIR$/compiler/incremental-compilation-impl/incremental-compilation-impl.iml" />
<module fileurl="file://$PROJECT_DIR$/compiler/preloader/instrumentation/instrumentation.iml" filepath="$PROJECT_DIR$/compiler/preloader/instrumentation/instrumentation.iml" group="compiler/cli" />
<module fileurl="file://$PROJECT_DIR$/compiler/ir/ir.ir2cfg/ir.ir2cfg.iml" filepath="$PROJECT_DIR$/compiler/ir/ir.ir2cfg/ir.ir2cfg.iml" group="compiler/ir" />
<module fileurl="file://$PROJECT_DIR$/compiler/ir/ir.psi2ir/ir.psi2ir.iml" filepath="$PROJECT_DIR$/compiler/ir/ir.psi2ir/ir.psi2ir.iml" group="compiler/ir" />
<module fileurl="file://$PROJECT_DIR$/compiler/ir/ir.tree/ir.tree.iml" filepath="$PROJECT_DIR$/compiler/ir/ir.tree/ir.tree.iml" group="compiler/ir" />
<module fileurl="file://$PROJECT_DIR$/j2k/j2k.iml" filepath="$PROJECT_DIR$/j2k/j2k.iml" group="j2k" />
<module fileurl="file://$PROJECT_DIR$/compiler/javac-wrapper/javac-wrapper.iml" filepath="$PROJECT_DIR$/compiler/javac-wrapper/javac-wrapper.iml" group="compiler" />
<module fileurl="file://$PROJECT_DIR$/jps-plugin/jps-plugin.iml" filepath="$PROJECT_DIR$/jps-plugin/jps-plugin.iml" group="ide/jps" />
<module fileurl="file://$PROJECT_DIR$/jps-plugin/jps-tests/jps-tests.iml" filepath="$PROJECT_DIR$/jps-plugin/jps-tests/jps-tests.iml" group="ide/jps" />
<module fileurl="file://$PROJECT_DIR$/js/js.ast/js.ast.iml" filepath="$PROJECT_DIR$/js/js.ast/js.ast.iml" group="compiler/js" />
<module fileurl="file://$PROJECT_DIR$/js/js.dce/js.dce.iml" filepath="$PROJECT_DIR$/js/js.dce/js.dce.iml" group="compiler/js" />
<module fileurl="file://$PROJECT_DIR$/js/js.dart-ast/js.dart-ast.iml" filepath="$PROJECT_DIR$/js/js.dart-ast/js.dart-ast.iml" group="compiler/js" />
<module fileurl="file://$PROJECT_DIR$/js/js.frontend/js.frontend.iml" filepath="$PROJECT_DIR$/js/js.frontend/js.frontend.iml" group="compiler/js" />
<module fileurl="file://$PROJECT_DIR$/js/js.inliner/js.inliner.iml" filepath="$PROJECT_DIR$/js/js.inliner/js.inliner.iml" group="compiler/js" />
<module fileurl="file://$PROJECT_DIR$/js/js.parser/js.parser.iml" filepath="$PROJECT_DIR$/js/js.parser/js.parser.iml" group="compiler/js" />
@@ -75,14 +62,10 @@
<module fileurl="file://$PROJECT_DIR$/js/js.tests/js.tests.iml" filepath="$PROJECT_DIR$/js/js.tests/js.tests.iml" group="compiler/js" />
<module fileurl="file://$PROJECT_DIR$/js/js.translator/js.translator.iml" filepath="$PROJECT_DIR$/js/js.translator/js.translator.iml" group="compiler/js" />
<module fileurl="file://$PROJECT_DIR$/jps-plugin/kannotator-jps-plugin-test/kannotator-jps-plugin-test.iml" filepath="$PROJECT_DIR$/jps-plugin/kannotator-jps-plugin-test/kannotator-jps-plugin-test.iml" group="ide/jps" />
<module fileurl="file://$PROJECT_DIR$/plugins/kapt3/kapt3.iml" filepath="$PROJECT_DIR$/plugins/kapt3/kapt3.iml" group="plugins" />
<module fileurl="file://$PROJECT_DIR$/idea/kotlin-gradle-tooling/kotlin-gradle-tooling.iml" filepath="$PROJECT_DIR$/idea/kotlin-gradle-tooling/kotlin-gradle-tooling.iml" />
<module fileurl="file://$PROJECT_DIR$/compiler/light-classes/light-classes.iml" filepath="$PROJECT_DIR$/compiler/light-classes/light-classes.iml" group="compiler/java" />
<module fileurl="file://$PROJECT_DIR$/plugins/lint/lint-api/lint-api.iml" filepath="$PROJECT_DIR$/plugins/lint/lint-api/lint-api.iml" group="plugins/lint" />
<module fileurl="file://$PROJECT_DIR$/plugins/lint/lint-checks/lint-checks.iml" filepath="$PROJECT_DIR$/plugins/lint/lint-checks/lint-checks.iml" group="plugins/lint" />
<module fileurl="file://$PROJECT_DIR$/plugins/lint/lint-idea/lint-idea.iml" filepath="$PROJECT_DIR$/plugins/lint/lint-idea/lint-idea.iml" group="plugins/lint" />
<module fileurl="file://$PROJECT_DIR$/plugins/noarg/noarg-cli/noarg-cli.iml" filepath="$PROJECT_DIR$/plugins/noarg/noarg-cli/noarg-cli.iml" group="plugins/noarg" />
<module fileurl="file://$PROJECT_DIR$/plugins/noarg/noarg-ide/noarg-ide.iml" filepath="$PROJECT_DIR$/plugins/noarg/noarg-ide/noarg-ide.iml" group="plugins/noarg" />
<module fileurl="file://$PROJECT_DIR$/non-compiler-tests/non-compiler-tests.iml" filepath="$PROJECT_DIR$/non-compiler-tests/non-compiler-tests.iml" />
<module fileurl="file://$PROJECT_DIR$/compiler/plugin-api/plugin-api.iml" filepath="$PROJECT_DIR$/compiler/plugin-api/plugin-api.iml" group="compiler" />
<module fileurl="file://$PROJECT_DIR$/plugins/plugins-tests/plugins-tests.iml" filepath="$PROJECT_DIR$/plugins/plugins-tests/plugins-tests.iml" group="plugins" />
@@ -90,15 +73,12 @@
<module fileurl="file://$PROJECT_DIR$/core/reflection.jvm/reflection.jvm.iml" filepath="$PROJECT_DIR$/core/reflection.jvm/reflection.jvm.iml" group="core" />
<module fileurl="file://$PROJECT_DIR$/compiler/resolution/resolution.iml" filepath="$PROJECT_DIR$/compiler/resolution/resolution.iml" group="compiler" />
<module fileurl="file://$PROJECT_DIR$/core/runtime.jvm/runtime.jvm.iml" filepath="$PROJECT_DIR$/core/runtime.jvm/runtime.jvm.iml" group="core" />
<module fileurl="file://$PROJECT_DIR$/plugins/sam-with-receiver/sam-with-receiver-cli/sam-with-receiver-cli.iml" filepath="$PROJECT_DIR$/plugins/sam-with-receiver/sam-with-receiver-cli/sam-with-receiver-cli.iml" group="plugins/sam-with-receiver" />
<module fileurl="file://$PROJECT_DIR$/plugins/sam-with-receiver/sam-with-receiver-ide/sam-with-receiver-ide.iml" filepath="$PROJECT_DIR$/plugins/sam-with-receiver/sam-with-receiver-ide/sam-with-receiver-ide.iml" group="plugins/sam-with-receiver" />
<module fileurl="file://$PROJECT_DIR$/core/script.runtime/script.runtime.iml" filepath="$PROJECT_DIR$/core/script.runtime/script.runtime.iml" group="core" />
<module fileurl="file://$PROJECT_DIR$/compiler/serialization/serialization.iml" filepath="$PROJECT_DIR$/compiler/serialization/serialization.iml" group="compiler" />
<module fileurl="file://$PROJECT_DIR$/plugins/source-sections/source-sections-compiler/source-sections-compiler.iml" filepath="$PROJECT_DIR$/plugins/source-sections/source-sections-compiler/source-sections-compiler.iml" group="plugins" />
<module fileurl="file://$PROJECT_DIR$/compiler/tests-common/tests-common.iml" filepath="$PROJECT_DIR$/compiler/tests-common/tests-common.iml" group="compiler" />
<module fileurl="file://$PROJECT_DIR$/compiler/tests-ir-jvm/tests-ir-jvm.iml" filepath="$PROJECT_DIR$/compiler/tests-ir-jvm/tests-ir-jvm.iml" group="compiler/ir" />
<module fileurl="file://$PROJECT_DIR$/plugins/lint/uast-android/uast-android.iml" filepath="$PROJECT_DIR$/plugins/lint/uast-android/uast-android.iml" group="plugins/lint" />
<module fileurl="file://$PROJECT_DIR$/plugins/uast-common/uast-common.iml" filepath="$PROJECT_DIR$/plugins/uast-common/uast-common.iml" group="plugins/lint" />
<module fileurl="file://$PROJECT_DIR$/plugins/uast-java/uast-java.iml" filepath="$PROJECT_DIR$/plugins/uast-java/uast-java.iml" group="plugins/lint" />
<module fileurl="file://$PROJECT_DIR$/plugins/uast-kotlin/uast-kotlin.iml" filepath="$PROJECT_DIR$/plugins/uast-kotlin/uast-kotlin.iml" group="plugins/lint" />
<module fileurl="file://$PROJECT_DIR$/plugins/uast-kotlin-idea/uast-kotlin-idea.iml" filepath="$PROJECT_DIR$/plugins/uast-kotlin-idea/uast-kotlin-idea.iml" />
<module fileurl="file://$PROJECT_DIR$/compiler/util/util.iml" filepath="$PROJECT_DIR$/compiler/util/util.iml" />
<module fileurl="file://$PROJECT_DIR$/core/util.runtime/util.runtime.iml" filepath="$PROJECT_DIR$/core/util.runtime/util.runtime.iml" group="core" />
</modules>

View File

@@ -13,7 +13,7 @@
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="package" />
<option name="VM_PARAMETERS" value="-ea -XX:+HeapDumpOnOutOfMemoryError -Xmx1250m -XX:+UseCodeCacheFlushing -XX:ReservedCodeCacheSize=128m -Djna.nosys=true" />
<option name="VM_PARAMETERS" value="-ea -XX:+HeapDumpOnOutOfMemoryError -Xmx1250m -XX:+UseCodeCacheFlushing -XX:ReservedCodeCacheSize=64m" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />

View File

@@ -13,7 +13,7 @@
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="package" />
<option name="VM_PARAMETERS" value="-ea -XX:+HeapDumpOnOutOfMemoryError -Xmx1024m -XX:+UseCodeCacheFlushing -XX:ReservedCodeCacheSize=128m -Djna.nosys=true" />
<option name="VM_PARAMETERS" value="-ea -XX:+HeapDumpOnOutOfMemoryError -Xmx900m -XX:MaxPermSize=320m -XX:+UseCodeCacheFlushing -XX:ReservedCodeCacheSize=64m" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />

View File

@@ -13,7 +13,7 @@
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="package" />
<option name="VM_PARAMETERS" value="-ea -XX:+HeapDumpOnOutOfMemoryError -Xmx900m -XX:+UseCodeCacheFlushing -XX:ReservedCodeCacheSize=128m -Djna.nosys=true -Dkotlin.colors.enabled=false" />
<option name="VM_PARAMETERS" value="-ea -XX:+HeapDumpOnOutOfMemoryError -Xmx1300m -XX:+UseCodeCacheFlushing -XX:ReservedCodeCacheSize=128m" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />

View File

@@ -8,7 +8,7 @@
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="package" />
<option name="VM_PARAMETERS" value="-Xmx1250m -XX:ReservedCodeCacheSize=128m -XX:+HeapDumpOnOutOfMemoryError -ea -Didea.is.internal=true -Didea.debug.mode=true -Dapple.laf.useScreenMenuBar=true -Dapple.awt.graphics.UseQuartz=true -Dsun.io.useCanonCaches=false -Dplugin.path=$PROJECT_DIR$/out/artifacts/Kotlin -Djna.nosys=true" />
<option name="VM_PARAMETERS" value="-Xmx1250m -XX:ReservedCodeCacheSize=64m -XX:+HeapDumpOnOutOfMemoryError -ea -Didea.is.internal=true -Didea.debug.mode=true -Dapple.laf.useScreenMenuBar=true -Dapple.awt.graphics.UseQuartz=true -Dsun.io.useCanonCaches=false -Dplugin.path=$PROJECT_DIR$/out/artifacts/Kotlin" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />

View File

@@ -6,7 +6,7 @@
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/android-studio/sdk/bin" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="ALTERNATIVE_JRE_PATH" value="" />
<option name="ENABLE_SWING_INSPECTOR" value="false" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />

View File

@@ -8,7 +8,7 @@
<option name="MAIN_CLASS_NAME" value="org.jetbrains.kotlin.android.tests.AndroidRunner" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="class" />
<option name="VM_PARAMETERS" value="-ea -XX:+HeapDumpOnOutOfMemoryError -Xmx850m -XX:+UseCodeCacheFlushing -Djna.nosys=true" />
<option name="VM_PARAMETERS" value="-ea -XX:+HeapDumpOnOutOfMemoryError -Xmx850m -XX:+UseCodeCacheFlushing" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />

View File

@@ -1,28 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Codegen Tests with JVM target 1.6 on JDK 1.6" type="JUnit" factoryName="JUnit">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
<pattern>
<option name="PATTERN" value="org.jetbrains.kotlin.codegen.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<module name="compiler-tests" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
<option name="ALTERNATIVE_JRE_PATH" value="1.8" />
<option name="PACKAGE_NAME" value="org.jetbrains.kotlin.codegen" />
<option name="MAIN_CLASS_NAME" value="org.jetbrains.kotlin.codegen.CodegenJdkCommonTestSuite" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="class" />
<option name="VM_PARAMETERS" value="-Dkotlin.test.default.jvm.target=1.6 -Dkotlin.test.box.in.separate.process.port=5100 -Dkotlin.test.java.compilation.target=1.6 -ea -XX:+HeapDumpOnOutOfMemoryError -Xmx1024m -XX:+UseCodeCacheFlushing -XX:ReservedCodeCacheSize=128m -Djna.nosys=true" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="singleModule" />
</option>
<envs />
<patterns />
<method />
</configuration>
</component>

View File

@@ -1,28 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Codegen Tests with JVM target 1.6 on JDK 9" type="JUnit" factoryName="JUnit">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
<pattern>
<option name="PATTERN" value="org.jetbrains.kotlin.codegen.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<module name="compiler-tests" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
<option name="ALTERNATIVE_JRE_PATH" value="9-ea" />
<option name="PACKAGE_NAME" value="org.jetbrains.kotlin.codegen" />
<option name="MAIN_CLASS_NAME" value="org.jetbrains.kotlin.codegen.CodegenJdkCommonTestSuite" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="class" />
<option name="VM_PARAMETERS" value="-Dkotlin.test.default.jvm.target=1.6 -ea -XX:+HeapDumpOnOutOfMemoryError -XX:+UseCodeCacheFlushing -XX:ReservedCodeCacheSize=128m -Djna.nosys=true --add-opens java.desktop/javax.swing=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="singleModule" />
</option>
<envs />
<patterns />
<method />
</configuration>
</component>

View File

@@ -1,28 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Codegen Tests with JVM target 1.8 on JDK 1.8" type="JUnit" factoryName="JUnit">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
<pattern>
<option name="PATTERN" value="org.jetbrains.kotlin.codegen.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<module name="compiler-tests" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
<option name="ALTERNATIVE_JRE_PATH" value="1.8" />
<option name="PACKAGE_NAME" value="org.jetbrains.kotlin.codegen" />
<option name="MAIN_CLASS_NAME" value="org.jetbrains.kotlin.codegen.CodegenJdkCommonTestSuite" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="class" />
<option name="VM_PARAMETERS" value="-Dkotlin.test.default.jvm.target=1.8 -ea -XX:+HeapDumpOnOutOfMemoryError -Xmx1024m -XX:+UseCodeCacheFlushing -XX:ReservedCodeCacheSize=128m -Djna.nosys=true" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="singleModule" />
</option>
<envs />
<patterns />
<method />
</configuration>
</component>

View File

@@ -1,28 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Codegen Tests with JVM target 1.8 on JDK 9" type="JUnit" factoryName="JUnit">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
<pattern>
<option name="PATTERN" value="org.jetbrains.kotlin.codegen.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<module name="compiler-tests" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
<option name="ALTERNATIVE_JRE_PATH" value="9-ea" />
<option name="PACKAGE_NAME" value="org.jetbrains.kotlin.codegen" />
<option name="MAIN_CLASS_NAME" value="org.jetbrains.kotlin.codegen.CodegenJdkCommonTestSuite" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="class" />
<option name="VM_PARAMETERS" value="-Dkotlin.test.default.jvm.target=1.8 -ea -XX:+HeapDumpOnOutOfMemoryError -XX:+UseCodeCacheFlushing -XX:ReservedCodeCacheSize=128m -Djna.nosys=true --add-opens java.desktop/javax.swing=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="singleModule" />
</option>
<envs />
<patterns />
<method />
</configuration>
</component>

View File

@@ -1,28 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Codegen Tests with JVM target 9 on JDK 9 " type="JUnit" factoryName="JUnit">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
<pattern>
<option name="PATTERN" value="org.jetbrains.kotlin.codegen.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<module name="compiler-tests" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
<option name="ALTERNATIVE_JRE_PATH" value="9-ea" />
<option name="PACKAGE_NAME" value="org.jetbrains.kotlin.codegen" />
<option name="MAIN_CLASS_NAME" value="org.jetbrains.kotlin.codegen.CodegenJdkCommonTestSuite" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="class" />
<option name="VM_PARAMETERS" value="-Dkotlin.test.default.jvm.target=1.8 -Dkotlin.test.substitute.bytecode.1.8.to.1.9=true -ea -XX:+HeapDumpOnOutOfMemoryError -XX:+UseCodeCacheFlushing -XX:ReservedCodeCacheSize=128m -Djna.nosys=true --add-opens java.desktop/javax.swing=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="singleModule" />
</option>
<envs />
<patterns />
<method />
</configuration>
</component>

View File

@@ -13,7 +13,7 @@
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="package" />
<option name="VM_PARAMETERS" value="-ea -XX:+HeapDumpOnOutOfMemoryError -Xmx1024m -XX:+UseCodeCacheFlushing -XX:ReservedCodeCacheSize=128m -Djna.nosys=true -Dkotlin.colors.enabled=false" />
<option name="VM_PARAMETERS" value="-ea -XX:+HeapDumpOnOutOfMemoryError -Xmx900m -XX:MaxPermSize=320m -XX:+UseCodeCacheFlushing -XX:ReservedCodeCacheSize=64m" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />

View File

@@ -8,7 +8,7 @@
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="package" />
<option name="VM_PARAMETERS" value="-ea -Djna.nosys=true" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />

View File

@@ -11,7 +11,7 @@
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="ALTERNATIVE_JRE_PATH" value="" />
<option name="ENABLE_SWING_INSPECTOR" value="false" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
@@ -26,9 +26,6 @@
<RunnerSettings RunnerId="Run" />
<ConfigurationWrapper RunnerId="Debug" />
<ConfigurationWrapper RunnerId="Run" />
<method>
<option name="Make" enabled="false" />
<option name="MakeNoErrorCheck" enabled="true" />
</method>
<method />
</configuration>
</component>

View File

@@ -1,9 +1,8 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="IDEA" type="Application" factoryName="Application" singleton="true">
<log_file path="$PROJECT_DIR$/ideaSDK/system-idea/log/idea.log" checked="true" skipped="true" show_all="false" alias="idea.log" />
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<option name="MAIN_CLASS_NAME" value="com.intellij.idea.Main" />
<option name="VM_PARAMETERS" value="-Xmx1250m -XX:ReservedCodeCacheSize=128m -XX:+HeapDumpOnOutOfMemoryError -ea -Didea.is.internal=true -Didea.debug.mode=true -Didea.system.path=../system-idea -Didea.config.path=../config-idea -Dapple.laf.useScreenMenuBar=true -Dapple.awt.graphics.UseQuartz=true -Dsun.io.useCanonCaches=false -Dplugin.path=$PROJECT_DIR$/out/artifacts/Kotlin -Dkotlin.internal.mode.enabled=true -Didea.additional.classpath=../idea-kotlin-runtime/kotlin-runtime.jar,../idea-kotlin-runtime/kotlin-reflect.jar" />
<option name="VM_PARAMETERS" value="-Xmx1250m -XX:ReservedCodeCacheSize=64m -XX:+HeapDumpOnOutOfMemoryError -ea -Didea.is.internal=true -Didea.debug.mode=true -Didea.system.path=../system-idea -Didea.config.path=../config-idea -Dapple.laf.useScreenMenuBar=true -Dapple.awt.graphics.UseQuartz=true -Dsun.io.useCanonCaches=false -Dplugin.path=$PROJECT_DIR$/out/artifacts/Kotlin -Dkotlin.internal.mode.enabled=true -Didea.additional.classpath=../idea-kotlin-runtime/kotlin-runtime.jar,../idea-kotlin-runtime/kotlin-reflect.jar" />
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/ideaSDK/bin" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
@@ -44,6 +43,7 @@
<option name="BuildArtifacts" enabled="true">
<artifact name="KotlinPlugin" />
</option>
<option name="BuildArtifacts" enabled="true" />
<option name="AntTarget" enabled="true" antfile="file://$PROJECT_DIR$/idea-runner/runner.xml" target="force-enable-kotlin-plugin" />
</method>
</configuration>

View File

@@ -1,13 +1,12 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="IDEA (No ProcessCanceledException)" type="Application" factoryName="Application" singleton="true">
<log_file path="$PROJECT_DIR$/ideaSDK/system-idea/log/idea.log" checked="true" skipped="true" show_all="false" alias="idea.log" />
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<option name="MAIN_CLASS_NAME" value="com.intellij.idea.Main" />
<option name="VM_PARAMETERS" value="-Xmx1250m -XX:ReservedCodeCacheSize=128m -XX:+HeapDumpOnOutOfMemoryError -ea -Didea.is.internal=true -Didea.debug.mode=true -Didea.system.path=../system-idea -Didea.config.path=../config-idea -Dapple.laf.useScreenMenuBar=true -Dapple.awt.graphics.UseQuartz=true -Dsun.io.useCanonCaches=false -Dplugin.path=$PROJECT_DIR$/out/artifacts/Kotlin -Didea.ProcessCanceledException=disabled -Dkotlin.internal.mode.enabled=true -Didea.additional.classpath=../idea-kotlin-runtime/kotlin-runtime.jar,../idea-kotlin-runtime/kotlin-reflect.jar" />
<option name="VM_PARAMETERS" value="-Xmx1250m -XX:ReservedCodeCacheSize=64m -XX:+HeapDumpOnOutOfMemoryError -ea -Didea.is.internal=true -Didea.debug.mode=true -Didea.system.path=../system-idea -Didea.config.path=../config-idea -Dapple.laf.useScreenMenuBar=true -Dapple.awt.graphics.UseQuartz=true -Dsun.io.useCanonCaches=false -Dplugin.path=$PROJECT_DIR$/out/artifacts/Kotlin -Didea.ProcessCanceledException=disabled -Dkotlin.internal.mode.enabled=true -Didea.additional.classpath=../idea-kotlin-runtime/kotlin-runtime.jar,../idea-kotlin-runtime/kotlin-reflect.jar" />
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/ideaSDK/bin" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="ALTERNATIVE_JRE_PATH" value="" />
<option name="ENABLE_SWING_INSPECTOR" value="false" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />

View File

@@ -13,7 +13,7 @@
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="pattern" />
<option name="VM_PARAMETERS" value="-ea -XX:+HeapDumpOnOutOfMemoryError -Xmx700m -Djna.nosys=true" />
<option name="VM_PARAMETERS" value="-ea -XX:+HeapDumpOnOutOfMemoryError -Xmx700m" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />

View File

@@ -13,7 +13,7 @@
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="package" />
<option name="VM_PARAMETERS" value="-ea -XX:+HeapDumpOnOutOfMemoryError -XX:+UseCodeCacheFlushing -XX:ReservedCodeCacheSize=128m -Djna.nosys=true -Dkotlin.colors.enabled=false" />
<option name="VM_PARAMETERS" value="-ea -XX:+HeapDumpOnOutOfMemoryError -XX:+UseCodeCacheFlushing -XX:ReservedCodeCacheSize=64m" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />

View File

@@ -1,28 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Java 8 Tests on JDK 9" type="JUnit" factoryName="JUnit">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
<pattern>
<option name="PATTERN" value="org.jetbrains.kotlin.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<module name="compiler-tests-java8" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
<option name="ALTERNATIVE_JRE_PATH" value="9-ea" />
<option name="PACKAGE_NAME" value="org.jetbrains.kotlin" />
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="package" />
<option name="VM_PARAMETERS" value="-ea -XX:+HeapDumpOnOutOfMemoryError -XX:+UseCodeCacheFlushing -XX:ReservedCodeCacheSize=128m -Djna.nosys=true --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.desktop/javax.swing=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/jdk.internal.misc=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="singleModule" />
</option>
<envs />
<patterns />
<method />
</configuration>
</component>

View File

@@ -8,7 +8,7 @@
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="package" />
<option name="VM_PARAMETERS" value="-ea -XX:+HeapDumpOnOutOfMemoryError -Xmx1250m -XX:+UseCodeCacheFlushing -Djna.nosys=true -Dkotlin.js.skipMinificationTest=false" />
<option name="VM_PARAMETERS" value="-ea -XX:+HeapDumpOnOutOfMemoryError -Xmx1250m -XX:+UseCodeCacheFlushing" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />

View File

@@ -8,7 +8,7 @@
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="package" />
<option name="VM_PARAMETERS" value="-ea -Djna.nosys=true" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />

View File

@@ -13,7 +13,7 @@
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="pattern" />
<option name="VM_PARAMETERS" value="-ea -Xmx850m -Djna.nosys=true" />
<option name="VM_PARAMETERS" value="-ea -Xmx850m" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />

File diff suppressed because it is too large Load Diff

View File

@@ -14,73 +14,37 @@
<excludeFolder url="file://$MODULE_DIR$/ideaSDK/system" />
<excludeFolder url="file://$MODULE_DIR$/ideaSDK/system-idea" />
<excludeFolder url="file://$MODULE_DIR$/libraries/.idea" />
<excludeFolder url="file://$MODULE_DIR$/libraries/build" />
<excludeFolder url="file://$MODULE_DIR$/libraries/examples/annotation-processor-example/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/examples/browser-example-with-library/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/docs/apidoc/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/docs/website/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/examples/browser-example/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/examples/js-example/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/examples/kotlin-gradle-subplugin-example/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/examples/kotlin-java-example/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/examples/kotlin-js-library-example/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/examples/kotlin-jsr223-daemon-local-eval-example/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/examples/kotlin-jsr223-local-example/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/kotlin.test/common/build" />
<excludeFolder url="file://$MODULE_DIR$/libraries/kotlin.test/js/build" />
<excludeFolder url="file://$MODULE_DIR$/libraries/kotlin.test/js/it/build" />
<excludeFolder url="file://$MODULE_DIR$/libraries/kotlin.test/js/it/node_modules" />
<excludeFolder url="file://$MODULE_DIR$/libraries/kotlin.test/junit/build" />
<excludeFolder url="file://$MODULE_DIR$/libraries/kotlin.test/jvm/build" />
<excludeFolder url="file://$MODULE_DIR$/libraries/stdlib/build" />
<excludeFolder url="file://$MODULE_DIR$/libraries/stdlib/common/build" />
<excludeFolder url="file://$MODULE_DIR$/libraries/stdlib/jre7/build" />
<excludeFolder url="file://$MODULE_DIR$/libraries/stdlib/jre8/build" />
<excludeFolder url="file://$MODULE_DIR$/libraries/stdlib/js/build" />
<excludeFolder url="file://$MODULE_DIR$/libraries/stdlib/js/node_modules" />
<excludeFolder url="file://$MODULE_DIR$/libraries/kotlin-jdbc/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/kotlin-swing/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/kunit/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/stdlib/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/stdlib/validator/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/.idea" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/binary-compatibility-validator/build" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/gradle-tools/build" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/idl2k/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-allopen/build" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-allopen/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-android-extensions/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-annotation-processing-maven/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-annotation-processing/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-build-common-test/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-compiler-client-embeddable-test/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-compiler-client-embeddable/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-compiler-embeddable/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-compiler-runner/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kdoc-maven-plugin/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kdoc/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-compiler/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-daemon-client/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-gradle-plugin-api/build" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-gradle-plugin-api/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-gradle-plugin-integration-tests/build" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-gradle-plugin-integration-tests/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-gradle-plugin/build" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-gradle-plugin-core/local-repo" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-gradle-plugin-core/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-gradle-plugin-test/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-gradle-plugin/local-repo" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-gradle-plugin/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-maven-allopen/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-maven-noarg/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-js-library/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-js-tests-junit/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-js-tests/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-maven-plugin-test/local-repo" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-maven-plugin-test/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-maven-plugin/local-repo" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-maven-plugin/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-noarg/build" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-noarg/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-osgi-bundle/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-reflect/build" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-sam-with-receiver-compiler-plugin/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-script-util/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-source-sections-compiler-plugin/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-stdlib-gen/build" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/maven-archetypes/kotlin-archetype-js/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/maven-archetypes/kotlin-archetype-jvm/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/native-platform/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/protobuf-lite/build" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/runtime/build" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/script-runtime/build" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-reflect/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-stdlib-gen/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/runtime/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
</module>

149
ReadMe.md
View File

@@ -1,93 +1,96 @@
<a href="http://slack.kotlinlang.org/"><img src="http://slack.kotlinlang.org/badge.svg" height="20"></a>
<a href="http://kotlinslackin.herokuapp.com"><img src="https://kotlinslackin.herokuapp.com/badge.svg" height="20"></a>
[![TeamCity (simple build status)](https://img.shields.io/teamcity/http/teamcity.jetbrains.com/s/bt345.svg)](https://teamcity.jetbrains.com/viewType.html?buildTypeId=bt345&branch_Kotlin=%3Cdefault%3E&tab=buildTypeStatusDiv)
[![Maven Central](https://img.shields.io/maven-central/v/org.jetbrains.kotlin/kotlin-maven-plugin.svg)](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.jetbrains.kotlin%22)
[![GitHub license](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat)](http://www.apache.org/licenses/LICENSE-2.0)
# Kotlin Programming Language
Welcome to [Kotlin](https://kotlinlang.org/)! Some handy links:
Welcome to [Kotlin](http://kotlinlang.org/)! Some handy links:
* [Kotlin Site](https://kotlinlang.org/)
* [Getting Started Guide](https://kotlinlang.org/docs/tutorials/getting-started.html)
* [Try Kotlin](https://try.kotlinlang.org/)
* [Kotlin Standard Library](https://kotlinlang.org/api/latest/jvm/stdlib/index.html)
* [Issue Tracker](https://youtrack.jetbrains.com/issues/KT)
* [Forum](https://discuss.kotlinlang.org/)
* [Kotlin Blog](https://blog.jetbrains.com/kotlin/)
* [Kotlin Site](http://kotlinlang.org/)
* [Getting Started Guide](http://kotlinlang.org/docs/tutorials/getting-started.html)
* [Try Kotlin](http://try.kotlinlang.org/)
* [Kotlin Standard Library](http://kotlinlang.org/api/latest/jvm/stdlib/index.html)
* [Issue Tracker](http://youtrack.jetbrains.com/issues/KT)
* [Forum](http://devnet.jetbrains.net/community/kotlin?view=discussions)
* [Kotlin Blog](http://blog.jetbrains.com/kotlin/)
* [Follow Kotlin on Twitter](https://twitter.com/kotlin)
* [Public Slack channel](http://slack.kotlinlang.org/)
* [Public Slack channel](http://kotlinslackin.herokuapp.com/)
* [TeamCity CI build](https://teamcity.jetbrains.com/project.html?tab=projectOverview&projectId=Kotlin)
## Editing Kotlin
* [Kotlin IntelliJ IDEA Plugin](https://kotlinlang.org/docs/tutorials/getting-started.html)
* [Kotlin Eclipse Plugin](https://kotlinlang.org/docs/tutorials/getting-started-eclipse.html)
* [Kotlin Eclipse Plugin](http://kotlinlang.org/docs/tutorials/getting-started-eclipse.html)
* [Kotlin TextMate Bundle](https://github.com/vkostyukov/kotlin-sublime-package)
## Build environment requirements
In order to build Kotlin distribution you need to have:
- Apache Ant 1.9.4 and higher
- JDK 1.6, 1.7 and 1.8
- Setup environment variables as following:
JAVA_HOME="path to JDK 1.8"
JDK_16="path to JDK 1.6"
JDK_17="path to JDK 1.7"
JDK_18="path to JDK 1.8"
## Building
To build this project, first time you try to build you need to run this:
To build this project, first time you try to build you need to run this (requires Apache **Ant 1.8** or higher and **JDK 1.6**):
ant -f update_dependencies.xml
which will setup the dependencies on
* `intellij-core` is a part of command line compiler and contains only necessary APIs.
* `idea-full` is a full blown IntelliJ IDEA Community Edition to be used in the plugin module.
* intellij-core: is a part of command line compiler and contains only necessary APIs.
* idea-full: is a full blown IntelliJ IDEA Community Edition to be used in former plugin module.
Then, you need to run
ant -f build.xml
which will build the binaries of the compiler and put them into the `dist` directory. You may need to increase the **heap size** for Ant using
[ANT_OPTS](https://web.liferay.com/community/wiki/-/wiki/Main/Ant+opts).
which will build the binaries of the compiler and put them into the 'dist' directory. You may need to increase the **heap size** for Ant using
[ANT_OPTS](http://www.liferay.com/community/wiki/-/wiki/Main/Ant+opts).
**OPTIONAL:** Maven artifact distribution is built separately, go into `libraries` directory after building the compiler and run:
**OPTIONAL:** Maven distribution is built separately, run
./gradlew build install
mvn install
mvn package
> Note: on Windows type `gradlew` without the leading `./`
Refer to [libraries/ReadMe.md](libraries/ReadMe.md) for details.
from 'libraries' directory after building the compiler. Refer to `libraries/ReadMe.md` for details.
## Working with the project in IntelliJ IDEA
The [root kotlin project](https://github.com/JetBrains/kotlin) already has an IntelliJ IDEA project, you can just open it in IntelliJ IDEA.
You may need to set the Project SDK (`File -> Project Structure -> Project`).
You may also need to add `tools.jar` to your SDK:
File -> Project Structure -> SDKs -> <Your JDK> -> Classpath
You may need to set the Project SDK (File -> Project Structure -> Project).
You may also need to add `tools.jar` to your SDK: File -> Project Structure -> SDKs -> <Your JDK> -> Classpath,
then choose the `tools.jar` in the JDK's `lib` directory.
If you are not dealing with Android, you may need to disable the Android Plugin in order to compile the project.
### <a name="installing-plugin"></a> Installing the latest Kotlin plugin
Since Kotlin project contains code written in Kotlin itself, you will also need a Kotlin plugin to build the project in IntelliJ IDEA.
To keep the plugin version in sync with the rest of the team and our [Continuous Integration server](https://teamcity.jetbrains.com/project.html?projectId=Kotlin&tab=projectOverview)
you should install the according to the [instructions below](#plugin-for-contributors).
You probably want to have locally the same version of plugin that build server is using for building.
If you want to have an IntelliJ IDEA installation without the Kotlin plugin which is separate to your default IntelliJ IDEA installation which has the Kotlin
plugin [see this document](http://devnet.jetbrains.net/docs/DOC-181) which describes how to have multiple IntelliJ IDEA installations using different configurations and plugin directories.
From this root project there are Run/Debug Configurations for running IDEA or the Compiler Tests for example; so if you want to try out the latest and greatest IDEA plugin
* VCS -> Git -> Pull
* Run IntelliJ IDEA
* a child IntelliJ IDEA with the Kotlin plugin will then startup
* you can now open the [kotlin libraries project](https://github.com/JetBrains/kotlin/tree/master/libraries) to then work with the various kotlin libraries etc.
### <a name="pre-built-plugin"></a>Using a pre-built Kotlin IntelliJ IDEA plugin
There are several options for getting Kotlin plugin. A stable version can be obtained as any other plugin for IntelliJ IDEA:
Preferences -> Plugins -> Install JetBrains plugin... -> Search with "Kotlin" string
The most recent version of the plugin can be downloaded from the
[IDEA Plugin and Tests CI build](https://teamcity.jetbrains.com/project.html?projectId=project67&tab=projectOverview). When downloading is
finished you can install it with "Install plugin from disk...":
Preferences -> Plugins -> Install plugin from disk...
You can now open any Kotlin based projects.
<a name="plugin-for-contributors"></a>
**Note for contributors**: If you are planning to contribute to Kotlin project you probably want to have locally the same version of plugin that build server is using for building.
As this version is constantly moving, the best way to always be updated is to let IntelliJ IDEA notify you when it is time to renew your plugin.
To keep the plugin version in sync with the rest of the team and our [Continuous Integration server](https://teamcity.jetbrains.com/project.html?projectId=Kotlin&tab=projectOverview)
you should setup IDEA to update the plugin directly from the build server.
Open:
Open
Preferences -> Plugins -> Browse Repositories -> Manage Repositories...
@@ -97,36 +100,24 @@ and add the following URL to your repositories:
Then update the list of plugins in "Browse Repositories", you'll see two versions of Kotlin there, install the one with the higher version number.
If you want to keep an IntelliJ IDEA installation with that bleeding edge Kotlin plugin for working Kotlin project sources only separate to your default IntelliJ IDEA installation with the stable Kotlin
plugin [see this document](https://intellij-support.jetbrains.com/hc/en-us/articles/207240985-Changing-IDE-default-directories-used-for-config-plugins-and-caches-storage), which describes how to have multiple IntelliJ IDEA installations using different configurations and plugin directories.
### Compiling and running
From this root project there are Run/Debug Configurations for running IDEA or the Compiler Tests for example; so if you want to try out the latest and greatest IDEA plugin
* VCS -> Git -> Pull
* Run IntelliJ IDEA
* a child IntelliJ IDEA with the Kotlin plugin will then startup
* you can now open the [kotlin libraries project](https://github.com/JetBrains/kotlin/tree/master/libraries) to then work with the various kotlin libraries etc.
# Contributing
We love contributions! There's [lots to do on Kotlin](https://youtrack.jetbrains.com/issues/KT) and on the
[standard library](https://youtrack.jetbrains.com/issues/KT?q=%23Kotlin%20%23Unresolved%20and%20(links:%20KT-2554,%20KT-4089%20or%20%23Libraries)) so why not chat with us
We love contributions! There's [lots to do on Kotlin](http://youtrack.jetbrains.com/issues/KT) and on the
[standard library](https://youtrack.jetbrains.com/issues/KT?q=Subtask+of%3A+KT-2554+%23Unresolved) so why not chat with us
about what you're interested in doing? Please join the #kontributors channel in [our Slack chat](http://kotlinslackin.herokuapp.com/)
and let us know about your plans.
If you want to find some issues to start off with, try [this query](https://youtrack.jetbrains.com/issues/KT?q=tag:%20%7BUp%20For%20Grabs%7D%20%23Unresolved) which should find all Kotlin issues that marked as "up-for-grabs".
If you want to find some issues to start off with, try [this query](https://youtrack.jetbrains.com/issues?q=tag%3A+%7BUp+For+Grabs%7D+%23Unresolved) which should find all issues that marked as "up-for-grabs".
Currently only committers can assign issues to themselves so just add a comment if you're starting work on it.
A nice gentle way to contribute would be to review the [standard library docs](https://kotlinlang.org/api/latest/jvm/stdlib/index.html)
A nice gentle way to contribute would be to review the [standard library docs](http://kotlinlang.org/api/latest/jvm/stdlib/index.html)
and find classes or functions which are not documented very well and submit a patch.
In particular it'd be great if all functions included a nice example of how to use it such as for the
[`hashMapOf()`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/hash-map-of.html) function.
This is implemented using the [`@sample`](https://github.com/JetBrains/kotlin/blob/1.1.0/libraries/stdlib/src/kotlin/collections/Maps.kt#L91)
macro to include code from a test function. The benefits of this approach are twofold; First, the API's documentation is improved via beneficial examples that help new users and second, the code coverage is increased.
<a href="http://kotlinlang.org/api/latest/jvm/stdlib/kotlin/hash-map-of.html">hashMapOf()</a> function.
This is implemented using the <a href=https://github.com/JetBrains/kotlin/blob/master/libraries/stdlib/src/kotlin/collections/Maps.kt#L53">@sample</a>
macro to include code from a test function. This serves as a double win; the API gets better documented with nice examples to help new users and the code gets more test coverage.
Also the [JavaScript translation](https://github.com/JetBrains/kotlin/blob/master/js/ReadMe.md) could really use your help. See the [JavaScript contribution section](https://github.com/JetBrains/kotlin/blob/master/js/ReadMe.md) for more details.
@@ -135,8 +126,8 @@ Also the [JavaScript translation](https://github.com/JetBrains/kotlin/blob/maste
The Kotlin compiler is written in Java and Kotlin (we gradually migrate more and more of it to pure Kotlin). So the easiest way to work on the compiler or IntelliJ IDEA plugin is
* download a recent [IntelliJ IDEA](https://www.jetbrains.com/idea/?fromMenu#chooseYourEdition), Community edition is enough
* [install the Kotlin plugin](#installing-plugin)
* download a clean [IDEA 15 EAP build](https://confluence.jetbrains.com/display/IDEADEV/IDEA+15+EAP)
* [install the Kotlin plugin](#pre-built-plugin)
* open the [root kotlin project](https://github.com/JetBrains/kotlin) in IDEA (opening the kotlin directory)
You can now run the various Run/Debug Configurations such as
@@ -148,35 +139,29 @@ You can now run the various Run/Debug Configurations such as
## If you want to work on the Kotlin libraries
* download a recent [IntelliJ IDEA](https://www.jetbrains.com/idea/?fromMenu#chooseYourEdition), Community edition is enough
* [install the Kotlin plugin](#installing-plugin)
* download a clean [IDEA 15 EAP build](https://confluence.jetbrains.com/display/IDEADEV/IDEA+15+EAP)
* [install the Kotlin plugin](#pre-built-plugin)
* open the [kotlin libraries project](https://github.com/JetBrains/kotlin/tree/master/libraries)
Then build via
cd libraries
./gradlew build install
mvn install
> Note: on Windows type `gradlew` without the leading `./`
Some of the code in the standard library is created by generating code from templates. See the [README](libraries/stdlib/ReadMe.md) in the stdlib section for how run the code generator. The existing templates can be used as examples for creating new ones.
Some of the code in the standard library is created by generating code from templates. See the [README](https://github.com/JetBrains/kotlin/blob/master/libraries/stdlib/ReadMe.md) in the stdlib section for how run the code generator. The existing templates can be used as examples for creating new ones.
## Submitting patches
The best way to submit a patch is to [fork the project on github](https://help.github.com/articles/fork-a-repo/) then send us a
[pull request](https://help.github.com/articles/creating-a-pull-request/) via [github](https://github.com).
The best way to submit a patch is to [fork the project on github](http://help.github.com/fork-a-repo/) then send us a
[pull request](http://help.github.com/send-pull-requests/) via [github](http://github.com).
If you create your own fork, it might help to enable rebase by default
when you pull by executing
``` bash
git config --global pull.rebase true
```
This will avoid your local repo having too many merge commits
when you pull by executing `git config --global pull.rebase
true`. This will avoid your local repo having too many merge commits
which will help keep your pull request simple and easy to apply.
## Commit comments
If you include in your comment this text (where KT-1234 is the Issue ID in the [Issue Tracker](https://youtrack.jetbrains.com/issues/KT)), the issue will get automatically marked as fixed.
If you include in your comment this text (where KT-1234 is the Issue ID in the [Issue Tracker](http://youtrack.jetbrains.com/issues/KT), the issue will get automatically marked as fixed.
#KT-1234 Fixed

View File

@@ -11,15 +11,16 @@
<property name="plugin.xml" value="idea/src/META-INF/plugin.xml"/>
<property name="plugin.xml.bk" value="${version_substitute_dir}/plugin.xml.bk"/>
<property name="plugin.xml.versioned" value="${plugin.xml}.versioned"/>
<property name="plugin.xml.version.number" value="${build.number}"/>
<property name="compiler.version.java" value="core/util.runtime/src/org/jetbrains/kotlin/config/KotlinCompilerVersion.java"/>
<property name="compiler.version.java.bk" value="${version_substitute_dir}/KotlinCompilerVersion.java.bk"/>
<property name="compiler.version.java" value="compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/KotlinVersion.java"/>
<property name="compiler.version.java.bk" value="${version_substitute_dir}/KotlinVersion.java.bk"/>
<property name="compiler.version.java.versioned" value="${compiler.version.java}.versioned"/>
<property name="compiler.version.number" value="${build.number}"/>
<property name="compiler.ant.fork.jvmargs" value="-Xmx1024m"/>
<property name="plugin.zip" value="${artifact.output.path}/kotlin-plugin-${build.number}.zip"/>
<property name="bare.plugin.zip" value="${artifact.output.path}/kotlin-bare-plugin-${build.number}.zip"/>
<property name="kotlin.bare.plugin.xml" value="jps-plugin/bare-plugin/src/META-INF/plugin.xml"/>
<property name="kotlin.bare.plugin.xml.bk" value="${version_substitute_dir}/kotlin.bare.plugin.xml.bk"/>
<macrodef name="echoprop">
<attribute name="prop"/>
@@ -74,36 +75,37 @@
</sequential>
</macrodef>
<target name="writeCompilerVersionToTemplateFile">
<target name="writeVersionToTemplateFiles">
<mkdir dir="${version_substitute_dir}"/>
<substituteVersionInFile
target.file="${compiler.version.java}"
target.file.bk="${compiler.version.java.bk}"
target.file.versioned="${compiler.version.java.versioned}"
test.string="public static final String VERSION = &quot;@snapshot@&quot;;"
version="${compiler.version.number}"/>
</target>
<target name="writePluginVersionToTemplateFile">
<mkdir dir="${version_substitute_dir}"/>
target.file="${plugin.xml}"
target.file.bk="${plugin.xml.bk}"
target.file.versioned="${plugin.xml.versioned}"
test.string="&lt;version&gt;@snapshot@&lt;/version&gt;"/>
<substituteVersionInFile
target.file="${plugin.xml}"
target.file.bk="${plugin.xml.bk}"
target.file.versioned="${plugin.xml.versioned}"
test.string="&lt;version&gt;@snapshot@&lt;/version&gt;"
version="${plugin.xml.version.number}"/>
</target>
target.file="${compiler.version.java}"
target.file.bk="${compiler.version.java.bk}"
target.file.versioned="${compiler.version.java.versioned}"
test.string="public static final String VERSION = &quot;@snapshot@&quot;;"/>
<substituteVersionInFile
target.file="${kotlin.bare.plugin.xml}"
target.file.bk="${kotlin.bare.plugin.xml.bk}"
test.string="&lt;version&gt;@snapshot@&lt;/version&gt;"/>
</target>
<target name="revertTemplateFiles">
<copy file="${plugin.xml.bk}" tofile="${plugin.xml}" overwrite="true"/>
<copy file="${compiler.version.java.bk}" tofile="${compiler.version.java}" overwrite="true"/>
<copy file="${kotlin.bare.plugin.xml.bk}" tofile="${kotlin.bare.plugin.xml}" overwrite="true"/>
<delete dir="${version_substitute_dir}" quiet="true"/>
</target>
<target name="pre_build" depends="writeCompilerVersionToTemplateFile, writePluginVersionToTemplateFile, cleanupArtifacts"/>
<target name="pre_build" depends="writeVersionToTemplateFiles, cleanupArtifacts"/>
<target name="zipArtifacts">
<macrodef name="zipPlugin">
@@ -123,6 +125,7 @@
</macrodef>
<zipPlugin filename="${plugin.zip}" dir="Kotlin"/>
<zipPlugin filename="${bare.plugin.zip}" dir="BareKotlin"/>
</target>
<macrodef name="print-statistic">
@@ -146,13 +149,15 @@
</macrodef>
<target name="printStatistics">
<print-file-size-statistic path="${kotlin-home}/lib" file-name="kotlin-stdlib.jar"/>
<print-file-size-statistic path="${kotlin-home}/lib" file-name="kotlin-runtime.jar"/>
<print-file-size-statistic path="${kotlin-home}/lib" file-name="kotlin-reflect.jar"/>
<print-file-size-statistic path="${kotlin-home}/lib" file-name="kotlin-stdlib-js.jar"/>
<print-file-size-statistic path="${kotlin-home}/lib" file-name="kotlin-jslib.jar"/>
<print-file-size-statistic path="${js.stdlib.output.dir}" file-name="kotlin.js"/>
<print-file-size-statistic path="${js.stdlib.output.dir}" file-name="kotlin-test.js"/>
<print-file-size-statistic path="${basedir}/libraries/stdlib/js/build/classes/main" file-name="kotlin.meta.js"/>
<print-file-size-statistic path="${js.stdlib.output.dir}" file-name="builtins.js"/>
<print-file-size-statistic path="${js.stdlib.output.dir}" file-name="builtins.meta.js"/>
<print-file-size-statistic path="${js.stdlib.output.dir}" file-name="stdlib.js"/>
<print-file-size-statistic path="${js.stdlib.output.dir}" file-name="stdlib.meta.js"/>
</target>
<target name="post_build" depends="zipArtifacts, revertTemplateFiles, printStatistics, remove_internal_artifacts, dont_remove_internal_artifacts"/>
@@ -165,16 +170,14 @@
<condition property="need.remove.artifacts" value="true">
<and>
<matches pattern="rri?/.*" string="${teamcity.build.branch}"/>
<matches pattern="rr/.*" string="${teamcity.build.branch}"/>
<not>
<matches pattern="rri?/internal/.*" string="${teamcity.build.branch}"/>
<matches pattern="rr/internal/.*" string="${teamcity.build.branch}"/>
</not>
</and>
</condition>
<target name="remove_internal_artifacts"
description="Remove internal artifacts for rri?/* branches, but store them for rri?/internal/*"
if="need.remove.artifacts">
<target name="remove_internal_artifacts" description="Remove internal artifacts for rr/* branches, but store them for rr/internal/*" if="need.remove.artifacts">
<echo message="Remove internal artifacts" />
<delete failonerror="false" verbose="true">

View File

@@ -82,6 +82,13 @@
plugin.subdir="Kotlin"
substituted.version="${relay.substitute.version}"/>
<substitudeVersionInPlugin
plugin.jar.name="kotlin-bare-plugin"
plugin.path="${relay.plugins.dir}/kotlin-bare-plugin-${relay.origin.version}.zip"
origin.version="${relay.origin.version}"
plugin.subdir="BareKotlin"
substituted.version="${relay.substitute.version}"/>
<substitudeVersionInPlugin
plugin.jar.name="kotlin-android-extensions"
plugin.path="${relay.plugins.dir}/kotlin-android-extensions-plugin-${relay.origin.version}.zip"

View File

@@ -22,12 +22,11 @@ import java.io.File
class Kotlin2JsTask : KotlinCompilerBaseTask() {
override val compilerFqName = "org.jetbrains.kotlin.cli.js.K2JSCompiler"
var libraries: Path? = null
var library: Path? = null
var outputPrefix: File? = null
var outputPostfix: File? = null
var sourceMap: Boolean = false
var metaInfo: Boolean = false
var moduleKind: String = "plain"
/**
* {@link K2JsArgumentConstants.CALL} (default) if need generate a main function call (main function will be auto detected)
@@ -35,9 +34,15 @@ class Kotlin2JsTask : KotlinCompilerBaseTask() {
*/
var main: String? = null
fun createLibraries(): Path {
val libraryPaths = libraries ?: return Path(getProject()).also { libraries = it }
return libraryPaths.createPath()
fun createLibrary(): Path {
val libraryPath = library
if (libraryPath == null) {
val t = Path(getProject())
library = t
return t
}
return libraryPath.createPath()
}
override fun fillSpecificArguments() {
@@ -45,9 +50,9 @@ class Kotlin2JsTask : KotlinCompilerBaseTask() {
args.add(output!!.canonicalPath)
// TODO: write test
libraries?.let {
args.add("-libraries")
args.add(it.list().joinToString(File.pathSeparator) { File(it).canonicalPath })
library?.let {
args.add("-library-files")
args.add(it.list().joinToString(separator = ",") { File(it).canonicalPath })
}
outputPrefix?.let {
@@ -68,7 +73,5 @@ class Kotlin2JsTask : KotlinCompilerBaseTask() {
if (noStdlib) args.add("-no-stdlib")
if (sourceMap) args.add("-source-map")
if (metaInfo) args.add("-meta-info")
args += listOf("-module-kind", moduleKind)
}
}

View File

@@ -26,8 +26,6 @@ class Kotlin2JvmTask : KotlinCompilerBaseTask() {
var includeRuntime: Boolean = true
var moduleName: String? = null
var noReflect: Boolean = false
private var compileClasspath: Path? = null
fun setClasspath(classpath: Path) {
@@ -70,7 +68,6 @@ class Kotlin2JvmTask : KotlinCompilerBaseTask() {
}
if (noStdlib) args.add("-no-stdlib")
if (noReflect) args.add("-no-reflect")
if (includeRuntime) args.add("-include-runtime")
}
}

View File

@@ -24,29 +24,32 @@ import java.io.File
import java.lang.ref.SoftReference
import java.net.JarURLConnection
internal object KotlinAntTaskUtil {
object KotlinAntTaskUtil {
private var classLoaderRef = SoftReference<ClassLoader?>(null)
private val libPath: File by lazy {
// Find path of kotlin-ant.jar in the filesystem and find kotlin-compiler.jar in the same directory
val resourcePath = "/" + this::class.java.name.replace('.', '/') + ".class"
val jarConnection = this::class.java.getResource(resourcePath).openConnection() as? JarURLConnection
val resourcePath = "/" + javaClass.name.replace('.', '/') + ".class"
val jarConnection = javaClass.getResource(resourcePath).openConnection() as? JarURLConnection
?: throw UnsupportedOperationException("Kotlin compiler Ant task should be loaded from the JAR file")
val antTaskJarPath = File(jarConnection.jarFileURL.toURI())
antTaskJarPath.parentFile
}
val compilerJar: File by jar("kotlin-compiler.jar")
val runtimeJar: File by jar("kotlin-runtime.jar")
val reflectJar: File by jar("kotlin-reflect.jar")
val compilerJar: File by lazy {
File(libPath, "kotlin-compiler.jar").assertExists()
}
private fun jar(name: String) = lazy {
File(libPath, name).apply {
if (!exists()) {
throw IllegalStateException("File is not found in the directory of Kotlin Ant task: $name")
}
val runtimeJar: File by lazy {
File(libPath, "kotlin-runtime.jar").assertExists()
}
private fun File.assertExists(): File {
if (!this.exists()) {
throw IllegalStateException("${name} is not found in the directory of Kotlin Ant task")
}
return this
}
@Synchronized
@@ -54,7 +57,7 @@ internal object KotlinAntTaskUtil {
val cached = classLoaderRef.get()
if (cached != null) return cached
val myLoader = this::class.java.classLoader
val myLoader = javaClass.classLoader
if (myLoader !is AntClassLoader) return myLoader
val classLoader = ClassPreloadingUtils.preloadClasses(listOf(compilerJar), Preloader.DEFAULT_CLASS_NUMBER_ESTIMATE, myLoader, null)
@@ -62,7 +65,8 @@ internal object KotlinAntTaskUtil {
return classLoader
}
}
internal val Task.defaultModuleName: String?
get() = owningTarget?.name ?: project?.name
val Task.defaultModuleName: String?
get() = owningTarget?.name ?: project?.name

View File

@@ -18,7 +18,6 @@ package org.jetbrains.kotlin.ant
import org.apache.tools.ant.BuildException
import org.apache.tools.ant.MagicNames
import org.apache.tools.ant.Project.MSG_ERR
import org.apache.tools.ant.Project.MSG_WARN
import org.apache.tools.ant.taskdefs.compilers.Javac13
import org.apache.tools.ant.taskdefs.condition.AntVersion
@@ -32,7 +31,6 @@ class KotlinCompilerAdapter : Javac13() {
var additionalArguments: MutableList<Commandline.Argument> = ArrayList(0)
@Suppress("unused") // Used via reflection by Ant
fun createCompilerArg(): Commandline.Argument {
val argument = Commandline.Argument()
additionalArguments.add(argument)
@@ -45,11 +43,6 @@ class KotlinCompilerAdapter : Javac13() {
@Throws(BuildException::class)
override fun execute(): Boolean {
if (javac.isForkedJavac) {
javac.log("<withKotlin> task does not yet support the fork mode", MSG_ERR)
return false
}
val javac = javac
checkAntVersion()
@@ -101,22 +94,15 @@ class KotlinCompilerAdapter : Javac13() {
}
private fun addRuntimeToJavacClasspath(kotlinc: Kotlin2JvmTask) {
// If "-no-stdlib" (or "-no-reflect") was specified explicitly, probably the user also wanted the javac classpath to not have it
val addStdlib = "-no-stdlib" !in kotlinc.args
val addReflect = "-no-reflect" !in kotlinc.args
if (!addStdlib && !addReflect) return
for (arg in kotlinc.args) {
// If "-no-stdlib" was specified explicitly, probably the user also wanted the javac classpath to not have it
if ("-no-stdlib" == arg) return
}
if (compileClasspath == null) {
compileClasspath = Path(getProject())
}
if (addStdlib) {
compileClasspath.add(Path(getProject(), KotlinAntTaskUtil.runtimeJar.absolutePath))
}
// "-no-stdlib" implies "-no-reflect", see K2JVMCompiler.Companion.getClasspath
if (addReflect && addStdlib) {
compileClasspath.add(Path(getProject(), KotlinAntTaskUtil.reflectJar.absolutePath))
}
compileClasspath.add(Path(getProject(), KotlinAntTaskUtil.runtimeJar.absolutePath))
}
private fun checkAntVersion() {

View File

@@ -87,7 +87,7 @@ abstract class KotlinCompilerBaseTask : Task() {
val compiler = compilerClass.newInstance()
val exec = compilerClass.getMethod("execFullPathsInMessages", PrintStream::class.java, Array<String>::class.java)
log("Compiling ${src!!.list().toList()} => [${output!!.canonicalPath}]")
log("Compiling ${src!!.list().toList()} => [${output!!.canonicalPath}]");
val result = exec(compiler, System.err, args.toTypedArray())
exitCode = (result as Enum<*>).ordinal

View File

@@ -14,6 +14,5 @@
<orderEntry type="module" module-name="util" />
<orderEntry type="module" module-name="tests-common" scope="TEST" />
<orderEntry type="library" scope="TEST" name="idea-full" level="project" />
<orderEntry type="library" name="kotlin-reflect" level="project" />
</component>
</module>

View File

@@ -1,75 +0,0 @@
/*
* Copyright 2010-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jetbrains.kotlin.build
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
import org.jetbrains.kotlin.config.ApiVersion
import org.jetbrains.kotlin.config.KotlinCompilerVersion
import org.jetbrains.kotlin.config.LanguageVersion
import org.jetbrains.kotlin.load.java.JvmBytecodeBinaryVersion
import org.jetbrains.kotlin.load.kotlin.JvmMetadataVersion
/**
* If you want to add a new field, check its type is supported by [serializeToPlainText], [deserializeFromPlainText]
*/
data class JvmBuildMetaInfo(
val isEAP: Boolean,
val compilerBuildVersion: String,
val languageVersionString: String,
val apiVersionString: String,
val coroutinesEnable: Boolean,
val coroutinesWarn: Boolean,
val coroutinesError: Boolean,
val multiplatformEnable: Boolean,
val metadataVersionMajor: Int,
val metadataVersionMinor: Int,
val metadataVersionPatch: Int,
val bytecodeVersionMajor: Int,
val bytecodeVersionMinor: Int,
val bytecodeVersionPatch: Int,
val ownVersion: Int = JvmBuildMetaInfo.OWN_VERSION,
val coroutinesVersion: Int = JvmBuildMetaInfo.COROUTINES_VERSION,
val multiplatformVersion: Int = JvmBuildMetaInfo.MULTIPLATFORM_VERSION
) {
companion object {
const val OWN_VERSION: Int = 0
const val COROUTINES_VERSION: Int = 0
const val MULTIPLATFORM_VERSION: Int = 0
fun serializeToString(info: JvmBuildMetaInfo): String =
serializeToPlainText(info)
fun deserializeFromString(str: String): JvmBuildMetaInfo? =
deserializeFromPlainText(str)
}
}
fun JvmBuildMetaInfo(args: CommonCompilerArguments): JvmBuildMetaInfo =
JvmBuildMetaInfo(isEAP = KotlinCompilerVersion.isPreRelease(),
compilerBuildVersion = KotlinCompilerVersion.VERSION,
languageVersionString = args.languageVersion ?: LanguageVersion.LATEST_STABLE.versionString,
apiVersionString = args.apiVersion ?: ApiVersion.LATEST_STABLE.versionString,
coroutinesEnable = args.coroutinesState == CommonCompilerArguments.ENABLE,
coroutinesWarn = args.coroutinesState == CommonCompilerArguments.WARN,
coroutinesError = args.coroutinesState == CommonCompilerArguments.ERROR,
multiplatformEnable = args.multiPlatform,
metadataVersionMajor = JvmMetadataVersion.INSTANCE.major,
metadataVersionMinor = JvmMetadataVersion.INSTANCE.minor,
metadataVersionPatch = JvmMetadataVersion.INSTANCE.patch,
bytecodeVersionMajor = JvmBytecodeBinaryVersion.INSTANCE.major,
bytecodeVersionMinor = JvmBytecodeBinaryVersion.INSTANCE.minor,
bytecodeVersionPatch = JvmBytecodeBinaryVersion.INSTANCE.patch)

View File

@@ -1,71 +0,0 @@
/*
* Copyright 2010-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jetbrains.kotlin.build
import kotlin.reflect.KClass
import kotlin.reflect.full.memberProperties
import kotlin.reflect.full.primaryConstructor
inline fun <reified T : Any> serializeToPlainText(instance: T): String = serializeToPlainText(instance, T::class)
fun <T : Any> serializeToPlainText(instance: T, klass: KClass<T>): String {
val lines = ArrayList<String>()
for (property in klass.memberProperties) {
val value = property.get(instance)
if (value != null) {
lines.add("${property.name}=$value")
}
}
return lines.joinToString("\n")
}
inline fun <reified T : Any> deserializeFromPlainText(str: String): T? = deserializeFromPlainText(str, T::class)
fun <T : Any> deserializeFromPlainText(str: String, klass: KClass<T>): T? {
val args = ArrayList<Any?>()
val properties = str
.split("\n")
.filter(String::isNotBlank)
.associate { it.substringBefore("=") to it.substringAfter("=") }
val primaryConstructor = klass.primaryConstructor
?: throw IllegalStateException("${klass.java} does not have primary constructor")
for (param in primaryConstructor.parameters.sortedBy { it.index }) {
val argumentString = properties[param.name]
if (argumentString == null) {
if (param.type.isMarkedNullable) {
args.add(null)
continue
}
else {
return null
}
}
val argument: Any? = when (param.type.classifier) {
Int::class -> argumentString.toInt()
Boolean::class -> argumentString.toBoolean()
String::class -> argumentString
else -> throw IllegalStateException("Unexpected property type: ${param.type}")
}
args.add(argument)
}
return primaryConstructor.call(*args.toTypedArray())
}

View File

@@ -16,33 +16,32 @@
package org.jetbrains.kotlin.compilerRunner;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.util.Function;
import com.intellij.util.containers.ComparatorUtil;
import com.sampullara.cli.Argument;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.cli.common.arguments.Argument;
import org.jetbrains.kotlin.cli.common.arguments.CommonToolArguments;
import org.jetbrains.kotlin.cli.common.arguments.ParseCommandLineArgumentsKt;
import org.jetbrains.kotlin.utils.StringsKt;
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
public class ArgumentUtils {
private ArgumentUtils() {}
@NotNull
public static List<String> convertArgumentsToStringList(@NotNull CommonToolArguments arguments)
public static List<String> convertArgumentsToStringList(@NotNull CommonCompilerArguments arguments)
throws InstantiationException, IllegalAccessException {
List<String> result = new ArrayList<>();
List<String> result = new ArrayList<String>();
convertArgumentsToStringList(arguments, arguments.getClass().newInstance(), arguments.getClass(), result);
result.addAll(arguments.freeArgs);
return result;
}
private static void convertArgumentsToStringList(
@NotNull CommonToolArguments arguments,
@NotNull CommonToolArguments defaultArguments,
@NotNull CommonCompilerArguments arguments,
@NotNull CommonCompilerArguments defaultArguments,
@NotNull Class<?> clazz,
@NotNull List<String> result
) throws IllegalAccessException, InstantiationException {
@@ -61,26 +60,27 @@ public class ArgumentUtils {
continue;
}
if (value == null || Objects.equals(value, defaultValue)) continue;
if (ComparatorUtil.equalsNullable(value, defaultValue)) continue;
String name = getAlias(argument);
if (name == null) {
name = getName(argument, field);
}
Class<?> fieldType = field.getType();
if (fieldType.isArray()) {
Object[] values = (Object[]) value;
if (values.length == 0) continue;
value = StringsKt.join(Arrays.asList(values), ",");
//noinspection unchecked
value = StringUtil.join(values, Function.TO_STRING, argument.delimiter());
}
result.add(argument.value());
result.add(argument.prefix() + name);
if (fieldType == boolean.class || fieldType == Boolean.class) continue;
if (ParseCommandLineArgumentsKt.isAdvanced(argument)) {
result.set(result.size() - 1, argument.value() + "=" + value.toString());
}
else {
result.add(value.toString());
}
result.add(value.toString());
}
Class<?> superClazz = clazz.getSuperclass();
@@ -88,4 +88,14 @@ public class ArgumentUtils {
convertArgumentsToStringList(arguments, defaultArguments, superClazz, result);
}
}
private static String getAlias(Argument argument) {
String alias = argument.alias();
return alias.isEmpty() ? null : alias;
}
private static String getName(Argument argument, Field field) {
String name = argument.value();
return name.isEmpty() ? field.getName() : name;
}
}

View File

@@ -21,11 +21,10 @@ import org.jetbrains.kotlin.config.IncrementalCompilation
import org.jetbrains.kotlin.load.java.JvmBytecodeBinaryVersion
import org.jetbrains.kotlin.load.kotlin.JvmMetadataVersion
import java.io.File
import java.io.IOException
private val NORMAL_VERSION = 8
private val EXPERIMENTAL_VERSION = 4
private val DATA_CONTAINER_VERSION = 2
private val EXPERIMENTAL_VERSION = 3
private val DATA_CONTAINER_VERSION = 1
private val NORMAL_VERSION_FILE_NAME = "format-version.txt"
private val EXPERIMENTAL_VERSION_FILE_NAME = "experimental-format-version.txt"
@@ -41,16 +40,8 @@ class CacheVersion(
) {
private val isEnabled by lazy(isEnabled)
private val actualVersion: Int?
get() = try {
versionFile.readText().toInt()
}
catch (e: NumberFormatException) {
null
}
catch (e: IOException) {
null
}
private val actualVersion: Int
get() = versionFile.readText().toInt()
private val expectedVersion: Int
get() {

View File

@@ -1,34 +0,0 @@
/*
* Copyright 2010-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jetbrains.kotlin.incremental
import org.jetbrains.kotlin.cli.common.ExitCode
import java.io.File
interface ICReporter {
fun report(message: ()->String)
// used in Gradle plugin
@Suppress("unused")
fun reportCompileIteration(sourceFiles: Collection<File>, exitCode: ExitCode) {}
fun pathsAsString(files: Iterable<File>): String =
files.joinToString { it.canonicalPath }
fun pathsAsString(vararg files: File): String =
pathsAsString(files.toList())
}

View File

@@ -16,12 +16,10 @@
package org.jetbrains.kotlin.incremental
import com.intellij.openapi.util.io.FileUtil
import com.intellij.openapi.util.io.FileUtil.toSystemIndependentName
import com.intellij.util.SmartList
import com.intellij.util.io.BooleanDataDescriptor
import com.intellij.util.io.EnumeratorStringDescriptor
import gnu.trove.THashSet
import org.jetbrains.annotations.TestOnly
import org.jetbrains.kotlin.build.GeneratedJvmClass
import org.jetbrains.kotlin.config.IncrementalCompilation
@@ -43,6 +41,7 @@ import org.jetbrains.kotlin.serialization.deserialization.TypeTable
import org.jetbrains.kotlin.serialization.deserialization.supertypes
import org.jetbrains.kotlin.serialization.jvm.BitEncoding
import org.jetbrains.kotlin.serialization.jvm.JvmProtoBufUtil
import org.jetbrains.kotlin.utils.singletonOrEmptyList
import org.jetbrains.org.objectweb.asm.*
import java.io.File
import java.security.MessageDigest
@@ -67,7 +66,6 @@ open class IncrementalCacheImpl<Target>(
private val SUBTYPES = "subtypes"
private val SUPERTYPES = "supertypes"
private val CLASS_FQ_NAME_TO_SOURCE = "class-fq-name-to-source"
private val INTERNAL_NAME_TO_SOURCE = "internal-name-to-source"
private val MODULE_MAPPING_FILE_NAME = "." + ModuleMapping.MAPPING_FILE_EXT
}
@@ -94,8 +92,6 @@ open class IncrementalCacheImpl<Target>(
private val subtypesMap = registerExperimentalMap(SubtypesMap(SUBTYPES.storageFile))
private val supertypesMap = registerExperimentalMap(SupertypesMap(SUPERTYPES.storageFile))
private val classFqNameToSourceMap = registerExperimentalMap(ClassFqNameToSourceMap(CLASS_FQ_NAME_TO_SOURCE.storageFile))
// todo: try to use internal names only?
private val internalNameToSource = registerExperimentalMap(InternalNameToSourcesMap(INTERNAL_NAME_TO_SOURCE.storageFile))
private val dependents = arrayListOf<IncrementalCacheImpl<Target>>()
private val outputDir by lazy(LazyThreadSafetyMode.NONE) { requireNotNull(targetOutputDir) { "Target is expected to have output directory: $target" } }
@@ -134,11 +130,7 @@ open class IncrementalCacheImpl<Target>(
fun getSubtypesOf(className: FqName): Sequence<FqName> =
subtypesMap[className].asSequence()
fun getSourceFileIfClass(fqName: FqName): File? =
classFqNameToSourceMap[fqName]
fun sourcesByInternalName(internalName: String): Collection<File> =
internalNameToSource[internalName]
fun getSourceFileIfClass(fqName: FqName): File? = classFqNameToSourceMap[fqName]
fun isMultifileFacade(className: JvmClassName): Boolean =
className.internalName in multifileFacadeToParts
@@ -165,10 +157,6 @@ open class IncrementalCacheImpl<Target>(
sourceToClassesMap.add(it, className)
}
if (IncrementalCompilation.isExperimental()) {
internalNameToSource[className.internalName] = sourceFiles
}
if (kotlinClass.classId.isLocal) {
return CompilationResult.NO_CHANGES
}
@@ -191,19 +179,12 @@ open class IncrementalCacheImpl<Target>(
// the class' proto wouldn't ever be deleted,
// because we don't write proto for multifile facades.
// As a workaround we can remove proto values for multifile facades.
val additionalChangeInfo = if (className in protoMap) {
val info = ChangeInfo.SignatureChanged(className.fqNameForClassNameWithoutDollars, areSubclassesAffected = true)
CompilationResult(protoChanged = true, changes = sequenceOf(info))
}
else CompilationResult.NO_CHANGES
protoMap.remove(className)
classFqNameToSourceMap.remove(className.fqNameForClassNameWithoutDollars)
internalNameToSource.remove(className.internalName)
// TODO NO_CHANGES? (delegates only)
constantsMap.process(kotlinClass, isPackage = true) +
inlineFunctionsMap.process(kotlinClass, isPackage = true) +
additionalChangeInfo
inlineFunctionsMap.process(kotlinClass, isPackage = true)
}
KotlinClassHeader.Kind.MULTIFILE_CLASS_PART -> {
assert(sourceFiles.size == 1) { "Multifile class part from several source files: $sourceFiles" }
@@ -271,7 +252,7 @@ open class IncrementalCacheImpl<Target>(
ProtoBuf.Class::getPropertyList
) + classData.classProto.enumEntryList.map { classData.nameResolver.getString(it.name) }
val companionObjectChanged = createChangeInfo(classFqName.parent(), listOfNotNull(classFqName.shortName().asString()))
val companionObjectChanged = createChangeInfo(classFqName.parent(), classFqName.shortName().asString().singletonOrEmptyList())
val companionObjectMembersChanged = createChangeInfo(classFqName, memberNames)
listOf(companionObjectMembersChanged, companionObjectChanged)
@@ -329,7 +310,6 @@ open class IncrementalCacheImpl<Target>(
partToMultifileFacade.remove(it)
constantsMap.remove(it)
inlineFunctionsMap.remove(it)
internalNameToSource.remove(it.internalName)
}
removeAllFromClassStorage(dirtyClasses)
@@ -341,7 +321,7 @@ open class IncrementalCacheImpl<Target>(
override fun getObsoletePackageParts(): Collection<String> {
val obsoletePackageParts =
dirtyOutputClassesMap.getDirtyOutputClasses().filter { packagePartMap.isPackagePart(JvmClassName.byInternalName(it)) }
debugLog("Obsolete package parts: $obsoletePackageParts")
debugLog("Obsolete package parts: ${obsoletePackageParts}")
return obsoletePackageParts
}
@@ -366,6 +346,10 @@ open class IncrementalCacheImpl<Target>(
return partNames.filter { !dirtyOutputClassesMap.isDirty(it) }
}
override fun getMultifileFacade(partInternalName: String): String? {
return partToMultifileFacade.get(partInternalName)
}
override fun getModuleMappingData(): ByteArray? {
return protoMap[JvmClassName.byInternalName(MODULE_MAPPING_FILE_NAME)]?.bytes
}
@@ -595,23 +579,6 @@ open class IncrementalCacheImpl<Target>(
override fun dumpValue(value: String) = value
}
inner class InternalNameToSourcesMap(storageFile: File) : BasicStringMap<Collection<String>>(storageFile, EnumeratorStringDescriptor(), PathCollectionExternalizer) {
operator fun set(internalName: String, sourceFiles: Iterable<File>) {
storage[internalName] = sourceFiles.map { it.canonicalPath }
}
operator fun get(internalName: String): Collection<File> =
(storage[internalName] ?: emptyList()).map(::File)
fun remove(internalName: String) {
storage.remove(internalName)
}
override fun dumpValue(value: Collection<String>): String =
value.dumpCollection()
}
private fun addToClassStorage(kotlinClass: LocalFileKotlinClass, srcFile: File) {
if (!IncrementalCompilation.isExperimental()) return
@@ -764,8 +731,6 @@ open class IncrementalCacheImpl<Target>(
}
}
private object PathCollectionExternalizer : CollectionExternalizer<String>(PathStringDescriptor, { THashSet(FileUtil.PATH_HASHING_STRATEGY) })
sealed class ChangeInfo(val fqName: FqName) {
open class MembersChanged(fqName: FqName, val names: Collection<String>) : ChangeInfo(fqName) {
override fun toStringProperties(): String = super.toStringProperties() + ", names = $names"
@@ -779,7 +744,7 @@ sealed class ChangeInfo(val fqName: FqName) {
protected open fun toStringProperties(): String = "fqName = $fqName"
override fun toString(): String {
return this::class.java.simpleName + "(${toStringProperties()})"
return this.javaClass.simpleName + "(${toStringProperties()})"
}
}

View File

@@ -26,17 +26,16 @@ class LocalFileKotlinClass private constructor(
private val file: File,
private val fileContents: ByteArray,
className: ClassId,
classVersion: Int,
classHeader: KotlinClassHeader,
innerClasses: InnerClassesInfo
) : FileBasedKotlinClass(className, classVersion, classHeader, innerClasses) {
innerClasses: FileBasedKotlinClass.InnerClassesInfo
) : FileBasedKotlinClass(className, classHeader, innerClasses) {
companion object {
fun create(file: File): LocalFileKotlinClass? {
val fileContents = file.readBytes()
return FileBasedKotlinClass.create(fileContents) {
className, classVersion, classHeader, innerClasses ->
LocalFileKotlinClass(file, fileContents, className, classVersion, classHeader, innerClasses)
className, classHeader, innerClasses ->
LocalFileKotlinClass(file, fileContents, className, classHeader, innerClasses)
}
}
}
@@ -50,5 +49,5 @@ class LocalFileKotlinClass private constructor(
override fun hashCode(): Int = file.hashCode()
override fun equals(other: Any?): Boolean = other is LocalFileKotlinClass && file == other.file
override fun toString(): String = "${this::class.java}: $file"
override fun toString(): String = "$javaClass: $file"
}

View File

@@ -197,7 +197,7 @@ open class LookupStorage(private val targetDataDir: File) : BasicMapsOwner() {
}
class LookupTrackerImpl(private val delegate: LookupTracker) : LookupTracker {
val lookups = MultiMap.createSet<LookupSymbol, String>()
val lookups = MultiMap<LookupSymbol, String>()
val pathInterner = StringInterner()
private val interner = StringInterner()

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2010-2017 JetBrains s.r.o.
* Copyright 2010-2016 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.
@@ -39,39 +39,23 @@ open class ProtoCompareGenerated(val oldNameResolver: NameResolver, val newNameR
if (!checkEqualsPackageProperty(old, new)) return false
if (!checkEqualsPackageTypeAlias(old, new)) return false
if (old.hasTypeTable() != new.hasTypeTable()) return false
if (old.hasTypeTable()) {
if (!checkEquals(old.typeTable, new.typeTable)) return false
}
if (old.hasSinceKotlinInfoTable() != new.hasSinceKotlinInfoTable()) return false
if (old.hasSinceKotlinInfoTable()) {
if (!checkEquals(old.sinceKotlinInfoTable, new.sinceKotlinInfoTable)) return false
}
if (old.hasExtension(JvmProtoBuf.packageModuleName) != new.hasExtension(JvmProtoBuf.packageModuleName)) return false
if (old.hasExtension(JvmProtoBuf.packageModuleName)) {
if (!checkStringEquals(old.getExtension(JvmProtoBuf.packageModuleName), new.getExtension(JvmProtoBuf.packageModuleName))) return false
}
if (old.getExtensionCount(JvmProtoBuf.packageLocalVariable) != new.getExtensionCount(JvmProtoBuf.packageLocalVariable)) return false
for(i in 0..old.getExtensionCount(JvmProtoBuf.packageLocalVariable) - 1) {
if (!checkEquals(old.getExtension(JvmProtoBuf.packageLocalVariable, i), new.getExtension(JvmProtoBuf.packageLocalVariable, i))) return false
}
return true
}
enum class ProtoBufPackageKind {
FUNCTION_LIST,
PROPERTY_LIST,
TYPE_ALIAS_LIST,
TYPE_TABLE,
SINCE_KOTLIN_INFO_TABLE,
PACKAGE_MODULE_NAME,
PACKAGE_LOCAL_VARIABLE_LIST
PACKAGE_MODULE_NAME
}
fun difference(old: ProtoBuf.Package, new: ProtoBuf.Package): EnumSet<ProtoBufPackageKind> {
@@ -81,29 +65,16 @@ open class ProtoCompareGenerated(val oldNameResolver: NameResolver, val newNameR
if (!checkEqualsPackageProperty(old, new)) result.add(ProtoBufPackageKind.PROPERTY_LIST)
if (!checkEqualsPackageTypeAlias(old, new)) result.add(ProtoBufPackageKind.TYPE_ALIAS_LIST)
if (old.hasTypeTable() != new.hasTypeTable()) result.add(ProtoBufPackageKind.TYPE_TABLE)
if (old.hasTypeTable()) {
if (!checkEquals(old.typeTable, new.typeTable)) result.add(ProtoBufPackageKind.TYPE_TABLE)
}
if (old.hasSinceKotlinInfoTable() != new.hasSinceKotlinInfoTable()) result.add(ProtoBufPackageKind.SINCE_KOTLIN_INFO_TABLE)
if (old.hasSinceKotlinInfoTable()) {
if (!checkEquals(old.sinceKotlinInfoTable, new.sinceKotlinInfoTable)) result.add(ProtoBufPackageKind.SINCE_KOTLIN_INFO_TABLE)
}
if (old.hasExtension(JvmProtoBuf.packageModuleName) != new.hasExtension(JvmProtoBuf.packageModuleName)) result.add(ProtoBufPackageKind.PACKAGE_MODULE_NAME)
if (old.hasExtension(JvmProtoBuf.packageModuleName)) {
if (!checkStringEquals(old.getExtension(JvmProtoBuf.packageModuleName), new.getExtension(JvmProtoBuf.packageModuleName))) result.add(ProtoBufPackageKind.PACKAGE_MODULE_NAME)
}
if (old.getExtensionCount(JvmProtoBuf.packageLocalVariable) != new.getExtensionCount(JvmProtoBuf.packageLocalVariable)) result.add(ProtoBufPackageKind.PACKAGE_LOCAL_VARIABLE_LIST)
for(i in 0..old.getExtensionCount(JvmProtoBuf.packageLocalVariable) - 1) {
if (!checkEquals(old.getExtension(JvmProtoBuf.packageLocalVariable, i), new.getExtension(JvmProtoBuf.packageLocalVariable, i))) result.add(ProtoBufPackageKind.PACKAGE_LOCAL_VARIABLE_LIST)
}
return result
}
@@ -134,38 +105,18 @@ open class ProtoCompareGenerated(val oldNameResolver: NameResolver, val newNameR
if (!checkEqualsClassProperty(old, new)) return false
if (!checkEqualsClassTypeAlias(old, new)) return false
if (!checkEqualsClassEnumEntry(old, new)) return false
if (!checkEqualsClassSealedSubclassFqName(old, new)) return false
if (old.hasTypeTable() != new.hasTypeTable()) return false
if (old.hasTypeTable()) {
if (!checkEquals(old.typeTable, new.typeTable)) return false
}
if (old.hasSinceKotlinInfo() != new.hasSinceKotlinInfo()) return false
if (old.hasSinceKotlinInfo()) {
if (old.sinceKotlinInfo != new.sinceKotlinInfo) return false
}
if (old.hasSinceKotlinInfoTable() != new.hasSinceKotlinInfoTable()) return false
if (old.hasSinceKotlinInfoTable()) {
if (!checkEquals(old.sinceKotlinInfoTable, new.sinceKotlinInfoTable)) return false
}
if (old.hasExtension(JvmProtoBuf.classModuleName) != new.hasExtension(JvmProtoBuf.classModuleName)) return false
if (old.hasExtension(JvmProtoBuf.classModuleName)) {
if (!checkStringEquals(old.getExtension(JvmProtoBuf.classModuleName), new.getExtension(JvmProtoBuf.classModuleName))) return false
}
if (old.getExtensionCount(JvmProtoBuf.classLocalVariable) != new.getExtensionCount(JvmProtoBuf.classLocalVariable)) return false
for(i in 0..old.getExtensionCount(JvmProtoBuf.classLocalVariable) - 1) {
if (!checkEquals(old.getExtension(JvmProtoBuf.classLocalVariable, i), new.getExtension(JvmProtoBuf.classLocalVariable, i))) return false
}
return true
}
enum class ProtoBufClassKind {
@@ -179,14 +130,9 @@ open class ProtoCompareGenerated(val oldNameResolver: NameResolver, val newNameR
CONSTRUCTOR_LIST,
FUNCTION_LIST,
PROPERTY_LIST,
TYPE_ALIAS_LIST,
ENUM_ENTRY_LIST,
SEALED_SUBCLASS_FQ_NAME_LIST,
TYPE_TABLE,
SINCE_KOTLIN_INFO,
SINCE_KOTLIN_INFO_TABLE,
CLASS_MODULE_NAME,
CLASS_LOCAL_VARIABLE_LIST
CLASS_MODULE_NAME
}
fun difference(old: ProtoBuf.Class, new: ProtoBuf.Class): EnumSet<ProtoBufClassKind> {
@@ -218,38 +164,18 @@ open class ProtoCompareGenerated(val oldNameResolver: NameResolver, val newNameR
if (!checkEqualsClassProperty(old, new)) result.add(ProtoBufClassKind.PROPERTY_LIST)
if (!checkEqualsClassTypeAlias(old, new)) result.add(ProtoBufClassKind.TYPE_ALIAS_LIST)
if (!checkEqualsClassEnumEntry(old, new)) result.add(ProtoBufClassKind.ENUM_ENTRY_LIST)
if (!checkEqualsClassSealedSubclassFqName(old, new)) result.add(ProtoBufClassKind.SEALED_SUBCLASS_FQ_NAME_LIST)
if (old.hasTypeTable() != new.hasTypeTable()) result.add(ProtoBufClassKind.TYPE_TABLE)
if (old.hasTypeTable()) {
if (!checkEquals(old.typeTable, new.typeTable)) result.add(ProtoBufClassKind.TYPE_TABLE)
}
if (old.hasSinceKotlinInfo() != new.hasSinceKotlinInfo()) result.add(ProtoBufClassKind.SINCE_KOTLIN_INFO)
if (old.hasSinceKotlinInfo()) {
if (old.sinceKotlinInfo != new.sinceKotlinInfo) result.add(ProtoBufClassKind.SINCE_KOTLIN_INFO)
}
if (old.hasSinceKotlinInfoTable() != new.hasSinceKotlinInfoTable()) result.add(ProtoBufClassKind.SINCE_KOTLIN_INFO_TABLE)
if (old.hasSinceKotlinInfoTable()) {
if (!checkEquals(old.sinceKotlinInfoTable, new.sinceKotlinInfoTable)) result.add(ProtoBufClassKind.SINCE_KOTLIN_INFO_TABLE)
}
if (old.hasExtension(JvmProtoBuf.classModuleName) != new.hasExtension(JvmProtoBuf.classModuleName)) result.add(ProtoBufClassKind.CLASS_MODULE_NAME)
if (old.hasExtension(JvmProtoBuf.classModuleName)) {
if (!checkStringEquals(old.getExtension(JvmProtoBuf.classModuleName), new.getExtension(JvmProtoBuf.classModuleName))) result.add(ProtoBufClassKind.CLASS_MODULE_NAME)
}
if (old.getExtensionCount(JvmProtoBuf.classLocalVariable) != new.getExtensionCount(JvmProtoBuf.classLocalVariable)) result.add(ProtoBufClassKind.CLASS_LOCAL_VARIABLE_LIST)
for(i in 0..old.getExtensionCount(JvmProtoBuf.classLocalVariable) - 1) {
if (!checkEquals(old.getExtension(JvmProtoBuf.classLocalVariable, i), new.getExtension(JvmProtoBuf.classLocalVariable, i))) result.add(ProtoBufClassKind.CLASS_LOCAL_VARIABLE_LIST)
}
return result
}
@@ -295,11 +221,6 @@ open class ProtoCompareGenerated(val oldNameResolver: NameResolver, val newNameR
if (!checkEquals(old.typeTable, new.typeTable)) return false
}
if (old.hasSinceKotlinInfo() != new.hasSinceKotlinInfo()) return false
if (old.hasSinceKotlinInfo()) {
if (old.sinceKotlinInfo != new.sinceKotlinInfo) return false
}
if (old.hasExtension(JvmProtoBuf.methodSignature) != new.hasExtension(JvmProtoBuf.methodSignature)) return false
if (old.hasExtension(JvmProtoBuf.methodSignature)) {
if (!checkEquals(old.getExtension(JvmProtoBuf.methodSignature), new.getExtension(JvmProtoBuf.methodSignature))) return false
@@ -358,11 +279,6 @@ open class ProtoCompareGenerated(val oldNameResolver: NameResolver, val newNameR
if (old.setterFlags != new.setterFlags) return false
}
if (old.hasSinceKotlinInfo() != new.hasSinceKotlinInfo()) return false
if (old.hasSinceKotlinInfo()) {
if (old.sinceKotlinInfo != new.sinceKotlinInfo) return false
}
if (old.hasExtension(JvmProtoBuf.propertySignature) != new.hasExtension(JvmProtoBuf.propertySignature)) return false
if (old.hasExtension(JvmProtoBuf.propertySignature)) {
if (!checkEquals(old.getExtension(JvmProtoBuf.propertySignature), new.getExtension(JvmProtoBuf.propertySignature))) return false
@@ -371,46 +287,6 @@ open class ProtoCompareGenerated(val oldNameResolver: NameResolver, val newNameR
return true
}
open fun checkEquals(old: ProtoBuf.TypeAlias, new: ProtoBuf.TypeAlias): Boolean {
if (old.hasFlags() != new.hasFlags()) return false
if (old.hasFlags()) {
if (old.flags != new.flags) return false
}
if (!checkStringEquals(old.name, new.name)) return false
if (!checkEqualsTypeAliasTypeParameter(old, new)) return false
if (old.hasUnderlyingType() != new.hasUnderlyingType()) return false
if (old.hasUnderlyingType()) {
if (!checkEquals(old.underlyingType, new.underlyingType)) return false
}
if (old.hasUnderlyingTypeId() != new.hasUnderlyingTypeId()) return false
if (old.hasUnderlyingTypeId()) {
if (old.underlyingTypeId != new.underlyingTypeId) return false
}
if (old.hasExpandedType() != new.hasExpandedType()) return false
if (old.hasExpandedType()) {
if (!checkEquals(old.expandedType, new.expandedType)) return false
}
if (old.hasExpandedTypeId() != new.hasExpandedTypeId()) return false
if (old.hasExpandedTypeId()) {
if (old.expandedTypeId != new.expandedTypeId) return false
}
if (!checkEqualsTypeAliasAnnotation(old, new)) return false
if (old.hasSinceKotlinInfo() != new.hasSinceKotlinInfo()) return false
if (old.hasSinceKotlinInfo()) {
if (old.sinceKotlinInfo != new.sinceKotlinInfo) return false
}
return true
}
open fun checkEquals(old: ProtoBuf.TypeTable, new: ProtoBuf.TypeTable): Boolean {
if (!checkEqualsTypeTableType(old, new)) return false
@@ -422,12 +298,6 @@ open class ProtoCompareGenerated(val oldNameResolver: NameResolver, val newNameR
return true
}
open fun checkEquals(old: ProtoBuf.SinceKotlinInfoTable, new: ProtoBuf.SinceKotlinInfoTable): Boolean {
if (!checkEqualsSinceKotlinInfoTableInfo(old, new)) return false
return true
}
open fun checkEquals(old: ProtoBuf.TypeParameter, new: ProtoBuf.TypeParameter): Boolean {
if (old.id != new.id) return false
@@ -494,11 +364,6 @@ open class ProtoCompareGenerated(val oldNameResolver: NameResolver, val newNameR
if (!checkStringEquals(old.typeParameterName, new.typeParameterName)) return false
}
if (old.hasTypeAliasName() != new.hasTypeAliasName()) return false
if (old.hasTypeAliasName()) {
if (!checkClassIdEquals(old.typeAliasName, new.typeAliasName)) return false
}
if (old.hasOuterType() != new.hasOuterType()) return false
if (old.hasOuterType()) {
if (!checkEquals(old.outerType, new.outerType)) return false
@@ -509,21 +374,6 @@ open class ProtoCompareGenerated(val oldNameResolver: NameResolver, val newNameR
if (old.outerTypeId != new.outerTypeId) return false
}
if (old.hasAbbreviatedType() != new.hasAbbreviatedType()) return false
if (old.hasAbbreviatedType()) {
if (!checkEquals(old.abbreviatedType, new.abbreviatedType)) return false
}
if (old.hasAbbreviatedTypeId() != new.hasAbbreviatedTypeId()) return false
if (old.hasAbbreviatedTypeId()) {
if (old.abbreviatedTypeId != new.abbreviatedTypeId) return false
}
if (old.hasFlags() != new.hasFlags()) return false
if (old.hasFlags()) {
if (old.flags != new.flags) return false
}
if (old.getExtensionCount(JvmProtoBuf.typeAnnotation) != new.getExtensionCount(JvmProtoBuf.typeAnnotation)) return false
for(i in 0..old.getExtensionCount(JvmProtoBuf.typeAnnotation) - 1) {
@@ -546,11 +396,6 @@ open class ProtoCompareGenerated(val oldNameResolver: NameResolver, val newNameR
if (!checkEqualsConstructorValueParameter(old, new)) return false
if (old.hasSinceKotlinInfo() != new.hasSinceKotlinInfo()) return false
if (old.hasSinceKotlinInfo()) {
if (old.sinceKotlinInfo != new.sinceKotlinInfo) return false
}
if (old.hasExtension(JvmProtoBuf.constructorSignature) != new.hasExtension(JvmProtoBuf.constructorSignature)) return false
if (old.hasExtension(JvmProtoBuf.constructorSignature)) {
if (!checkEquals(old.getExtension(JvmProtoBuf.constructorSignature), new.getExtension(JvmProtoBuf.constructorSignature))) return false
@@ -645,35 +490,6 @@ open class ProtoCompareGenerated(val oldNameResolver: NameResolver, val newNameR
return true
}
open fun checkEquals(old: ProtoBuf.SinceKotlinInfo, new: ProtoBuf.SinceKotlinInfo): Boolean {
if (old.hasVersion() != new.hasVersion()) return false
if (old.hasVersion()) {
if (old.version != new.version) return false
}
if (old.hasVersionFull() != new.hasVersionFull()) return false
if (old.hasVersionFull()) {
if (old.versionFull != new.versionFull) return false
}
if (old.hasLevel() != new.hasLevel()) return false
if (old.hasLevel()) {
if (old.level != new.level) return false
}
if (old.hasErrorCode() != new.hasErrorCode()) return false
if (old.hasErrorCode()) {
if (old.errorCode != new.errorCode) return false
}
if (old.hasMessage() != new.hasMessage()) return false
if (old.hasMessage()) {
if (!checkStringEquals(old.message, new.message)) return false
}
return true
}
open fun checkEquals(old: ProtoBuf.Type.Argument, new: ProtoBuf.Type.Argument): Boolean {
if (old.hasProjection() != new.hasProjection()) return false
if (old.hasProjection()) {
@@ -781,16 +597,6 @@ open class ProtoCompareGenerated(val oldNameResolver: NameResolver, val newNameR
return true
}
open fun checkEqualsPackageTypeAlias(old: ProtoBuf.Package, new: ProtoBuf.Package): Boolean {
if (old.typeAliasCount != new.typeAliasCount) return false
for(i in 0..old.typeAliasCount - 1) {
if (!checkEquals(old.getTypeAlias(i), new.getTypeAlias(i))) return false
}
return true
}
open fun checkEqualsClassTypeParameter(old: ProtoBuf.Class, new: ProtoBuf.Class): Boolean {
if (old.typeParameterCount != new.typeParameterCount) return false
@@ -861,16 +667,6 @@ open class ProtoCompareGenerated(val oldNameResolver: NameResolver, val newNameR
return true
}
open fun checkEqualsClassTypeAlias(old: ProtoBuf.Class, new: ProtoBuf.Class): Boolean {
if (old.typeAliasCount != new.typeAliasCount) return false
for(i in 0..old.typeAliasCount - 1) {
if (!checkEquals(old.getTypeAlias(i), new.getTypeAlias(i))) return false
}
return true
}
open fun checkEqualsClassEnumEntry(old: ProtoBuf.Class, new: ProtoBuf.Class): Boolean {
if (old.enumEntryCount != new.enumEntryCount) return false
@@ -881,16 +677,6 @@ open class ProtoCompareGenerated(val oldNameResolver: NameResolver, val newNameR
return true
}
open fun checkEqualsClassSealedSubclassFqName(old: ProtoBuf.Class, new: ProtoBuf.Class): Boolean {
if (old.sealedSubclassFqNameCount != new.sealedSubclassFqNameCount) return false
for(i in 0..old.sealedSubclassFqNameCount - 1) {
if (!checkClassIdEquals(old.getSealedSubclassFqName(i), new.getSealedSubclassFqName(i))) return false
}
return true
}
open fun checkEqualsFunctionTypeParameter(old: ProtoBuf.Function, new: ProtoBuf.Function): Boolean {
if (old.typeParameterCount != new.typeParameterCount) return false
@@ -921,26 +707,6 @@ open class ProtoCompareGenerated(val oldNameResolver: NameResolver, val newNameR
return true
}
open fun checkEqualsTypeAliasTypeParameter(old: ProtoBuf.TypeAlias, new: ProtoBuf.TypeAlias): Boolean {
if (old.typeParameterCount != new.typeParameterCount) return false
for(i in 0..old.typeParameterCount - 1) {
if (!checkEquals(old.getTypeParameter(i), new.getTypeParameter(i))) return false
}
return true
}
open fun checkEqualsTypeAliasAnnotation(old: ProtoBuf.TypeAlias, new: ProtoBuf.TypeAlias): Boolean {
if (old.annotationCount != new.annotationCount) return false
for(i in 0..old.annotationCount - 1) {
if (!checkEquals(old.getAnnotation(i), new.getAnnotation(i))) return false
}
return true
}
open fun checkEqualsTypeTableType(old: ProtoBuf.TypeTable, new: ProtoBuf.TypeTable): Boolean {
if (old.typeCount != new.typeCount) return false
@@ -951,16 +717,6 @@ open class ProtoCompareGenerated(val oldNameResolver: NameResolver, val newNameR
return true
}
open fun checkEqualsSinceKotlinInfoTableInfo(old: ProtoBuf.SinceKotlinInfoTable, new: ProtoBuf.SinceKotlinInfoTable): Boolean {
if (old.infoCount != new.infoCount) return false
for(i in 0..old.infoCount - 1) {
if (!checkEquals(old.getInfo(i), new.getInfo(i))) return false
}
return true
}
open fun checkEqualsTypeParameterUpperBound(old: ProtoBuf.TypeParameter, new: ProtoBuf.TypeParameter): Boolean {
if (old.upperBoundCount != new.upperBoundCount) return false
@@ -1063,26 +819,14 @@ fun ProtoBuf.Package.hashCode(stringIndexes: (Int) -> Int, fqNameIndexes: (Int)
hashCode = 31 * hashCode + getProperty(i).hashCode(stringIndexes, fqNameIndexes)
}
for(i in 0..typeAliasCount - 1) {
hashCode = 31 * hashCode + getTypeAlias(i).hashCode(stringIndexes, fqNameIndexes)
}
if (hasTypeTable()) {
hashCode = 31 * hashCode + typeTable.hashCode(stringIndexes, fqNameIndexes)
}
if (hasSinceKotlinInfoTable()) {
hashCode = 31 * hashCode + sinceKotlinInfoTable.hashCode(stringIndexes, fqNameIndexes)
}
if (hasExtension(JvmProtoBuf.packageModuleName)) {
hashCode = 31 * hashCode + stringIndexes(getExtension(JvmProtoBuf.packageModuleName))
}
for(i in 0..getExtensionCount(JvmProtoBuf.packageLocalVariable) - 1) {
hashCode = 31 * hashCode + getExtension(JvmProtoBuf.packageLocalVariable, i).hashCode(stringIndexes, fqNameIndexes)
}
return hashCode
}
@@ -1127,38 +871,18 @@ fun ProtoBuf.Class.hashCode(stringIndexes: (Int) -> Int, fqNameIndexes: (Int) ->
hashCode = 31 * hashCode + getProperty(i).hashCode(stringIndexes, fqNameIndexes)
}
for(i in 0..typeAliasCount - 1) {
hashCode = 31 * hashCode + getTypeAlias(i).hashCode(stringIndexes, fqNameIndexes)
}
for(i in 0..enumEntryCount - 1) {
hashCode = 31 * hashCode + getEnumEntry(i).hashCode(stringIndexes, fqNameIndexes)
}
for(i in 0..sealedSubclassFqNameCount - 1) {
hashCode = 31 * hashCode + fqNameIndexes(getSealedSubclassFqName(i))
}
if (hasTypeTable()) {
hashCode = 31 * hashCode + typeTable.hashCode(stringIndexes, fqNameIndexes)
}
if (hasSinceKotlinInfo()) {
hashCode = 31 * hashCode + sinceKotlinInfo
}
if (hasSinceKotlinInfoTable()) {
hashCode = 31 * hashCode + sinceKotlinInfoTable.hashCode(stringIndexes, fqNameIndexes)
}
if (hasExtension(JvmProtoBuf.classModuleName)) {
hashCode = 31 * hashCode + stringIndexes(getExtension(JvmProtoBuf.classModuleName))
}
for(i in 0..getExtensionCount(JvmProtoBuf.classLocalVariable) - 1) {
hashCode = 31 * hashCode + getExtension(JvmProtoBuf.classLocalVariable, i).hashCode(stringIndexes, fqNameIndexes)
}
return hashCode
}
@@ -1203,10 +927,6 @@ fun ProtoBuf.Function.hashCode(stringIndexes: (Int) -> Int, fqNameIndexes: (Int)
hashCode = 31 * hashCode + typeTable.hashCode(stringIndexes, fqNameIndexes)
}
if (hasSinceKotlinInfo()) {
hashCode = 31 * hashCode + sinceKotlinInfo
}
if (hasExtension(JvmProtoBuf.methodSignature)) {
hashCode = 31 * hashCode + getExtension(JvmProtoBuf.methodSignature).hashCode(stringIndexes, fqNameIndexes)
}
@@ -1259,10 +979,6 @@ fun ProtoBuf.Property.hashCode(stringIndexes: (Int) -> Int, fqNameIndexes: (Int)
hashCode = 31 * hashCode + setterFlags
}
if (hasSinceKotlinInfo()) {
hashCode = 31 * hashCode + sinceKotlinInfo
}
if (hasExtension(JvmProtoBuf.propertySignature)) {
hashCode = 31 * hashCode + getExtension(JvmProtoBuf.propertySignature).hashCode(stringIndexes, fqNameIndexes)
}
@@ -1270,46 +986,6 @@ fun ProtoBuf.Property.hashCode(stringIndexes: (Int) -> Int, fqNameIndexes: (Int)
return hashCode
}
fun ProtoBuf.TypeAlias.hashCode(stringIndexes: (Int) -> Int, fqNameIndexes: (Int) -> Int): Int {
var hashCode = 1
if (hasFlags()) {
hashCode = 31 * hashCode + flags
}
hashCode = 31 * hashCode + stringIndexes(name)
for(i in 0..typeParameterCount - 1) {
hashCode = 31 * hashCode + getTypeParameter(i).hashCode(stringIndexes, fqNameIndexes)
}
if (hasUnderlyingType()) {
hashCode = 31 * hashCode + underlyingType.hashCode(stringIndexes, fqNameIndexes)
}
if (hasUnderlyingTypeId()) {
hashCode = 31 * hashCode + underlyingTypeId
}
if (hasExpandedType()) {
hashCode = 31 * hashCode + expandedType.hashCode(stringIndexes, fqNameIndexes)
}
if (hasExpandedTypeId()) {
hashCode = 31 * hashCode + expandedTypeId
}
for(i in 0..annotationCount - 1) {
hashCode = 31 * hashCode + getAnnotation(i).hashCode(stringIndexes, fqNameIndexes)
}
if (hasSinceKotlinInfo()) {
hashCode = 31 * hashCode + sinceKotlinInfo
}
return hashCode
}
fun ProtoBuf.TypeTable.hashCode(stringIndexes: (Int) -> Int, fqNameIndexes: (Int) -> Int): Int {
var hashCode = 1
@@ -1324,16 +1000,6 @@ fun ProtoBuf.TypeTable.hashCode(stringIndexes: (Int) -> Int, fqNameIndexes: (Int
return hashCode
}
fun ProtoBuf.SinceKotlinInfoTable.hashCode(stringIndexes: (Int) -> Int, fqNameIndexes: (Int) -> Int): Int {
var hashCode = 1
for(i in 0..infoCount - 1) {
hashCode = 31 * hashCode + getInfo(i).hashCode(stringIndexes, fqNameIndexes)
}
return hashCode
}
fun ProtoBuf.TypeParameter.hashCode(stringIndexes: (Int) -> Int, fqNameIndexes: (Int) -> Int): Int {
var hashCode = 1
@@ -1399,10 +1065,6 @@ fun ProtoBuf.Type.hashCode(stringIndexes: (Int) -> Int, fqNameIndexes: (Int) ->
hashCode = 31 * hashCode + stringIndexes(typeParameterName)
}
if (hasTypeAliasName()) {
hashCode = 31 * hashCode + fqNameIndexes(typeAliasName)
}
if (hasOuterType()) {
hashCode = 31 * hashCode + outerType.hashCode(stringIndexes, fqNameIndexes)
}
@@ -1411,18 +1073,6 @@ fun ProtoBuf.Type.hashCode(stringIndexes: (Int) -> Int, fqNameIndexes: (Int) ->
hashCode = 31 * hashCode + outerTypeId
}
if (hasAbbreviatedType()) {
hashCode = 31 * hashCode + abbreviatedType.hashCode(stringIndexes, fqNameIndexes)
}
if (hasAbbreviatedTypeId()) {
hashCode = 31 * hashCode + abbreviatedTypeId
}
if (hasFlags()) {
hashCode = 31 * hashCode + flags
}
for(i in 0..getExtensionCount(JvmProtoBuf.typeAnnotation) - 1) {
hashCode = 31 * hashCode + getExtension(JvmProtoBuf.typeAnnotation, i).hashCode(stringIndexes, fqNameIndexes)
}
@@ -1445,10 +1095,6 @@ fun ProtoBuf.Constructor.hashCode(stringIndexes: (Int) -> Int, fqNameIndexes: (I
hashCode = 31 * hashCode + getValueParameter(i).hashCode(stringIndexes, fqNameIndexes)
}
if (hasSinceKotlinInfo()) {
hashCode = 31 * hashCode + sinceKotlinInfo
}
if (hasExtension(JvmProtoBuf.constructorSignature)) {
hashCode = 31 * hashCode + getExtension(JvmProtoBuf.constructorSignature).hashCode(stringIndexes, fqNameIndexes)
}
@@ -1542,32 +1188,6 @@ fun ProtoBuf.Annotation.hashCode(stringIndexes: (Int) -> Int, fqNameIndexes: (In
return hashCode
}
fun ProtoBuf.SinceKotlinInfo.hashCode(stringIndexes: (Int) -> Int, fqNameIndexes: (Int) -> Int): Int {
var hashCode = 1
if (hasVersion()) {
hashCode = 31 * hashCode + version
}
if (hasVersionFull()) {
hashCode = 31 * hashCode + versionFull
}
if (hasLevel()) {
hashCode = 31 * hashCode + level.hashCode()
}
if (hasErrorCode()) {
hashCode = 31 * hashCode + errorCode
}
if (hasMessage()) {
hashCode = 31 * hashCode + stringIndexes(message)
}
return hashCode
}
fun ProtoBuf.Type.Argument.hashCode(stringIndexes: (Int) -> Int, fqNameIndexes: (Int) -> Int): Int {
var hashCode = 1

View File

@@ -19,6 +19,7 @@
package org.jetbrains.kotlin.incremental
import com.intellij.ide.highlighter.JavaFileType
import com.intellij.openapi.util.io.FileUtil
import com.intellij.openapi.util.text.StringUtil
import org.jetbrains.kotlin.build.GeneratedFile
@@ -41,7 +42,9 @@ import java.util.*
fun Iterable<File>.javaSourceRoots(roots: Iterable<File>): Iterable<File> =
filter(File::isJavaFile).mapNotNull { findSrcDirRoot(it, roots) }
filter { it.isJavaFile() }
.map { findSrcDirRoot(it, roots) }
.filterNotNull()
fun makeModuleFile(name: String, isTest: Boolean, outputDir: File, sourcesToCompile: Iterable<File>, javaSourceRoots: Iterable<File>, classpath: Iterable<File>, friendDirs: Iterable<File>): File {
val builder = KotlinModuleXmlBuilder()
@@ -51,7 +54,6 @@ fun makeModuleFile(name: String, isTest: Boolean, outputDir: File, sourcesToComp
sourcesToCompile,
javaSourceRoots.map { JvmSourceRoot(it) },
classpath,
null,
"java-production",
isTest,
// this excludes the output directories from the class path, to be removed for true incremental compilation
@@ -70,8 +72,7 @@ fun makeCompileServices(
compilationCanceledStatus: CompilationCanceledStatus?
): Services =
with(Services.Builder()) {
register(IncrementalCompilationComponents::class.java,
IncrementalCompilationComponentsImpl(incrementalCaches, lookupTracker))
register(IncrementalCompilationComponents::class.java, IncrementalCompilationComponentsImpl(incrementalCaches, lookupTracker))
compilationCanceledStatus?.let {
register(CompilationCanceledStatus::class.java, it)
}
@@ -143,7 +144,7 @@ fun LookupStorage.update(
filesToCompile: Iterable<File>,
removedFiles: Iterable<File>
) {
if (lookupTracker !is LookupTrackerImpl) throw AssertionError("Lookup tracker is expected to be LookupTrackerImpl, got ${lookupTracker::class.java}")
if (lookupTracker !is LookupTrackerImpl) throw AssertionError("Lookup tracker is expected to be LookupTrackerImpl, got ${lookupTracker.javaClass}")
removeLookupsFrom(filesToCompile.asSequence() + removedFiles.asSequence())
@@ -164,30 +165,29 @@ fun<Target> OutputItemsCollectorImpl.generatedFiles(
return outputs.map { outputItem ->
val target =
outputItem.sourceFiles.firstOrNull()?.let { sourceToTarget[it] } ?:
targets.singleOrNull { getOutputDir(it)?.let { outputItem.outputFile.startsWith(it) } ?: false } ?:
targets.filter { getOutputDir(it)?.let { outputItem.outputFile.startsWith(it) } ?: false }.singleOrNull() ?:
representativeTarget
when (outputItem.outputFile.extension) {
"class" -> GeneratedJvmClass(target, outputItem.sourceFiles, outputItem.outputFile)
else -> GeneratedFile(target, outputItem.sourceFiles, outputItem.outputFile)
}
if (outputItem.outputFile.name.endsWith(".class"))
GeneratedJvmClass(target, outputItem.sourceFiles, outputItem.outputFile)
else
GeneratedFile(target, outputItem.sourceFiles, outputItem.outputFile)
}
}
data class DirtyData(
val dirtyLookupSymbols: Collection<LookupSymbol> = emptyList(),
val dirtyClassesFqNames: Collection<FqName> = emptyList()
val dirtyLookupSymbols: Iterable<LookupSymbol>,
val dirtyClassesFqNames: Iterable<FqName>
)
fun <Target> CompilationResult.getDirtyData(
caches: Iterable<IncrementalCacheImpl<Target>>,
reporter: ICReporter
log: (String)->Unit
): DirtyData {
val dirtyLookupSymbols = HashSet<LookupSymbol>()
val dirtyClassesFqNames = HashSet<FqName>()
for (change in changes) {
reporter.report { "Process $change" }
log("Process $change")
if (change is ChangeInfo.SignatureChanged) {
val fqNames = if (!change.areSubclassesAffected) listOf(change.fqName) else withSubtypes(change.fqName, caches)
@@ -219,14 +219,15 @@ fun <Target> CompilationResult.getDirtyData(
fun mapLookupSymbolsToFiles(
lookupStorage: LookupStorage,
lookupSymbols: Iterable<LookupSymbol>,
reporter: ICReporter,
log: (String)->Unit,
getLogFilePath: (File)->String = { it.canonicalPath },
excludes: Set<File> = emptySet()
): Set<File> {
val dirtyFiles = HashSet<File>()
for (lookup in lookupSymbols) {
val affectedFiles = lookupStorage.get(lookup).map(::File).filter { it !in excludes }
reporter.report { "${lookup.scope}#${lookup.name} caused recompilation of: ${reporter.pathsAsString(affectedFiles)}" }
log("${lookup.scope}#${lookup.name} caused recompilation of: ${affectedFiles.map(getLogFilePath)}")
dirtyFiles.addAll(affectedFiles)
}
@@ -236,7 +237,8 @@ fun mapLookupSymbolsToFiles(
fun <Target> mapClassesFqNamesToFiles(
caches: Iterable<IncrementalCacheImpl<Target>>,
classesFqNames: Iterable<FqName>,
reporter: ICReporter,
log: (String)->Unit,
getLogFilePath: (File)->String = { it.canonicalPath },
excludes: Set<File> = emptySet()
): Set<File> {
val dirtyFiles = HashSet<File>()
@@ -246,7 +248,7 @@ fun <Target> mapClassesFqNamesToFiles(
val srcFile = cache.getSourceFileIfClass(dirtyClassFqName)
if (srcFile == null || srcFile in excludes) continue
reporter.report { ("Class $dirtyClassFqName caused recompilation of: ${reporter.pathsAsString(srcFile)}") }
log("Class $dirtyClassFqName caused recompilation of: ${getLogFilePath(srcFile)}")
dirtyFiles.add(srcFile)
}
}
@@ -254,10 +256,12 @@ fun <Target> mapClassesFqNamesToFiles(
return dirtyFiles
}
private fun File.isJavaFile() = extension.equals(JavaFileType.INSTANCE.defaultExtension, ignoreCase = true)
private fun findSrcDirRoot(file: File, roots: Iterable<File>): File? =
roots.firstOrNull { FileUtil.isAncestor(it, file, false) }
fun <Target> withSubtypes(
private fun <Target> withSubtypes(
typeFqName: FqName,
caches: Iterable<IncrementalCacheImpl<Target>>
): Set<FqName> {

View File

@@ -1,31 +0,0 @@
/*
* Copyright 2010-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jetbrains.kotlin.incremental
import java.io.File
fun File.isJavaFile() =
extension.equals("java", ignoreCase = true)
fun File.isKotlinFile(): Boolean =
extension.let {
"kt".equals(it, ignoreCase = true) ||
"kts".equals(it, ignoreCase = true)
}
fun File.isClassFile(): Boolean =
extension.equals("class", ignoreCase = true)

View File

@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.serialization.ProtoBuf
import org.jetbrains.kotlin.serialization.deserialization.Deserialization
import org.jetbrains.kotlin.serialization.deserialization.NameResolver
import org.jetbrains.kotlin.serialization.jvm.JvmProtoBufUtil
import org.jetbrains.kotlin.utils.HashSetUtil
import java.util.*
data class Difference(
@@ -56,7 +57,6 @@ internal val MessageLite.isPrivate: Boolean
is ProtoBuf.Constructor -> Flags.VISIBILITY.get(flags)
is ProtoBuf.Function -> Flags.VISIBILITY.get(flags)
is ProtoBuf.Property -> Flags.VISIBILITY.get(flags)
is ProtoBuf.TypeAlias -> Flags.VISIBILITY.get(flags)
else -> error("Unknown message: $this")
}))
@@ -65,7 +65,6 @@ private fun MessageLite.name(nameResolver: NameResolver): String {
is ProtoBuf.Constructor -> "<init>"
is ProtoBuf.Function -> nameResolver.getString(name)
is ProtoBuf.Property -> nameResolver.getString(name)
is ProtoBuf.TypeAlias -> nameResolver.getString(name)
else -> error("Unknown message: $this")
}
}
@@ -134,7 +133,7 @@ private abstract class DifferenceCalculator() {
): Collection<String> {
val oldNames = oldList.map { compareObject.oldNameResolver.getString(it) }.toSet()
val newNames = newList.map { compareObject.newNameResolver.getString(it) }.toSet()
return oldNames.union(newNames) - oldNames.intersect(newNames)
return HashSetUtil.symmetricDifference(oldNames, newNames)
}
private fun MessageLite.getHashCode(stringIndexes: (Int) -> Int, fqNameIndexes: (Int) -> Int): Int {
@@ -142,7 +141,6 @@ private abstract class DifferenceCalculator() {
is ProtoBuf.Constructor -> hashCode(stringIndexes, fqNameIndexes)
is ProtoBuf.Function -> hashCode(stringIndexes, fqNameIndexes)
is ProtoBuf.Property -> hashCode(stringIndexes, fqNameIndexes)
is ProtoBuf.TypeAlias -> hashCode(stringIndexes, fqNameIndexes)
else -> error("Unknown message: $this")
}
}
@@ -152,7 +150,6 @@ private abstract class DifferenceCalculator() {
old is ProtoBuf.Constructor && new is ProtoBuf.Constructor -> checkEquals(old, new)
old is ProtoBuf.Function && new is ProtoBuf.Function -> checkEquals(old, new)
old is ProtoBuf.Property && new is ProtoBuf.Property -> checkEquals(old, new)
old is ProtoBuf.TypeAlias && new is ProtoBuf.TypeAlias -> checkEquals(old, new)
else -> error("Unknown message: $this")
}
}
@@ -186,12 +183,10 @@ private class DifferenceCalculatorForClass(oldData: ProtoMapValue, newData: Prot
}
for (kind in diff) {
@Suppress("UNUSED_VARIABLE") // To make this 'when' exhaustive
val unused: Any = when (kind!!) {
when (kind!!) {
ProtoBufClassKind.COMPANION_OBJECT_NAME -> {
if (oldProto.hasCompanionObjectName()) oldProto.companionObjectName.oldToNames()
if (newProto.hasCompanionObjectName()) newProto.companionObjectName.newToNames()
isClassAffected = true
}
ProtoBufClassKind.NESTED_CLASS_NAME_LIST -> {
if (classIsSealed) {
@@ -204,27 +199,21 @@ private class DifferenceCalculatorForClass(oldData: ProtoMapValue, newData: Prot
}
ProtoBufClassKind.CONSTRUCTOR_LIST -> {
val differentNonPrivateConstructors = calcDifferenceForNonPrivateMembers(ProtoBuf.Class::getConstructorList)
isClassAffected = isClassAffected || differentNonPrivateConstructors.isNotEmpty()
if (differentNonPrivateConstructors.isNotEmpty()) {
isClassAffected = true
}
}
ProtoBufClassKind.FUNCTION_LIST ->
names.addAll(calcDifferenceForNonPrivateMembers(ProtoBuf.Class::getFunctionList))
ProtoBufClassKind.PROPERTY_LIST ->
names.addAll(calcDifferenceForNonPrivateMembers(ProtoBuf.Class::getPropertyList))
ProtoBufClassKind.TYPE_ALIAS_LIST ->
names.addAll(calcDifferenceForNonPrivateMembers(ProtoBuf.Class::getTypeAliasList))
ProtoBufClassKind.ENUM_ENTRY_LIST -> {
isClassAffected = true
}
ProtoBufClassKind.SEALED_SUBCLASS_FQ_NAME_LIST -> {
// TODO
}
ProtoBufClassKind.TYPE_TABLE -> {
// TODO
}
ProtoCompareGenerated.ProtoBufClassKind.SINCE_KOTLIN_INFO,
ProtoCompareGenerated.ProtoBufClassKind.SINCE_KOTLIN_INFO_TABLE -> {
// TODO
}
ProtoBufClassKind.FLAGS,
ProtoBufClassKind.FQ_NAME,
ProtoBufClassKind.TYPE_PARAMETER_LIST,
@@ -236,9 +225,6 @@ private class DifferenceCalculatorForClass(oldData: ProtoMapValue, newData: Prot
ProtoBufClassKind.CLASS_MODULE_NAME -> {
// TODO
}
ProtoBufClassKind.CLASS_LOCAL_VARIABLE_LIST -> {
// Not affected, local variables are not accessible outside of a file
}
}
}
@@ -268,22 +254,16 @@ private class DifferenceCalculatorForPackageFacade(oldData: ProtoMapValue, newDa
}
for (kind in diff) {
@Suppress("UNUSED_VARIABLE") // To make this 'when' exhaustive
val unused: Any = when (kind!!) {
when (kind!!) {
ProtoBufPackageKind.FUNCTION_LIST ->
names.addAll(calcDifferenceForNonPrivateMembers(ProtoBuf.Package::getFunctionList))
ProtoBufPackageKind.PROPERTY_LIST ->
names.addAll(calcDifferenceForNonPrivateMembers(ProtoBuf.Package::getPropertyList))
ProtoBufPackageKind.TYPE_ALIAS_LIST ->
names.addAll(calcDifferenceForNonPrivateMembers(ProtoBuf.Package::getTypeAliasList))
ProtoBufPackageKind.TYPE_TABLE,
ProtoBufPackageKind.SINCE_KOTLIN_INFO_TABLE,
ProtoBufPackageKind.PACKAGE_MODULE_NAME -> {
// TODO
}
ProtoBufPackageKind.PACKAGE_LOCAL_VARIABLE_LIST -> {
// Not affected, local variables are not accessible outside of a file
}
else -> throw IllegalArgumentException("Unsupported kind: $kind")
}
}

View File

@@ -46,7 +46,7 @@ abstract class BasicMap<K : Comparable<K>, V>(
fun dump(): String {
return with(StringBuilder()) {
with(Printer(this)) {
println(this@BasicMap::class.java.simpleName)
println(this@BasicMap.javaClass.simpleName)
pushIndent()
for (key in storage.keys.sorted()) {

View File

@@ -42,5 +42,5 @@ open class BasicMapsOwner {
maps.forEach { it.flush(memoryCachesOnly) }
}
@TestOnly fun dump(): String = maps.joinToString("\n\n") { it.dump() }
@TestOnly fun dump(): String = maps.map { it.dump() }.joinToString("\n\n")
}

View File

@@ -131,7 +131,7 @@ object ConstantsMapExternalizer : DataExternalizer<Map<String, Any>> {
output.writeByte(Kind.STRING.ordinal)
IOUtil.writeString(value, output)
}
else -> throw IllegalStateException("Unexpected constant class: ${value::class.java}")
else -> throw IllegalStateException("Unexpected constant class: ${value.javaClass}")
}
}
}

View File

@@ -39,7 +39,6 @@ class KotlinModuleXmlBuilder {
sourceFiles: Iterable<File>,
javaSourceRoots: Iterable<JvmSourceRoot>,
classpathRoots: Iterable<File>,
modularJdkRoot: File?,
targetTypeId: String,
isTests: Boolean,
directoriesToFilterOut: Set<File>,
@@ -65,10 +64,6 @@ class KotlinModuleXmlBuilder {
processJavaSourceRoots(javaSourceRoots)
processClasspath(classpathRoots, directoriesToFilterOut)
if (modularJdkRoot != null) {
p.println("<", MODULAR_JDK_ROOT, " ", PATH, "=\"", getEscapedPath(modularJdkRoot), "\"/>")
}
closeTag(p, MODULE)
return this
}

View File

@@ -1,75 +0,0 @@
/*
* Copyright 2010-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jetbrains.kotlin.build
import junit.framework.TestCase
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
import org.junit.Assert.assertNotEquals
import org.junit.Test
class JvmBuildMetaInfoTest : TestCase() {
@Test
fun testSerialization() {
val args = K2JVMCompilerArguments()
val info = JvmBuildMetaInfo(args)
val actual = JvmBuildMetaInfo.serializeToString(info)
val expectedKeys = listOf(
"apiVersionString",
"bytecodeVersionMajor",
"bytecodeVersionMinor",
"bytecodeVersionPatch",
"compilerBuildVersion",
"coroutinesEnable",
"coroutinesError",
"coroutinesVersion",
"coroutinesWarn",
"isEAP",
"languageVersionString",
"metadataVersionMajor",
"metadataVersionMinor",
"metadataVersionPatch",
"multiplatformEnable",
"multiplatformVersion",
"ownVersion"
)
assertEquals(expectedKeys, actual.split("\r\n", "\n").map { line -> line.split("=").first() })
}
@Test
fun testSerializationDeserialization() {
val args = K2JVMCompilerArguments()
val info = JvmBuildMetaInfo(args)
val serialized = JvmBuildMetaInfo.serializeToString(info)
val deserialized = JvmBuildMetaInfo.deserializeFromString(serialized)
assertEquals(info, deserialized)
}
@Test
fun testEquals() {
val args1 = K2JVMCompilerArguments()
args1.coroutinesState = CommonCompilerArguments.ENABLE
val info1 = JvmBuildMetaInfo(args1)
val args2 = K2JVMCompilerArguments()
args2.coroutinesState = CommonCompilerArguments.WARN
val info2 = JvmBuildMetaInfo(args2)
assertNotEquals(info1, info2)
assertEquals(info1, info2.copy(coroutinesEnable = true, coroutinesWarn = false))
}
}

View File

@@ -1,55 +0,0 @@
/*
* Copyright 2010-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jetbrains.kotlin.build
import junit.framework.TestCase
import org.junit.Test
class SerializationUtilsTest : TestCase() {
data class TestPropertyTypes(
val intNull: Int?,
val int: Int,
val stringNull: String?,
val string: String,
val boolNull: Boolean?,
val bool: Boolean
)
@Test
fun testPropertyTypes() {
val instance1 = TestPropertyTypes(null, 1, null, "abc", null, false)
val deserialized1 = deserializeFromPlainText<TestPropertyTypes>(serializeToPlainText(instance1))
assertEquals(instance1, deserialized1)
val instance2 = TestPropertyTypes(1, 2, "abc", "xyz", true, false)
val deserialized2 = deserializeFromPlainText<TestPropertyTypes>(serializeToPlainText(instance2))
assertEquals(instance2, deserialized2)
}
data class TestAddedField1(val x: Int)
data class TestAddedField2(val x: Int, val y: Int?)
@Test
fun testAddedField() {
val testAddedField1 = TestAddedField1(1)
val serialized = serializeToPlainText(testAddedField1)
val deserialized = deserializeFromPlainText<TestAddedField2>(serialized)
assertEquals(TestAddedField2(1, null), deserialized)
}
}

View File

@@ -144,7 +144,7 @@ private fun classFileToString(classFile: File): String {
out.write("\n------ string table types proto -----\n${DebugJvmProtoBuf.StringTableTypes.parseDelimitedFrom(input)}")
if (!classHeader.metadataVersion.isCompatible()) {
if (!classHeader!!.metadataVersion.isCompatible()) {
error("Incompatible class ($classHeader): $classFile")
}

View File

@@ -81,8 +81,8 @@ fun getModificationsToPerform(
val rules = mapOf<String, (String, File) -> Modification>(
newSuffix to { path, file -> ModifyContent(path, file) },
touchSuffix to { path, _ -> TouchFile(path, touchPolicy) },
deleteSuffix to { path, _ -> DeleteFile(path) }
touchSuffix to { path, file -> TouchFile(path, touchPolicy) },
deleteSuffix to { path, file -> DeleteFile(path) }
)
val modifications = ArrayList<Modification>()
@@ -130,7 +130,7 @@ fun getModificationsToPerform(
abstract class Modification(val path: String) {
abstract fun perform(workDir: File, mapping: MutableMap<File, File>)
override fun toString(): String = "${this::class.java.simpleName} $path"
override fun toString(): String = "${javaClass.simpleName} $path"
}
class ModifyContent(path: String, val dataFile: File) : Modification(path) {

View File

@@ -77,23 +77,22 @@ public final class DebugExtOptionsProtoBuf {
"\001(\010B\031B\027DebugExtOptionsProtoBuf"
};
org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
new org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
public org.jetbrains.kotlin.protobuf.ExtensionRegistry assignDescriptors(
org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor root) {
descriptor = root;
return null;
}
};
new org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
public org.jetbrains.kotlin.protobuf.ExtensionRegistry assignDescriptors(
org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor root) {
descriptor = root;
skipInComparison.internalInit(descriptor.getExtensions().get(0));
nameIdInTable.internalInit(descriptor.getExtensions().get(1));
fqNameIdInTable.internalInit(descriptor.getExtensions().get(2));
stringIdInTable.internalInit(descriptor.getExtensions().get(3));
return null;
}
};
org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData,
new org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor[] {
org.jetbrains.kotlin.protobuf.DescriptorProtos.getDescriptor(),
}, assigner);
skipInComparison.internalInit(descriptor.getExtensions().get(0));
nameIdInTable.internalInit(descriptor.getExtensions().get(1));
fqNameIdInTable.internalInit(descriptor.getExtensions().get(2));
stringIdInTable.internalInit(descriptor.getExtensions().get(3));
org.jetbrains.kotlin.protobuf.DescriptorProtos.getDescriptor();
}
// @@protoc_insertion_point(outer_class_scope)

View File

@@ -14,14 +14,12 @@ public final class DebugJvmProtoBuf {
registry.add(org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.isRaw);
registry.add(org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.typeParameterAnnotation);
registry.add(org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.classModuleName);
registry.add(org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.classLocalVariable);
registry.add(org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.packageModuleName);
registry.add(org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.packageLocalVariable);
}
public interface StringTableTypesOrBuilder extends
// @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.jvm.StringTableTypes)
org.jetbrains.kotlin.protobuf.MessageOrBuilder {
public interface StringTableTypesOrBuilder
extends org.jetbrains.kotlin.protobuf.MessageOrBuilder {
// repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;
/**
* <code>repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;</code>
*/
@@ -46,6 +44,7 @@ public final class DebugJvmProtoBuf {
org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.StringTableTypes.RecordOrBuilder getRecordOrBuilder(
int index);
// repeated int32 local_name = 5 [packed = true];
/**
* <code>repeated int32 local_name = 5 [packed = true];</code>
*
@@ -75,9 +74,8 @@ public final class DebugJvmProtoBuf {
* Protobuf type {@code org.jetbrains.kotlin.serialization.jvm.StringTableTypes}
*/
public static final class StringTableTypes extends
org.jetbrains.kotlin.protobuf.GeneratedMessage implements
// @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.jvm.StringTableTypes)
StringTableTypesOrBuilder {
org.jetbrains.kotlin.protobuf.GeneratedMessage
implements StringTableTypesOrBuilder {
// Use StringTableTypes.newBuilder() to construct.
private StringTableTypes(org.jetbrains.kotlin.protobuf.GeneratedMessage.Builder<?> builder) {
super(builder);
@@ -197,10 +195,10 @@ public final class DebugJvmProtoBuf {
return PARSER;
}
public interface RecordOrBuilder extends
// @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record)
org.jetbrains.kotlin.protobuf.MessageOrBuilder {
public interface RecordOrBuilder
extends org.jetbrains.kotlin.protobuf.MessageOrBuilder {
// optional int32 range = 1 [default = 1];
/**
* <code>optional int32 range = 1 [default = 1];</code>
*
@@ -218,6 +216,7 @@ public final class DebugJvmProtoBuf {
*/
int getRange();
// optional int32 predefined_index = 2;
/**
* <code>optional int32 predefined_index = 2;</code>
*
@@ -235,6 +234,7 @@ public final class DebugJvmProtoBuf {
*/
int getPredefinedIndex();
// optional string string = 6;
/**
* <code>optional string string = 6;</code>
*
@@ -261,6 +261,7 @@ public final class DebugJvmProtoBuf {
org.jetbrains.kotlin.protobuf.ByteString
getStringBytes();
// optional .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record.Operation operation = 3 [default = NONE];
/**
* <code>optional .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record.Operation operation = 3 [default = NONE];</code>
*
@@ -278,6 +279,7 @@ public final class DebugJvmProtoBuf {
*/
org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.StringTableTypes.Record.Operation getOperation();
// repeated int32 substring_index = 4 [packed = true];
/**
* <code>repeated int32 substring_index = 4 [packed = true];</code>
*
@@ -309,6 +311,7 @@ public final class DebugJvmProtoBuf {
*/
int getSubstringIndex(int index);
// repeated int32 replace_char = 5 [packed = true];
/**
* <code>repeated int32 replace_char = 5 [packed = true];</code>
*
@@ -341,9 +344,8 @@ public final class DebugJvmProtoBuf {
* Protobuf type {@code org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record}
*/
public static final class Record extends
org.jetbrains.kotlin.protobuf.GeneratedMessage implements
// @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record)
RecordOrBuilder {
org.jetbrains.kotlin.protobuf.GeneratedMessage
implements RecordOrBuilder {
// Use Record.newBuilder() to construct.
private Record(org.jetbrains.kotlin.protobuf.GeneratedMessage.Builder<?> builder) {
super(builder);
@@ -453,9 +455,8 @@ public final class DebugJvmProtoBuf {
break;
}
case 50: {
org.jetbrains.kotlin.protobuf.ByteString bs = input.readBytes();
bitField0_ |= 0x00000004;
string_ = bs;
string_ = input.readBytes();
break;
}
}
@@ -615,6 +616,7 @@ public final class DebugJvmProtoBuf {
}
private int bitField0_;
// optional int32 range = 1 [default = 1];
public static final int RANGE_FIELD_NUMBER = 1;
private int range_;
/**
@@ -638,6 +640,7 @@ public final class DebugJvmProtoBuf {
return range_;
}
// optional int32 predefined_index = 2;
public static final int PREDEFINED_INDEX_FIELD_NUMBER = 2;
private int predefinedIndex_;
/**
@@ -661,6 +664,7 @@ public final class DebugJvmProtoBuf {
return predefinedIndex_;
}
// optional string string = 6;
public static final int STRING_FIELD_NUMBER = 6;
private java.lang.Object string_;
/**
@@ -715,6 +719,7 @@ public final class DebugJvmProtoBuf {
}
}
// optional .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record.Operation operation = 3 [default = NONE];
public static final int OPERATION_FIELD_NUMBER = 3;
private org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.StringTableTypes.Record.Operation operation_;
/**
@@ -738,6 +743,7 @@ public final class DebugJvmProtoBuf {
return operation_;
}
// repeated int32 substring_index = 4 [packed = true];
public static final int SUBSTRING_INDEX_FIELD_NUMBER = 4;
private java.util.List<java.lang.Integer> substringIndex_;
/**
@@ -779,6 +785,7 @@ public final class DebugJvmProtoBuf {
}
private int substringIndexMemoizedSerializedSize = -1;
// repeated int32 replace_char = 5 [packed = true];
public static final int REPLACE_CHAR_FIELD_NUMBER = 5;
private java.util.List<java.lang.Integer> replaceChar_;
/**
@@ -828,8 +835,7 @@ public final class DebugJvmProtoBuf {
private byte memoizedIsInitialized = -1;
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
if (isInitialized == 1) return true;
if (isInitialized == 0) return false;
if (isInitialized != -1) return isInitialized == 1;
memoizedIsInitialized = 1;
return true;
@@ -999,9 +1005,8 @@ public final class DebugJvmProtoBuf {
* Protobuf type {@code org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record}
*/
public static final class Builder extends
org.jetbrains.kotlin.protobuf.GeneratedMessage.Builder<Builder> implements
// @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record)
org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.StringTableTypes.RecordOrBuilder {
org.jetbrains.kotlin.protobuf.GeneratedMessage.Builder<Builder>
implements org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.StringTableTypes.RecordOrBuilder {
public static final org.jetbrains.kotlin.protobuf.Descriptors.Descriptor
getDescriptor() {
return org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.internal_static_org_jetbrains_kotlin_serialization_jvm_StringTableTypes_Record_descriptor;
@@ -1177,6 +1182,7 @@ public final class DebugJvmProtoBuf {
}
private int bitField0_;
// optional int32 range = 1 [default = 1];
private int range_ = 1;
/**
* <code>optional int32 range = 1 [default = 1];</code>
@@ -1225,6 +1231,7 @@ public final class DebugJvmProtoBuf {
return this;
}
// optional int32 predefined_index = 2;
private int predefinedIndex_ ;
/**
* <code>optional int32 predefined_index = 2;</code>
@@ -1273,6 +1280,7 @@ public final class DebugJvmProtoBuf {
return this;
}
// optional string string = 6;
private java.lang.Object string_ = "";
/**
* <code>optional string string = 6;</code>
@@ -1294,12 +1302,9 @@ public final class DebugJvmProtoBuf {
public java.lang.String getString() {
java.lang.Object ref = string_;
if (!(ref instanceof java.lang.String)) {
org.jetbrains.kotlin.protobuf.ByteString bs =
(org.jetbrains.kotlin.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
if (bs.isValidUtf8()) {
string_ = s;
}
java.lang.String s = ((org.jetbrains.kotlin.protobuf.ByteString) ref)
.toStringUtf8();
string_ = s;
return s;
} else {
return (java.lang.String) ref;
@@ -1373,6 +1378,7 @@ public final class DebugJvmProtoBuf {
return this;
}
// optional .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record.Operation operation = 3 [default = NONE];
private org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.StringTableTypes.Record.Operation operation_ = org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.StringTableTypes.Record.Operation.NONE;
/**
* <code>optional .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record.Operation operation = 3 [default = NONE];</code>
@@ -1424,6 +1430,7 @@ public final class DebugJvmProtoBuf {
return this;
}
// repeated int32 substring_index = 4 [packed = true];
private java.util.List<java.lang.Integer> substringIndex_ = java.util.Collections.emptyList();
private void ensureSubstringIndexIsMutable() {
if (!((bitField0_ & 0x00000010) == 0x00000010)) {
@@ -1511,8 +1518,7 @@ public final class DebugJvmProtoBuf {
public Builder addAllSubstringIndex(
java.lang.Iterable<? extends java.lang.Integer> values) {
ensureSubstringIndexIsMutable();
org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
values, substringIndex_);
super.addAll(values, substringIndex_);
onChanged();
return this;
}
@@ -1532,6 +1538,7 @@ public final class DebugJvmProtoBuf {
return this;
}
// repeated int32 replace_char = 5 [packed = true];
private java.util.List<java.lang.Integer> replaceChar_ = java.util.Collections.emptyList();
private void ensureReplaceCharIsMutable() {
if (!((bitField0_ & 0x00000020) == 0x00000020)) {
@@ -1613,8 +1620,7 @@ public final class DebugJvmProtoBuf {
public Builder addAllReplaceChar(
java.lang.Iterable<? extends java.lang.Integer> values) {
ensureReplaceCharIsMutable();
org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
values, replaceChar_);
super.addAll(values, replaceChar_);
onChanged();
return this;
}
@@ -1644,6 +1650,7 @@ public final class DebugJvmProtoBuf {
// @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record)
}
// repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;
public static final int RECORD_FIELD_NUMBER = 1;
private java.util.List<org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.StringTableTypes.Record> record_;
/**
@@ -1679,6 +1686,7 @@ public final class DebugJvmProtoBuf {
return record_.get(index);
}
// repeated int32 local_name = 5 [packed = true];
public static final int LOCAL_NAME_FIELD_NUMBER = 5;
private java.util.List<java.lang.Integer> localName_;
/**
@@ -1721,8 +1729,7 @@ public final class DebugJvmProtoBuf {
private byte memoizedIsInitialized = -1;
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
if (isInitialized == 1) return true;
if (isInitialized == 0) return false;
if (isInitialized != -1) return isInitialized == 1;
memoizedIsInitialized = 1;
return true;
@@ -1850,9 +1857,8 @@ public final class DebugJvmProtoBuf {
* Protobuf type {@code org.jetbrains.kotlin.serialization.jvm.StringTableTypes}
*/
public static final class Builder extends
org.jetbrains.kotlin.protobuf.GeneratedMessage.Builder<Builder> implements
// @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.jvm.StringTableTypes)
org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.StringTableTypesOrBuilder {
org.jetbrains.kotlin.protobuf.GeneratedMessage.Builder<Builder>
implements org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.StringTableTypesOrBuilder {
public static final org.jetbrains.kotlin.protobuf.Descriptors.Descriptor
getDescriptor() {
return org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.internal_static_org_jetbrains_kotlin_serialization_jvm_StringTableTypes_descriptor;
@@ -2013,6 +2019,7 @@ public final class DebugJvmProtoBuf {
}
private int bitField0_;
// repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;
private java.util.List<org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.StringTableTypes.Record> record_ =
java.util.Collections.emptyList();
private void ensureRecordIsMutable() {
@@ -2154,8 +2161,7 @@ public final class DebugJvmProtoBuf {
java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.StringTableTypes.Record> values) {
if (recordBuilder_ == null) {
ensureRecordIsMutable();
org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
values, record_);
super.addAll(values, record_);
onChanged();
} else {
recordBuilder_.addAllMessages(values);
@@ -2253,6 +2259,7 @@ public final class DebugJvmProtoBuf {
return recordBuilder_;
}
// repeated int32 local_name = 5 [packed = true];
private java.util.List<java.lang.Integer> localName_ = java.util.Collections.emptyList();
private void ensureLocalNameIsMutable() {
if (!((bitField0_ & 0x00000002) == 0x00000002)) {
@@ -2328,8 +2335,7 @@ public final class DebugJvmProtoBuf {
public Builder addAllLocalName(
java.lang.Iterable<? extends java.lang.Integer> values) {
ensureLocalNameIsMutable();
org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
values, localName_);
super.addAll(values, localName_);
onChanged();
return this;
}
@@ -2358,10 +2364,10 @@ public final class DebugJvmProtoBuf {
// @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.jvm.StringTableTypes)
}
public interface JvmMethodSignatureOrBuilder extends
// @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature)
org.jetbrains.kotlin.protobuf.MessageOrBuilder {
public interface JvmMethodSignatureOrBuilder
extends org.jetbrains.kotlin.protobuf.MessageOrBuilder {
// optional int32 name = 1;
/**
* <code>optional int32 name = 1;</code>
*/
@@ -2371,6 +2377,7 @@ public final class DebugJvmProtoBuf {
*/
int getName();
// optional int32 desc = 2;
/**
* <code>optional int32 desc = 2;</code>
*
@@ -2392,9 +2399,8 @@ public final class DebugJvmProtoBuf {
* Protobuf type {@code org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature}
*/
public static final class JvmMethodSignature extends
org.jetbrains.kotlin.protobuf.GeneratedMessage implements
// @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature)
JvmMethodSignatureOrBuilder {
org.jetbrains.kotlin.protobuf.GeneratedMessage
implements JvmMethodSignatureOrBuilder {
// Use JvmMethodSignature.newBuilder() to construct.
private JvmMethodSignature(org.jetbrains.kotlin.protobuf.GeneratedMessage.Builder<?> builder) {
super(builder);
@@ -2490,6 +2496,7 @@ public final class DebugJvmProtoBuf {
}
private int bitField0_;
// optional int32 name = 1;
public static final int NAME_FIELD_NUMBER = 1;
private int name_;
/**
@@ -2505,6 +2512,7 @@ public final class DebugJvmProtoBuf {
return name_;
}
// optional int32 desc = 2;
public static final int DESC_FIELD_NUMBER = 2;
private int desc_;
/**
@@ -2535,8 +2543,7 @@ public final class DebugJvmProtoBuf {
private byte memoizedIsInitialized = -1;
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
if (isInitialized == 1) return true;
if (isInitialized == 0) return false;
if (isInitialized != -1) return isInitialized == 1;
memoizedIsInitialized = 1;
return true;
@@ -2650,9 +2657,8 @@ public final class DebugJvmProtoBuf {
* Protobuf type {@code org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature}
*/
public static final class Builder extends
org.jetbrains.kotlin.protobuf.GeneratedMessage.Builder<Builder> implements
// @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature)
org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignatureOrBuilder {
org.jetbrains.kotlin.protobuf.GeneratedMessage.Builder<Builder>
implements org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignatureOrBuilder {
public static final org.jetbrains.kotlin.protobuf.Descriptors.Descriptor
getDescriptor() {
return org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.internal_static_org_jetbrains_kotlin_serialization_jvm_JvmMethodSignature_descriptor;
@@ -2774,6 +2780,7 @@ public final class DebugJvmProtoBuf {
}
private int bitField0_;
// optional int32 name = 1;
private int name_ ;
/**
* <code>optional int32 name = 1;</code>
@@ -2806,6 +2813,7 @@ public final class DebugJvmProtoBuf {
return this;
}
// optional int32 desc = 2;
private int desc_ ;
/**
* <code>optional int32 desc = 2;</code>
@@ -2865,10 +2873,10 @@ public final class DebugJvmProtoBuf {
// @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature)
}
public interface JvmFieldSignatureOrBuilder extends
// @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature)
org.jetbrains.kotlin.protobuf.MessageOrBuilder {
public interface JvmFieldSignatureOrBuilder
extends org.jetbrains.kotlin.protobuf.MessageOrBuilder {
// optional int32 name = 1;
/**
* <code>optional int32 name = 1;</code>
*/
@@ -2878,6 +2886,7 @@ public final class DebugJvmProtoBuf {
*/
int getName();
// optional int32 desc = 2;
/**
* <code>optional int32 desc = 2;</code>
*
@@ -2899,9 +2908,8 @@ public final class DebugJvmProtoBuf {
* Protobuf type {@code org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature}
*/
public static final class JvmFieldSignature extends
org.jetbrains.kotlin.protobuf.GeneratedMessage implements
// @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature)
JvmFieldSignatureOrBuilder {
org.jetbrains.kotlin.protobuf.GeneratedMessage
implements JvmFieldSignatureOrBuilder {
// Use JvmFieldSignature.newBuilder() to construct.
private JvmFieldSignature(org.jetbrains.kotlin.protobuf.GeneratedMessage.Builder<?> builder) {
super(builder);
@@ -2997,6 +3005,7 @@ public final class DebugJvmProtoBuf {
}
private int bitField0_;
// optional int32 name = 1;
public static final int NAME_FIELD_NUMBER = 1;
private int name_;
/**
@@ -3012,6 +3021,7 @@ public final class DebugJvmProtoBuf {
return name_;
}
// optional int32 desc = 2;
public static final int DESC_FIELD_NUMBER = 2;
private int desc_;
/**
@@ -3042,8 +3052,7 @@ public final class DebugJvmProtoBuf {
private byte memoizedIsInitialized = -1;
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
if (isInitialized == 1) return true;
if (isInitialized == 0) return false;
if (isInitialized != -1) return isInitialized == 1;
memoizedIsInitialized = 1;
return true;
@@ -3157,9 +3166,8 @@ public final class DebugJvmProtoBuf {
* Protobuf type {@code org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature}
*/
public static final class Builder extends
org.jetbrains.kotlin.protobuf.GeneratedMessage.Builder<Builder> implements
// @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature)
org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmFieldSignatureOrBuilder {
org.jetbrains.kotlin.protobuf.GeneratedMessage.Builder<Builder>
implements org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmFieldSignatureOrBuilder {
public static final org.jetbrains.kotlin.protobuf.Descriptors.Descriptor
getDescriptor() {
return org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.internal_static_org_jetbrains_kotlin_serialization_jvm_JvmFieldSignature_descriptor;
@@ -3281,6 +3289,7 @@ public final class DebugJvmProtoBuf {
}
private int bitField0_;
// optional int32 name = 1;
private int name_ ;
/**
* <code>optional int32 name = 1;</code>
@@ -3313,6 +3322,7 @@ public final class DebugJvmProtoBuf {
return this;
}
// optional int32 desc = 2;
private int desc_ ;
/**
* <code>optional int32 desc = 2;</code>
@@ -3372,10 +3382,10 @@ public final class DebugJvmProtoBuf {
// @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature)
}
public interface JvmPropertySignatureOrBuilder extends
// @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.jvm.JvmPropertySignature)
org.jetbrains.kotlin.protobuf.MessageOrBuilder {
public interface JvmPropertySignatureOrBuilder
extends org.jetbrains.kotlin.protobuf.MessageOrBuilder {
// optional .org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature field = 1;
/**
* <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature field = 1;</code>
*/
@@ -3389,6 +3399,7 @@ public final class DebugJvmProtoBuf {
*/
org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmFieldSignatureOrBuilder getFieldOrBuilder();
// optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature synthetic_method = 2;
/**
* <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature synthetic_method = 2;</code>
*
@@ -3414,6 +3425,7 @@ public final class DebugJvmProtoBuf {
*/
org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignatureOrBuilder getSyntheticMethodOrBuilder();
// optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature getter = 3;
/**
* <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature getter = 3;</code>
*/
@@ -3427,6 +3439,7 @@ public final class DebugJvmProtoBuf {
*/
org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignatureOrBuilder getGetterOrBuilder();
// optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature setter = 4;
/**
* <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature setter = 4;</code>
*/
@@ -3444,9 +3457,8 @@ public final class DebugJvmProtoBuf {
* Protobuf type {@code org.jetbrains.kotlin.serialization.jvm.JvmPropertySignature}
*/
public static final class JvmPropertySignature extends
org.jetbrains.kotlin.protobuf.GeneratedMessage implements
// @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.jvm.JvmPropertySignature)
JvmPropertySignatureOrBuilder {
org.jetbrains.kotlin.protobuf.GeneratedMessage
implements JvmPropertySignatureOrBuilder {
// Use JvmPropertySignature.newBuilder() to construct.
private JvmPropertySignature(org.jetbrains.kotlin.protobuf.GeneratedMessage.Builder<?> builder) {
super(builder);
@@ -3584,6 +3596,7 @@ public final class DebugJvmProtoBuf {
}
private int bitField0_;
// optional .org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature field = 1;
public static final int FIELD_FIELD_NUMBER = 1;
private org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmFieldSignature field_;
/**
@@ -3605,6 +3618,7 @@ public final class DebugJvmProtoBuf {
return field_;
}
// optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature synthetic_method = 2;
public static final int SYNTHETIC_METHOD_FIELD_NUMBER = 2;
private org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignature syntheticMethod_;
/**
@@ -3638,6 +3652,7 @@ public final class DebugJvmProtoBuf {
return syntheticMethod_;
}
// optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature getter = 3;
public static final int GETTER_FIELD_NUMBER = 3;
private org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignature getter_;
/**
@@ -3659,6 +3674,7 @@ public final class DebugJvmProtoBuf {
return getter_;
}
// optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature setter = 4;
public static final int SETTER_FIELD_NUMBER = 4;
private org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignature setter_;
/**
@@ -3689,8 +3705,7 @@ public final class DebugJvmProtoBuf {
private byte memoizedIsInitialized = -1;
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
if (isInitialized == 1) return true;
if (isInitialized == 0) return false;
if (isInitialized != -1) return isInitialized == 1;
memoizedIsInitialized = 1;
return true;
@@ -3818,9 +3833,8 @@ public final class DebugJvmProtoBuf {
* Protobuf type {@code org.jetbrains.kotlin.serialization.jvm.JvmPropertySignature}
*/
public static final class Builder extends
org.jetbrains.kotlin.protobuf.GeneratedMessage.Builder<Builder> implements
// @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.jvm.JvmPropertySignature)
org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmPropertySignatureOrBuilder {
org.jetbrains.kotlin.protobuf.GeneratedMessage.Builder<Builder>
implements org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmPropertySignatureOrBuilder {
public static final org.jetbrains.kotlin.protobuf.Descriptors.Descriptor
getDescriptor() {
return org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.internal_static_org_jetbrains_kotlin_serialization_jvm_JvmPropertySignature_descriptor;
@@ -3996,6 +4010,7 @@ public final class DebugJvmProtoBuf {
}
private int bitField0_;
// optional .org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature field = 1;
private org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmFieldSignature field_ = org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmFieldSignature.getDefaultInstance();
private org.jetbrains.kotlin.protobuf.SingleFieldBuilder<
org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmFieldSignature, org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmFieldSignature.Builder, org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmFieldSignatureOrBuilder> fieldBuilder_;
@@ -4104,7 +4119,7 @@ public final class DebugJvmProtoBuf {
if (fieldBuilder_ == null) {
fieldBuilder_ = new org.jetbrains.kotlin.protobuf.SingleFieldBuilder<
org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmFieldSignature, org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmFieldSignature.Builder, org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmFieldSignatureOrBuilder>(
getField(),
field_,
getParentForChildren(),
isClean());
field_ = null;
@@ -4112,6 +4127,7 @@ public final class DebugJvmProtoBuf {
return fieldBuilder_;
}
// optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature synthetic_method = 2;
private org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignature syntheticMethod_ = org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignature.getDefaultInstance();
private org.jetbrains.kotlin.protobuf.SingleFieldBuilder<
org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignature, org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignature.Builder, org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignatureOrBuilder> syntheticMethodBuilder_;
@@ -4256,7 +4272,7 @@ public final class DebugJvmProtoBuf {
if (syntheticMethodBuilder_ == null) {
syntheticMethodBuilder_ = new org.jetbrains.kotlin.protobuf.SingleFieldBuilder<
org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignature, org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignature.Builder, org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignatureOrBuilder>(
getSyntheticMethod(),
syntheticMethod_,
getParentForChildren(),
isClean());
syntheticMethod_ = null;
@@ -4264,6 +4280,7 @@ public final class DebugJvmProtoBuf {
return syntheticMethodBuilder_;
}
// optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature getter = 3;
private org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignature getter_ = org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignature.getDefaultInstance();
private org.jetbrains.kotlin.protobuf.SingleFieldBuilder<
org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignature, org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignature.Builder, org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignatureOrBuilder> getterBuilder_;
@@ -4372,7 +4389,7 @@ public final class DebugJvmProtoBuf {
if (getterBuilder_ == null) {
getterBuilder_ = new org.jetbrains.kotlin.protobuf.SingleFieldBuilder<
org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignature, org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignature.Builder, org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignatureOrBuilder>(
getGetter(),
getter_,
getParentForChildren(),
isClean());
getter_ = null;
@@ -4380,6 +4397,7 @@ public final class DebugJvmProtoBuf {
return getterBuilder_;
}
// optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature setter = 4;
private org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignature setter_ = org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignature.getDefaultInstance();
private org.jetbrains.kotlin.protobuf.SingleFieldBuilder<
org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignature, org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignature.Builder, org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignatureOrBuilder> setterBuilder_;
@@ -4488,7 +4506,7 @@ public final class DebugJvmProtoBuf {
if (setterBuilder_ == null) {
setterBuilder_ = new org.jetbrains.kotlin.protobuf.SingleFieldBuilder<
org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignature, org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignature.Builder, org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf.JvmMethodSignatureOrBuilder>(
getSetter(),
setter_,
getParentForChildren(),
isClean());
setter_ = null;
@@ -4576,10 +4594,6 @@ public final class DebugJvmProtoBuf {
public static final int CLASS_MODULE_NAME_FIELD_NUMBER = 101;
/**
* <code>extend .org.jetbrains.kotlin.serialization.Class { ... }</code>
*
* <pre>
* If absent, assumed to be JvmAbi.DEFAULT_MODULE_NAME
* </pre>
*/
public static final
org.jetbrains.kotlin.protobuf.GeneratedMessage.GeneratedExtension<
@@ -4588,17 +4602,6 @@ public final class DebugJvmProtoBuf {
.newFileScopedGeneratedExtension(
java.lang.Integer.class,
null);
public static final int CLASS_LOCAL_VARIABLE_FIELD_NUMBER = 102;
/**
* <code>extend .org.jetbrains.kotlin.serialization.Class { ... }</code>
*/
public static final
org.jetbrains.kotlin.protobuf.GeneratedMessage.GeneratedExtension<
org.jetbrains.kotlin.serialization.DebugProtoBuf.Class,
java.util.List<org.jetbrains.kotlin.serialization.DebugProtoBuf.Property>> classLocalVariable = org.jetbrains.kotlin.protobuf.GeneratedMessage
.newFileScopedGeneratedExtension(
org.jetbrains.kotlin.serialization.DebugProtoBuf.Property.class,
org.jetbrains.kotlin.serialization.DebugProtoBuf.Property.getDefaultInstance());
public static final int PACKAGE_MODULE_NAME_FIELD_NUMBER = 101;
/**
* <code>extend .org.jetbrains.kotlin.serialization.Package { ... }</code>
@@ -4610,38 +4613,27 @@ public final class DebugJvmProtoBuf {
.newFileScopedGeneratedExtension(
java.lang.Integer.class,
null);
public static final int PACKAGE_LOCAL_VARIABLE_FIELD_NUMBER = 102;
/**
* <code>extend .org.jetbrains.kotlin.serialization.Package { ... }</code>
*/
public static final
org.jetbrains.kotlin.protobuf.GeneratedMessage.GeneratedExtension<
org.jetbrains.kotlin.serialization.DebugProtoBuf.Package,
java.util.List<org.jetbrains.kotlin.serialization.DebugProtoBuf.Property>> packageLocalVariable = org.jetbrains.kotlin.protobuf.GeneratedMessage
.newFileScopedGeneratedExtension(
org.jetbrains.kotlin.serialization.DebugProtoBuf.Property.class,
org.jetbrains.kotlin.serialization.DebugProtoBuf.Property.getDefaultInstance());
private static final org.jetbrains.kotlin.protobuf.Descriptors.Descriptor
private static org.jetbrains.kotlin.protobuf.Descriptors.Descriptor
internal_static_org_jetbrains_kotlin_serialization_jvm_StringTableTypes_descriptor;
private static
org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable
internal_static_org_jetbrains_kotlin_serialization_jvm_StringTableTypes_fieldAccessorTable;
private static final org.jetbrains.kotlin.protobuf.Descriptors.Descriptor
private static org.jetbrains.kotlin.protobuf.Descriptors.Descriptor
internal_static_org_jetbrains_kotlin_serialization_jvm_StringTableTypes_Record_descriptor;
private static
org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable
internal_static_org_jetbrains_kotlin_serialization_jvm_StringTableTypes_Record_fieldAccessorTable;
private static final org.jetbrains.kotlin.protobuf.Descriptors.Descriptor
private static org.jetbrains.kotlin.protobuf.Descriptors.Descriptor
internal_static_org_jetbrains_kotlin_serialization_jvm_JvmMethodSignature_descriptor;
private static
org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable
internal_static_org_jetbrains_kotlin_serialization_jvm_JvmMethodSignature_fieldAccessorTable;
private static final org.jetbrains.kotlin.protobuf.Descriptors.Descriptor
private static org.jetbrains.kotlin.protobuf.Descriptors.Descriptor
internal_static_org_jetbrains_kotlin_serialization_jvm_JvmFieldSignature_descriptor;
private static
org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable
internal_static_org_jetbrains_kotlin_serialization_jvm_JvmFieldSignature_fieldAccessorTable;
private static final org.jetbrains.kotlin.protobuf.Descriptors.Descriptor
private static org.jetbrains.kotlin.protobuf.Descriptors.Descriptor
internal_static_org_jetbrains_kotlin_serialization_jvm_JvmPropertySignature_descriptor;
private static
org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable
@@ -4702,82 +4694,70 @@ public final class DebugJvmProtoBuf {
"g.jetbrains.kotlin.serialization.Annotat" +
"ion:J\n\021class_module_name\022).org.jetbrains" +
".kotlin.serialization.Class\030e \001(\005B\004\230\265\030\001:" +
"u\n\024class_local_variable\022).org.jetbrains." +
"kotlin.serialization.Class\030f \003(\0132,.org.j" +
"etbrains.kotlin.serialization.Property:N",
"\n\023package_module_name\022+.org.jetbrains.ko" +
"tlin.serialization.Package\030e \001(\005B\004\230\265\030\001:y" +
"\n\026package_local_variable\022+.org.jetbrains" +
".kotlin.serialization.Package\030f \003(\0132,.or" +
"g.jetbrains.kotlin.serialization.Propert" +
"yB\022B\020DebugJvmProtoBuf"
"N\n\023package_module_name\022+.org.jetbrains.k" +
"otlin.serialization.Package\030e \001(\005B\004\230\265\030\001B" +
"\022B\020DebugJvmProtoBuf"
};
org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
new org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
public org.jetbrains.kotlin.protobuf.ExtensionRegistry assignDescriptors(
org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor root) {
descriptor = root;
return null;
}
};
new org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
public org.jetbrains.kotlin.protobuf.ExtensionRegistry assignDescriptors(
org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor root) {
descriptor = root;
internal_static_org_jetbrains_kotlin_serialization_jvm_StringTableTypes_descriptor =
getDescriptor().getMessageTypes().get(0);
internal_static_org_jetbrains_kotlin_serialization_jvm_StringTableTypes_fieldAccessorTable = new
org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_org_jetbrains_kotlin_serialization_jvm_StringTableTypes_descriptor,
new java.lang.String[] { "Record", "LocalName", });
internal_static_org_jetbrains_kotlin_serialization_jvm_StringTableTypes_Record_descriptor =
internal_static_org_jetbrains_kotlin_serialization_jvm_StringTableTypes_descriptor.getNestedTypes().get(0);
internal_static_org_jetbrains_kotlin_serialization_jvm_StringTableTypes_Record_fieldAccessorTable = new
org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_org_jetbrains_kotlin_serialization_jvm_StringTableTypes_Record_descriptor,
new java.lang.String[] { "Range", "PredefinedIndex", "String", "Operation", "SubstringIndex", "ReplaceChar", });
internal_static_org_jetbrains_kotlin_serialization_jvm_JvmMethodSignature_descriptor =
getDescriptor().getMessageTypes().get(1);
internal_static_org_jetbrains_kotlin_serialization_jvm_JvmMethodSignature_fieldAccessorTable = new
org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_org_jetbrains_kotlin_serialization_jvm_JvmMethodSignature_descriptor,
new java.lang.String[] { "Name", "Desc", });
internal_static_org_jetbrains_kotlin_serialization_jvm_JvmFieldSignature_descriptor =
getDescriptor().getMessageTypes().get(2);
internal_static_org_jetbrains_kotlin_serialization_jvm_JvmFieldSignature_fieldAccessorTable = new
org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_org_jetbrains_kotlin_serialization_jvm_JvmFieldSignature_descriptor,
new java.lang.String[] { "Name", "Desc", });
internal_static_org_jetbrains_kotlin_serialization_jvm_JvmPropertySignature_descriptor =
getDescriptor().getMessageTypes().get(3);
internal_static_org_jetbrains_kotlin_serialization_jvm_JvmPropertySignature_fieldAccessorTable = new
org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_org_jetbrains_kotlin_serialization_jvm_JvmPropertySignature_descriptor,
new java.lang.String[] { "Field", "SyntheticMethod", "Getter", "Setter", });
constructorSignature.internalInit(descriptor.getExtensions().get(0));
methodSignature.internalInit(descriptor.getExtensions().get(1));
propertySignature.internalInit(descriptor.getExtensions().get(2));
typeAnnotation.internalInit(descriptor.getExtensions().get(3));
isRaw.internalInit(descriptor.getExtensions().get(4));
typeParameterAnnotation.internalInit(descriptor.getExtensions().get(5));
classModuleName.internalInit(descriptor.getExtensions().get(6));
packageModuleName.internalInit(descriptor.getExtensions().get(7));
org.jetbrains.kotlin.protobuf.ExtensionRegistry registry =
org.jetbrains.kotlin.protobuf.ExtensionRegistry.newInstance();
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.stringIdInTable);
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.stringIdInTable);
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.stringIdInTable);
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.stringIdInTable);
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.stringIdInTable);
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.stringIdInTable);
return registry;
}
};
org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData,
new org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor[] {
org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.getDescriptor(),
org.jetbrains.kotlin.serialization.DebugProtoBuf.getDescriptor(),
}, assigner);
internal_static_org_jetbrains_kotlin_serialization_jvm_StringTableTypes_descriptor =
getDescriptor().getMessageTypes().get(0);
internal_static_org_jetbrains_kotlin_serialization_jvm_StringTableTypes_fieldAccessorTable = new
org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_org_jetbrains_kotlin_serialization_jvm_StringTableTypes_descriptor,
new java.lang.String[] { "Record", "LocalName", });
internal_static_org_jetbrains_kotlin_serialization_jvm_StringTableTypes_Record_descriptor =
internal_static_org_jetbrains_kotlin_serialization_jvm_StringTableTypes_descriptor.getNestedTypes().get(0);
internal_static_org_jetbrains_kotlin_serialization_jvm_StringTableTypes_Record_fieldAccessorTable = new
org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_org_jetbrains_kotlin_serialization_jvm_StringTableTypes_Record_descriptor,
new java.lang.String[] { "Range", "PredefinedIndex", "String", "Operation", "SubstringIndex", "ReplaceChar", });
internal_static_org_jetbrains_kotlin_serialization_jvm_JvmMethodSignature_descriptor =
getDescriptor().getMessageTypes().get(1);
internal_static_org_jetbrains_kotlin_serialization_jvm_JvmMethodSignature_fieldAccessorTable = new
org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_org_jetbrains_kotlin_serialization_jvm_JvmMethodSignature_descriptor,
new java.lang.String[] { "Name", "Desc", });
internal_static_org_jetbrains_kotlin_serialization_jvm_JvmFieldSignature_descriptor =
getDescriptor().getMessageTypes().get(2);
internal_static_org_jetbrains_kotlin_serialization_jvm_JvmFieldSignature_fieldAccessorTable = new
org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_org_jetbrains_kotlin_serialization_jvm_JvmFieldSignature_descriptor,
new java.lang.String[] { "Name", "Desc", });
internal_static_org_jetbrains_kotlin_serialization_jvm_JvmPropertySignature_descriptor =
getDescriptor().getMessageTypes().get(3);
internal_static_org_jetbrains_kotlin_serialization_jvm_JvmPropertySignature_fieldAccessorTable = new
org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_org_jetbrains_kotlin_serialization_jvm_JvmPropertySignature_descriptor,
new java.lang.String[] { "Field", "SyntheticMethod", "Getter", "Setter", });
constructorSignature.internalInit(descriptor.getExtensions().get(0));
methodSignature.internalInit(descriptor.getExtensions().get(1));
propertySignature.internalInit(descriptor.getExtensions().get(2));
typeAnnotation.internalInit(descriptor.getExtensions().get(3));
isRaw.internalInit(descriptor.getExtensions().get(4));
typeParameterAnnotation.internalInit(descriptor.getExtensions().get(5));
classModuleName.internalInit(descriptor.getExtensions().get(6));
classLocalVariable.internalInit(descriptor.getExtensions().get(7));
packageModuleName.internalInit(descriptor.getExtensions().get(8));
packageLocalVariable.internalInit(descriptor.getExtensions().get(9));
org.jetbrains.kotlin.protobuf.ExtensionRegistry registry =
org.jetbrains.kotlin.protobuf.ExtensionRegistry.newInstance();
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.stringIdInTable);
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.stringIdInTable);
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.stringIdInTable);
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.stringIdInTable);
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.stringIdInTable);
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.stringIdInTable);
org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor
.internalUpdateFileDescriptor(descriptor, registry);
org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.getDescriptor();
org.jetbrains.kotlin.serialization.DebugProtoBuf.getDescriptor();
}
// @@protoc_insertion_point(outer_class_scope)

970
build.xml

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More