Michael Bogdanov
0283fea835
Optimize recursive string concatenation
2016-02-17 16:53:19 +03:00
Michael Bogdanov
8835b0599a
Inline preevaluated string and primitive only constants in compilation time, don't inline const references in non-annotation context, fix for KT-11025: Don't inline const val in compare instuctions
...
#KT-11025 Fixed
2016-02-17 16:53:18 +03:00
Michael Bogdanov
7c2920febe
Don't allow use standalone constants in complexExpressions, fix for KT-11043: Inconsisten result for class literal and string concatenation
...
#KT-11043 Fixed
2016-02-17 16:53:18 +03:00
Michael Bogdanov
af3437626b
Properly calculate isConst for java properties
2016-02-17 16:53:17 +03:00
Zalim Bashorov
c28b701ccf
JS: ignore annotation on expression when its retention is SOURCE
...
#KT-8258
2016-02-15 21:35:30 +03:00
Pavel V. Talanov
47ceb106c7
Fix "<" or ">" in member name leading to exception
2016-02-15 13:32:41 +03:00
Jake Wharton
f713adc96e
Add support for AOSP's nullability annotations.
...
These are different than 'android.support.annotation' in that they are used on the JVM for projects within AOSP.
2016-02-15 11:32:09 +03:00
Mikhail Glukhikh
0f7284f83a
More accurate safe call handling in GenericCandidateResolver / CallExpressionResolver
...
(real receiver nullability is taken into account)
2016-02-13 10:48:12 +03:00
Mikhail Glukhikh
17593e4ef6
Call completer: safe call with nullable receiver has nullable return type #KT-11007 Fixed
2016-02-13 10:48:07 +03:00
Valentin Kipyatkov
4cd7193047
KT-11018 Ctrl + Mouse Hover shows a var as val
...
#KT-11018 Fixed
2016-02-13 10:20:20 +03:00
Michael Bogdanov
4f0f81155a
Weaken PRIVATE_CLASS_MEMBER_FROM_INLINE diagnostic
2016-02-12 17:24:30 +03:00
Michael Bogdanov
384d2ea0d1
Use bipush, sipush for byte and short constants
2016-02-12 11:55:21 +03:00
Anton Sukhonosenko
0073257841
Fix for KT-10313: ClassCastException with Generics
...
#KT-10313 Fixed
2016-02-12 10:53:28 +03:00
Dmitry Petrov
edf6a2142b
Check local function declarations for overload conflicts.
...
In PSI unifier tests, disable errors for tests on local functions (as irrelevant).
2016-02-12 09:54:21 +03:00
Pavel V. Talanov
7d98103c0c
overriddenDescriptors is empty for java static property and function declarations
...
Fake overrides are still created for java static with non-empty overriddenDescriptors
Add tests for inheriting visibility for java static members
Add test: check that java static declarations that shadow deprecated declarations should not be deprecated
Add test for corner case where "overriding" java static constant led to incorrect type in inheritor
Fix test data for existing tests
2016-02-11 14:08:14 +03:00
Dmitry Petrov
aed2f2b993
Property vs classifier conflict.
...
TODO get rid of duplicate diagnostics
(looks like OverloadResolver and DeclarationResolver are partially redundant; refactor them).
2016-02-11 10:32:46 +03:00
Denis Zharkov
12552d2fc1
Refine special bridges generation
...
#KT-10958 Fixed
2016-02-10 20:18:46 +03:00
Mikhail Glukhikh
a08b8f43b2
Control flow graph for safe calls corrected #KT-10913 Fixed
...
Also #KT-10186 Fixed
Also #KT-5198 Fixed
2016-02-10 12:29:45 +03:00
Michael Bogdanov
0f90dc1649
Code clean and some refactorings in 'getLambdaIfExistsAndMarkInstructions'
2016-02-09 10:19:16 +03:00
Michael Bogdanov
b8ee2ecdac
Support extension lambda inlining in complex stack cases (nullable receiver)
2016-02-09 10:19:15 +03:00
Stanislav Erokhin
434bd0707d
Correcting rewrite type info after compete call.
...
#KT-10934 Fixed
#KT-10896 Fixed
2016-02-08 20:49:31 +03:00
Ilya Gorbunov
5361f6e941
Make Throwable properties message and cause open.
...
#KT-5587 Fixed
2016-02-08 18:10:46 +03:00
Denis Zharkov
c879f83037
Fix primitive types mapping
...
Use boxed version if type was enhaced to not-nullable
2016-02-08 16:40:47 +03:00
Denis Zharkov
c1f57b743b
Do not build enhanced descriptors if they are unchanged
2016-02-08 16:40:47 +03:00
Michael Bogdanov
848549dd5d
Rollback "Fix for KT-10659: Debugger: Evaluate Expression and Watches fail for inline function parameter passed by reference"
2016-02-08 16:43:22 +03:00
Dmitry Petrov
5968ce96df
KT-10939 CANNOT_COMPLETE_RESOLVE for inherited generic interface method
...
'original' for value parameters of fake override is not a value parameter of unsubstituted fake override.
Match value parameters by index.
2016-02-08 10:08:35 +03:00
Alexander Udalov
9f786c00a7
Fix test data after removing old annotation classes
2016-02-07 10:03:19 +05:30
Alexander Udalov
5de1cf3bb4
Do not write old metadata annotations to bytecode
2016-02-06 15:53:55 +05:30
Mikhail Glukhikh
7da981e12c
Regression tests #KT-8168 Obsolete
2016-02-05 18:29:40 +03:00
Denis Zharkov
0efe28a12a
Do not inline non-const vals
...
#KT-10425 Fixed
2016-02-05 17:43:55 +03:00
Michael Bogdanov
bc2077bfaf
More wise lambda search during inlining
2016-02-05 15:42:46 +03:00
Denis Zharkov
16f412f993
Generate multi-files facade even if it's empty
...
It still contains useful information about it's parts,
that may be used while building stubs for multi-file group
containing only InlineOnly functions
2016-02-05 15:02:24 +03:00
Denis Zharkov
889b136a68
Refine multi-file facades generation
...
Do not generate delegation from multi-file facade to inline-only functions
because they are effectively private in bytecode
#KT-10858 Fixed
2016-02-05 15:02:24 +03:00
Dmitry Petrov
e4583fd275
Do not report IMPLICIT_CAST_TO_ANY on last statement of lambda with Unit(?) in at least one branch.
2016-02-05 10:44:50 +03:00
Pavel V. Talanov
7c84225cc4
Fix typechecker when initializer of destructuring declaration is unresolved or missing
2016-02-04 15:08:39 +03:00
Mikhail Glukhikh
60d56b30bf
Safe call arguments are now handled as nullable in generic resolver #KT-9985 Fixed
2016-02-03 18:34:10 +03:00
Stanislav Erokhin
34d8dd9127
Add optimization for fake overrides creation.
2016-02-03 17:47:40 +03:00
Zalim Bashorov
030c55ebb2
Minor: fix testdata
2016-02-03 17:35:14 +03:00
Dmitry Petrov
4afe98a0f6
Better diagnostics for conflicting overloads.
...
Skip declarations without sources in reporting, not when determining redeclaration groups:
this allows emitting informative diagnostics for incremental compilation.
Provide containing declaration with "kind", e.g., "package '<root>'", "class A", and so on.
2016-02-03 15:53:07 +03:00
Michael Bogdanov
394221fefb
Updated test data
2016-02-03 10:35:32 +03:00
Michael Bogdanov
4b203de608
INVISIBLE_MEMBER_FROM_INLINE renamed to NON_PUBLIC_CALL_FROM_PUBLIC_INLINE
2016-02-03 10:35:29 +03:00
Michael Bogdanov
d1db404959
Error diagnostic for private classes in inline functions; Fix for KT-7545: IllegalAccessError when accessing private nested class through inlined function from different package
...
#KT-7545 Fixed
2016-02-03 10:32:41 +03:00
Michael Bogdanov
71c2a6e792
Generate package private visibility in bytecode for private classes
2016-02-03 10:32:41 +03:00
Mikhail Glukhikh
45298e0bad
Delegated properties now cannot be used before initialization #KT-10869 Fixed
2016-02-02 16:27:20 +03:00
Dmitry Petrov
65f754ffca
Fix KT-10764 IDEA doesn't show overload conflict between constructor and function...
...
When checking for overloads in package, consider functions and top-level class constructors as possibly conflicting between each other. NB OverloadUtil uses containing package scope from module descriptor.
Change diagnostic message for CONFLICTING_OVERLOAD: it's misleading in case of fun vs constructor conflict.
Add custom multifile test for diagnostics in IDE (probably not the best; should preprocess file content if it's required to check highlighting in multiple files, not only in the first file).
Add test for KT-10765 Incremental compilation misses overload conflict between constructor and function ...
2016-02-02 16:21:26 +03:00
Denis Zharkov
8df05c6c4c
Refine 'isMoreSpecific' calculation
...
Choose member with better visibility, it's needed for proper calculation
of types intersection member scope
#KT-10481 Fixed
2016-02-02 15:26:49 +03:00
Dmitry Petrov
bad8320038
Fix for KT-10881 Declaring constant in a mutlifile class causes an IllegalAccessError on its usage.
...
Generate fields for 'const' properties in facade class.
NB reading annotations for 'const' vals in multifile class doesn't work, KT-10892.
2016-02-02 15:06:21 +03:00
Dmitry Jemerov
970d6f6834
generate local variables table for @JvmOverloads-generated methods
...
#KT-7319 Fixed
2016-02-02 12:11:51 +01:00
Yan Zhulanow
da7acd5e73
Check annotations on default property getter/setter
2016-02-02 13:14:56 +03:00
Mikhail Glukhikh
7e528da00a
Regression codegen test #KT-8344 Obsolete
2016-02-02 12:43:52 +03:00