Denis Zharkov
9ac2da8c96
Optimize 'setResultingSubstitutor'
...
Replace Map with plain List, use parameter's index as a key
2016-02-10 16:18:59 +03:00
Denis Zharkov
b9e677fef4
Get rid of redundant Map copy
2016-02-10 16:18:59 +03:00
Denis Zharkov
de3f507744
Add minor memory optimization
...
Get rid of 'unsubstitutedValueArguments' in resolved call
2016-02-10 16:18:59 +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
c75b514551
Get rid of InstructionsAndFrames.kt
2016-02-09 10:19:15 +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
Zalim Bashorov
74b2c8cd31
Minor: fix method name
2016-02-08 19:31:17 +03:00
Ilya Gorbunov
5361f6e941
Make Throwable properties message and cause open.
...
#KT-5587 Fixed
2016-02-08 18:10:46 +03:00
Pavel V. Talanov
f12c653aed
KtLightClassForFacade is not valid if any of the files it was built for doesn't have top level callables
...
#KT-9434 Fixed
2016-02-08 16:45:47 +03:00
Pavel V. Talanov
f59a4c537e
Minor: remove some dead code
2016-02-08 16:45:46 +03:00
Nikolay Krasko
909ced5fa2
Use non-local functions to avoid creating lambdas in heap
2016-02-08 16:43:55 +03:00
Nikolay Krasko
ff2029035e
Don't generate new empty list with TypeParameterDescriptor
2016-02-08 16:43:54 +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
68110f5859
Add minor optimization
...
Do not copy overrides while creating FAKE_OVERRIDE
2016-02-08 16:40:47 +03:00
Denis Zharkov
18e7272a1e
Do not force overridden descriptors computation
...
Currently 'overriddenDescriptors' of substituted function is lazy
and in most cases it's unnecessary to compute it
(it's enough to use the same field from 'original')
2016-02-08 16:40:47 +03:00
Denis Zharkov
fae6de9acd
Replace 'addOverriddenDescriptor' with 'setOverriddenDescriptors'
...
It helps to get rid of redundant SmartSets (e.g. for top-level functions)
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
Denis Zharkov
924d706e79
Release original Java descriptors while enhancing
...
It's both more correct and helps to release memory retained by
descriptor before enhancement
2016-02-08 16:40:47 +03:00
Denis Zharkov
beea2d5d10
Use source elements instead of descriptors
...
It's needed because resulting descriptors are different
(because they are enhanced) from ones on which load error is reported.
See where latter happens
Currently we suppose that source elements should be stable
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
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