Commit Graph

14446 Commits

Author SHA1 Message Date
Pavel V. Talanov 9e5c387d6c PropertyCodegen: Diagnose descriptor not found for property 2016-02-08 16:18:36 +03:00
Zalim Bashorov 2c1d1e84a6 Allow to use internal declarations from special modules in IDEA
(e.g. IDEA 16 gradle tests loaded in separate module)

 #KT-10595 Fixed
2016-02-08 15:42:47 +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
Nikolay Krasko 938a435346 Allow to process return statements without parent KtDeclaration (EA-70883) 2016-02-06 17:50:17 +03:00
Alexander Udalov 2f5a6ac465 Minor, add extra constant to JvmAnnotationNames, drop unneeded utility 2016-02-06 15:53:55 +05:30
Alexander Udalov 5de1cf3bb4 Do not write old metadata annotations to bytecode 2016-02-06 15:53:55 +05:30
Alexander Udalov ba80e8ba81 Use kotlin.Metadata instead of old annotations in IDE, reflection and tests 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
Pavel V. Talanov a4e3dd7030 Minor: refactor DestructuringDeclarationResolver 2016-02-04 15:08:39 +03:00
Zalim Bashorov ba6c738cb5 Minor: don't init AnsiConsole when coloring is disabled 2016-02-04 14:36:31 +03:00
Pavel V. Talanov abcdae8e69 Prevent recursion when computing parameter list of KtLightMethod (part 2)
Use ClsWrapperStubPsiFactory when building light classes for decompiled kotlin classes
2016-02-04 12:55:19 +03:00
Alexey Sedunov 48b538cebf Light Classes: Provide backing fields (if any) as one of property's light elements 2016-02-04 12:26:15 +03:00
Dmitry Petrov b5145ea68b Use implementation part class for SMAP generation when inlining function both from binaries and sources. 2016-02-04 10:17:30 +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
Pavel V. Talanov c5be8ce1d3 Prevent recursion when computing parameter list of KtLightMethod
#KT-10890 Fixed
 #KT-10851 Fixed
2016-02-03 16:08:05 +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
Zalim Bashorov 130301aa27 Minor: log the content of module.xml when a source root not found on FS
Related issues: #KT-9587 #KT-10394
2016-02-03 15:28:20 +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
Natalia Ukhorskaya b19d32e4f2 Public members should have bigger priority in debugContext
#KT-10634 Fixed
2016-02-02 15:16:14 +03:00
Natalia Ukhorskaya d60a5e65c1 Debugger: skip visibility check 2016-02-02 15:16:14 +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
Denis Zharkov 816c66063b Report special diagnostic when fake-call receiver is nullable
#KT-3602 Fixed
2016-02-02 08:17:49 +03:00
Denis Zharkov 829a5639f1 Rework error reporting for fake call resolution
Move diagnostic creation to one place
2016-02-02 08:17:48 +03:00
Denis Zharkov 9b3f557337 Report MEMBER_PROJECTED_OUT on calls with smart cast receiver
#KT-10856 Fixed
2016-02-02 08:17:48 +03:00
Ilya Gorbunov 801a26a544 Fix testData 2016-02-01 22:20:30 +03:00
Ilya Gorbunov 1cef327880 Throw assertion when inline-only is applied without inline 2016-02-01 22:09:17 +03:00
Dmitry Jemerov 38b58db4f9 don't apply StandardScriptDefinition in REPL 2016-02-01 19:16:31 +01:00
Ilya Gorbunov 3ae4c033b6 Wrap exceptions thrown by class builders and add details about class file being generated. 2016-02-01 19:59:06 +03:00
Michael Bogdanov 5f38c1d571 Fix for KT-10729: Accessing private const field in companion object from a function in the same companion generates run-time error 2016-02-01 18:42:19 +03:00
Michael Bogdanov 328b9bfeda Removed old default generation 2016-02-01 18:32:12 +03:00
Pavel V. Talanov a90f8122bd Fix NPE on trying to compile script files
(There is still no design)
2016-02-01 17:33:46 +03:00
Mikhail Glukhikh d194af5c4e Correct report of NO_VALUE_FOR_PARAMETER when function call contains no brackets and lambda at the end #KT-7813 Fixed 2016-02-01 17:11:54 +03:00