Denis Zharkov
48ca1bd453
Assignment operations test fix:
...
type infered for these vals are MutableIterator, but there is no plus (returning MutableIterator)
nor plusAssign operator for them, so I casted them explicitly to Iterator
2014-07-28 22:00:15 +04:00
Denis Zharkov
76845a76b9
Fixed KT-4814: check type when a += b is a = a+b
...
In cases when a += b is a = a + b, check that (a+b) can be safely casted to a
2014-07-28 22:00:14 +04:00
Valentin Kipyatkov
2b67716e95
KT-5153 Smart completion should include objects from type
...
#KT-5153 Fixed
2014-07-28 18:52:58 +04:00
Valentin Kipyatkov
be0e78b11a
Fixed one more case of no-auto-insertion after "as"
2014-07-28 18:52:58 +04:00
Valentin Kipyatkov
7546a17539
KT-4914 Smart completion should work after 'as' and 'as?'
...
#KT-4914 Fixed
2014-07-28 18:52:58 +04:00
Valentin Kipyatkov
32dbed602a
KT-4913 Smart completion should work after '!'
...
#KT-4913 Fixed
2014-07-28 18:52:58 +04:00
Valentin Kipyatkov
19999e6879
Smart completion for implicitly typed function body
2014-07-28 18:52:58 +04:00
Valentin Kipyatkov
91c983706a
Fixed KT-5020 Smart completion should work at the initializer of a val with no explicit type
...
#KT-5020 Fixed
2014-07-28 18:52:58 +04:00
Valentin Kipyatkov
ca25a3feaa
Simplified code
2014-07-28 18:52:57 +04:00
Valentin Kipyatkov
67df7de7b1
Fixed KT-5110 Smart completion: do not generate comma if next argument has default value
...
Fixed KT-5109 Smart completion: do not insert comma if next argument is vararg
#KT-5110 Fixed
#KT-5109 Fixed
2014-07-28 18:52:57 +04:00
Valentin Kipyatkov
bddb01888a
Fixed KT-5158 Smart completion for when selector: do not include subject variable
...
#KT-5158 Fixed
2014-07-28 18:52:57 +04:00
Valentin Kipyatkov
595ef9f1d4
Fixed KT-5168 Smart completion includes null when comparing non-nullable value
...
#KT-5168 Fixed
2014-07-28 18:52:57 +04:00
Valentin Kipyatkov
81393c999b
Fixed KT-5231 Smart completion does not insert comma in super constructor argument list
...
KT-5231 Fixed
2014-07-28 18:52:57 +04:00
Valentin Kipyatkov
c8c8b477ef
Added test for KT-5272 which is not reproduced
2014-07-28 18:52:57 +04:00
Valentin Kipyatkov
d6b12187c2
Fixed KT-5341 Code completion of class declared locally inserts its "qualified name"
...
#KT-5341 Fixed
2014-07-28 18:52:57 +04:00
Valentin Kipyatkov
25a212e923
Converted JetClassInsertHandler to Kotlin
2014-07-28 18:52:57 +04:00
Alexey Sedunov
9cbcabffa4
Control-Flow Analysis: Reuse pseudo-value information for unused expression analysis
2014-07-28 13:07:37 +04:00
Alexey Sedunov
2a19016d58
Pseudocode: Add test for parenthesized call in selector
2014-07-28 13:07:34 +04:00
Alexey Sedunov
85bb4f9b8e
Pseudocode: Generate read instructions on call expression (instead of
...
callee)
2014-07-28 13:07:33 +04:00
Alexey Sedunov
9f3ebe5f3b
Pseudocode: Generate merge instruction regardless of number of branches
2014-07-28 13:07:32 +04:00
Alexey Sedunov
d008cb8c21
Pseudocode: Do not regenerate receiver values
2014-07-28 13:07:30 +04:00
Alexey Sedunov
77bbf8f73b
Pseudocode: Generate fake values for Unit/Nothing-typed expressions
2014-07-28 13:07:29 +04:00
Alexey Sedunov
2d3ac9109b
Pseudocode: Generate synthetic VALUE_CONSUMER for both property and class delegates
2014-07-28 13:06:46 +04:00
Alexey Sedunov
d07deeb5fb
Pseudocode: Generate UNSUPPORTED_ELEMENT for misplaced returns
2014-07-28 13:04:02 +04:00
Alexey Sedunov
b0bf11c51e
Pseudocode: Consume value of true condition in while-loop
2014-07-28 13:04:01 +04:00
Alexey Sedunov
e11ffb8542
Pseudocode: Replace UnsupportedElementInstruction with UNSUPPORTED_ELEMENT magic.
...
Generate UNSUPPORTED_ELEMENT for assignments with unresolved left-han side
2014-07-28 13:04:00 +04:00
Alexey Sedunov
c32d112e67
Pseudocode: Generate magics for cast expressions
2014-07-28 13:03:12 +04:00
Alexey Sedunov
00dd1dbb0b
Control-Flow Analysis: Compute STATEMENT slice using control-flow information
2014-07-28 13:03:10 +04:00
Alexey Sedunov
ffd4af872c
Pseudocode: Track merged values. Compute closure of value usages over merge instructions. Exclude merge instructions from usage lists
2014-07-28 13:03:09 +04:00
Alexey Sedunov
267ea81bbe
Pseudocode: Avoid null input values
2014-07-28 13:03:07 +04:00
Alexey Sedunov
8083ffad47
Pseudocode: Add mapping from pseudo-values to PSI elements
2014-07-28 13:03:06 +04:00
Alexey Sedunov
4f54d833d3
Pseudocode: Generate instructions for callable reference expressions
2014-07-28 13:03:05 +04:00
Alexander Udalov
fd27518070
Fix build tool plugins after recent changes to CLI
2014-07-26 02:28:51 +04:00
Alexander Udalov
8ed2413395
Minor, use javaClass instead of getClass()
...
Fix Maven build
2014-07-26 01:34:42 +04:00
Alexander Udalov
c24c799819
Fix NoSuchMethodError on private components of data classes
...
A follow-up to
https://github.com/JetBrains/kotlin/commit/d5681540ec47ee5c9a548ba56df8b4e20097549d
2014-07-26 01:31:11 +04:00
Alexander Udalov
c69303fd1d
Fix lots of deprecation warnings on ASM code
...
In the vast majority of cases it's known that we're calling a class method and
not an interface method
2014-07-26 01:05:03 +04:00
Alexander Udalov
99025de748
Drop "-jar" and "-output" kotlinc-jvm CLI arguments
...
In favor of a brand new "-d" option
2014-07-26 00:32:28 +04:00
Alexander Udalov
9908d797e0
Minor, fix LoadBuiltinsTest test data
2014-07-26 00:27:31 +04:00
Alexander Udalov
6755e7ec2e
Drop hack for OBJECT$/INSTANCE$ migration
2014-07-26 00:22:38 +04:00
Alexander Udalov
de0f751207
Replace object$ -> OBJECT$, instance$ -> INSTANCE$ in the project
2014-07-26 00:21:05 +04:00
Alexander Udalov
549a38ca6f
Minor, widen the scope for INSTANCE$/OBJECT$ replacement
2014-07-25 21:53:03 +04:00
Alexander Udalov
133b2918e1
Drop a hack which allowed to make Unit an object
2014-07-25 21:45:15 +04:00
Alexander Udalov
93fa7cb330
Increase ABI version
...
Related changes include:
- kotlin.Unit is now a named object
- "instance$" was renamed to "INSTANCE$"
- "object$" was renamed to "OBJECT$"
- Intrinsics#stupidSync() was dropped
2014-07-25 21:34:12 +04:00
Alexander Udalov
98ffdb3e32
Minor, delete Object from some test data
2014-07-25 21:19:39 +04:00
Alexander Udalov
a5321ba9f0
Drop deprecated Intrinsics#stupidSync
2014-07-25 21:19:39 +04:00
Alexander Udalov
fb958897a9
Introduce kotlin.Cloneable
...
- Cloneable is a trait with a single protected member 'clone', which is mapped
to java.lang.Cloneable on JVM
- 'clone' is non-abstract to be able to call 'super.clone()' in the
implementations. Also if you need your class to be Cloneable, most of the
time inheriting from Cloneable and calling 'super.clone()' will work
- hack 'super.clone()' in JVM intrinsics and TImpl delegation generation
- make arrays Cloneable, handle 'clone()' calls in the intrinsic
#KT-4890 Fixed
2014-07-25 21:19:39 +04:00
Alexander Udalov
f3309d1fa7
Don't ignore methods of Object in tests
...
Ignore methods of kotlin.Any instead
2014-07-25 21:19:39 +04:00
Alexander Udalov
cdbdfaf182
Make Pair and Triple data classes
2014-07-25 21:19:38 +04:00
Alexander Udalov
5dc37217c8
Remove Object from supertypes in LoadJava testData
2014-07-25 21:19:38 +04:00
Alexander Udalov
a79398fa00
Don't load Object as a supertype for Java classes
...
#KT-4890 In Progress
#KT-5002 Fixed
2014-07-25 21:19:37 +04:00