Alexander Udalov
4d95bcfc7e
Rename CharSequence.get to charAt
...
This is done for JVM interoperability. There's still a member function
String.get() and an extension function "get" on CharSequence
#KT-1730 Fixed
#KT-5389 Fixed
2014-11-27 20:38:18 +03:00
Alexander Udalov
a7b88e9485
Make CharSequence.length a function instead of property
...
And String.length as well.
This is done for JVM interoperability: java.lang.CharSequence is an open class
and has a function 'length()' which should be implemented in subclasses
somehow.
A minor unexpected effect of this is that String.length() is now a compile-time
constant (it wasn't such as a property because properties are not supported in
compile-time constant evaluation)
#KT-3571 Fixed
2014-11-27 20:38:17 +03:00
Denis Zharkov
3b2d0b88f3
Supported nested reified parameter declarations
...
Also switched to using type names as identifiers instead of their
indices
2014-11-27 15:15:04 +04:00
Denis Zharkov
080610c208
Wrap parentCodegen before generating from inline
2014-11-27 14:58:04 +04:00
Denis Zharkov
02be1063c1
Do not report a warning on an inline function with a reified parameter
...
#KT-6273 Fixed
2014-11-27 13:49:17 +04:00
Denis Zharkov
f7d1bc5931
Diagnostics test: array creation of non-reified TP
...
#KT-1370 Fixed
2014-11-27 13:49:17 +04:00
Svetlana Isakova
724f2e6e7b
KT-6081 Chained generic method calls: wrong type inference
...
#KT-6081 Fixed
2014-11-27 02:28:10 +03:00
Alexander Udalov
a6d759ff96
Minor, add test for obsolete issue
...
#KT-3587 Obsolete
2014-11-25 23:16:56 +03:00
Alexander Udalov
3a066dfd07
Rename "context" -> "c" in deserialization for brevity
2014-11-25 23:16:27 +03:00
Alexander Udalov
1f68c94ce6
Fix several bugs in serialization of inner generic classes
...
- Interner was working incorrectly with parents
- nested classes were serialized in codegen out of any context
#KT-5660 Fixed
2014-11-25 23:16:26 +03:00
Alexander Udalov
07c3a07ecb
Make DeserializedType a static nested class
2014-11-25 23:15:49 +03:00
Andrey Breslav
2a334fc8f5
Support JS-targeted diagnostic tests
2014-11-25 18:45:43 +03:00
Valentin Kipyatkov
ddc60ac5dd
Better injecting of partial body resolve filter
2014-11-24 20:11:28 +03:00
Nikolay Krasko
9809e4fd0a
Replace direct usages of TopDownLazyResolveForJava with facade
2014-11-24 19:19:35 +03:00
Nikolay Krasko
a456f9d22e
Add ability to create memoized functions with custom maps
...
- Remove cast in ResolveSession class
2014-11-24 19:19:14 +03:00
Michael Bogdanov
8fc3a37989
Fix for KT-6312: Compiler crashes accessing inherited property of class object
...
#KT-6312 Fixed
2014-11-24 13:10:59 +03:00
Andrey Breslav
08ad4bec64
More information when no containing field found
2014-11-21 19:03:00 +03:00
Andrey Breslav
93a409d459
Rendering for resolution candidates
2014-11-21 19:02:47 +03:00
Andrey Breslav
b109a34651
Common formatting extracted
2014-11-21 18:59:45 +03:00
Andrey Breslav
4112b2de5f
Disable lazy log checking by default
2014-11-21 18:59:44 +03:00
Pavel V. Talanov
bce399f5fd
Rename: AnalyzeExhaust -> AnalysisResult
2014-11-21 15:56:05 +03:00
Pavel V. Talanov
0319ef797e
Refactor: Introduce DeclarationDescriptor#module utility
2014-11-21 15:56:03 +03:00
Pavel V. Talanov
1991f0119e
Convert AnalyzeExhaust to Kotlin and make it a data class
2014-11-21 15:55:59 +03:00
Svetlana Isakova
b71260f54e
Moved tests
...
that are used both for codegen & diagnostics to codegen/box/diagnostics
2014-11-21 14:02:45 +03:00
Svetlana Isakova
9cd5f51b88
Added test for KT-4711
...
Error type with no error reported from type inference
#KT-4711 Fixed
2014-11-21 14:02:43 +03:00
Svetlana Isakova
5d0f004292
Fix for 'if' special construct type
...
If one branch has Nothing type (contains 'return', etc.),
return result type of corresponding resolved call (it may depend on smart casts)
#KT-6242 Fixed
2014-11-21 14:02:42 +03:00
Svetlana Isakova
36fd8a1a08
Set the right call operation node for implicit invoke
...
Make a call for implicit invoke safe if an outer call is safe
2014-11-21 14:02:42 +03:00
Svetlana Isakova
7f62675665
Fixed error reporting for special constructions (if, elvis)
...
Track whether an error was reported for sub expressions (like 'if' branches) or it should be reported for the whole expression
#KT-6189 Fixed
2014-11-21 14:02:42 +03:00
Svetlana Isakova
8109b1f997
DONT_CARE placeholder can be nullable after a substitution
...
Interpret it as DONT_CARE as well (not as an error type where an error was generated before)
#KT-6175 Fixed
2014-11-21 14:02:41 +03:00
Svetlana Isakova
8ad017c071
Extracted 'deparenthesizeArgument', used it where necessary
...
#KT-6176 Fixed
2014-11-21 14:02:41 +03:00
Michael Bogdanov
e2826a47e1
Remove "operation" method from StackValue.kt;
...
Compilation fix: remove static import to kotlin from AsmUtil
2014-11-21 13:59:44 +03:00
Michael Bogdanov
3a70992d27
Lazy intrinsic generation
...
#KT-6241 Fixed
2014-11-21 13:59:43 +03:00
Michael Bogdanov
ec649e83c3
Don't skip receiver with side effects on static calls
...
#KT-6278 Fixed
2014-11-20 10:20:33 +03:00
Michael Bogdanov
2cc9d8e29b
Support platformStatic for properties
...
#KT-5766 Fixed
2014-11-20 10:20:31 +03:00
Michael Bogdanov
5412a67d29
Generate static backing fields for properties in object
...
#KT-4973 Fixed
2014-11-20 10:20:31 +03:00
Michael Bogdanov
af998101b3
Fix for KT-4206: NoSuchFieldError with class objects
...
#KT-4206 Fixed
2014-11-20 10:20:12 +03:00
Michael Bogdanov
7d1fd47569
Rewrite local var increment optimization
2014-11-20 10:20:12 +03:00
Michael Bogdanov
855bf772ca
Prefix inc refactoring
2014-11-20 10:20:12 +03:00
Michael Bogdanov
c7b1c0fe52
Store refactoring
...
#KT-1213 Fixed
2014-11-20 10:20:11 +03:00
Alexey Sedunov
a6479bfc90
Light Classes: Do not add "final" modifier to enum light classes
2014-11-18 13:24:56 +03:00
Stanislav Erokhin
caf44969a4
Add support for check diagnostic parameters in test.
2014-11-17 17:45:06 +03:00
Stanislav Erokhin
2033042d33
Make candidates lazy in ResolutionTask & ResolutionTaskHolder
2014-11-17 17:38:52 +03:00
Stanislav Erokhin
eb50e4adb3
Inject StorageManager to ResolutionTaskHolder
2014-11-17 17:38:52 +03:00
Alexander Udalov
93696ff9bd
Make Array.indices extension property, move to stdlib
...
This is not something that needs to be intrinsified. Note that compiler
optimizations are still possible and the fact whether 'indices' is a member or
an extension is irrelevant to the optimizer
2014-11-17 15:20:44 +03:00
Alexander Udalov
128c938965
Make Array.size() a function instead of a property
...
Also add a deprecated extension property to help migration. This is done to
unify getting size of arrays and collections
2014-11-17 15:02:38 +03:00
Pavel V. Talanov
40addaed13
Fix wrong deserialization order
...
For case when property and function have the same name or
extension and non-extension member have the same name
2014-11-14 17:09:14 +03:00
Pavel V. Talanov
8016766b23
Extension/non-Extension members are deserialized in correct order
2014-11-14 16:18:33 +03:00
Pavel V. Talanov
028e9105af
Add test for enum class with inner classes
2014-11-14 16:18:32 +03:00
Pavel V. Talanov
77dd027d69
Use MemberComparator in DescriptorSerializer
2014-11-14 16:18:29 +03:00
Pavel V. Talanov
dc134b3394
MemberComparator: enum entries have top priority and are never reordered
...
Fix rendering accordingly
2014-11-14 16:18:29 +03:00