Ilya Kirillov
953dba808b
FIR IDE: move withFirDeclaration to LowLevelFirApiFacade
2020-11-27 20:41:37 +01:00
Ilya Kirillov
b4d63b9b13
FIR IDE: add docs for LowLevelFirApiFacade functions
2020-11-27 20:41:35 +01:00
Ilya Kirillov
93648e6cd3
FIR IDE: use mor specific exception in EntityWasGarbageCollectedException
2020-11-27 20:41:33 +01:00
Ilya Kirillov
65a7ee5012
FIR IDE: remove duplicating withFirResolvedToBodyResolve
2020-11-27 20:41:32 +01:00
Ilya Kirillov
3141fead0d
FIR IDE: get rid of LowLevelFirApiFacade object
2020-11-27 20:41:31 +01:00
Dmitry Petrov
a206eca164
JVM_IR KT-43611 report signature clash on private interface members
2020-11-27 18:54:09 +03:00
Dmitriy Novozhilov
fd935b7c54
[TEST] Move generated js compiler tests to test-gen directories
2020-11-27 18:07:47 +03:00
Ilya Goncharov
77ed51b3ab
[JS IR] Add message for for enabling option for overwriting reachable nodes
...
[JS IR] Disable rewriting of EXPECTED_REACHABLE_NODES by default, add system property to enable this behaviour
2020-11-27 17:26:07 +03:00
Dmitriy Novozhilov
908732b3c1
[TEST] Move generated visualizer tests to test-gen directories
2020-11-27 12:55:48 +03:00
Dmitriy Novozhilov
eca769f8e4
[TEST] Move generated fir tests to test-gen directories
2020-11-27 12:55:48 +03:00
Dmitriy Novozhilov
1ee38286a8
[TEST] Move generated compiler tests to test-gen directory
2020-11-27 12:55:45 +03:00
Ilmir Usmanov
524419a2fe
IC Mangling: Use new mangling scheme for range tests
2020-11-27 10:56:07 +03:00
Georgy Bronnikov
6381d97aab
JVM_IR: compute classId on IR structures
2020-11-27 10:56:07 +03:00
Dmitry Petrov
ee1e05fedd
KT-42151 fix type arguments in local class constructor reference types
2020-11-26 18:40:49 +03:00
Mikhael Bogdanov
b2b8562f92
Properly extract JVM version in kapt
...
#KT-41788
2020-11-26 15:13:06 +01:00
Ilmir Usmanov
9ed5b8f870
IC & Coroutines: Do not box suspend operator fun invoke receiver
...
if it is called using parens and not by calling 'invoke' method.
Use underlying type when calling continuation constructor if suspend
function is method inside inline class.
#KT-43505 Fixed
#KT-39437 Fixed
2020-11-26 15:08:56 +01:00
Ilmir Usmanov
4e334217a8
IC & Coroutines: Unbox inline class parameter of suspend lambda
...
inside 'create' if 'create' overrides 'create' from
BaseContinuationImpl. In other words, unbox the parameter if 'create'
accepts only one parameter.
#KT-43249 Fixed
#KT-43533 Fixed
2020-11-26 15:08:54 +01:00
Ilmir Usmanov
eba260f681
IC & Coroutines: Unbox inline classes of suspend lambdas
...
inside 'invoke' if 'create' does not override 'create' from
BaseContinuationImpl. In other words, when suspend lambda accepts more
than one parameter (including receiver).
Do that only if we do not generate bridge 'invoke' method, since
inline classes are unboxed in the bridge.
Use mangled name for 'create' function in this case inside 'invoke'.
#KT-43249 In progress
#KT-39847 Fixed
#KT-38937 Fixed
2020-11-26 15:08:51 +01:00
Mikhail Glukhikh
0a0b5b5d2b
[FIR DFA] Don't consider anonymous object as stable initializer to bind
...
#KT-43332 Fixed
2020-11-26 16:29:06 +03:00
Mikhail Glukhikh
1dc897346c
[FIR] Fix WRONG_IMPLIES_CONDITION problem in DFA model
2020-11-26 16:28:56 +03:00
Ilya Gorbunov
7fd96f5773
Fix annotation spelling in docs
...
KT-43586
2020-11-26 15:37:22 +03:00
Dmitriy Novozhilov
db9f301eed
[FE] Make DiagnosticFactory.name not null
2020-11-26 11:54:15 +03:00
Dmitriy Dolovov
94ce56bfdc
Minor. Add words to project dictionary
2020-11-26 10:57:16 +03:00
Dmitriy Dolovov
c741284458
[Commonizer] Stricter processing of forward declarations
2020-11-26 10:57:11 +03:00
Dmitriy Dolovov
eca231a01d
[Commonizer] Extract CIR classifiers cache from the root node
2020-11-26 10:57:05 +03:00
Dmitriy Dolovov
8d9abed3dc
[Commonizer] Minor. More specific upper bounds for CirNodeWithClassId
2020-11-26 10:56:59 +03:00
Mikhail Glukhikh
d4b0bf4ad8
[FIR] Make DEFAULT positioning strategy public, drop duplicated one
2020-11-26 08:37:51 +03:00
Mikhail Glukhikh
97c1a3f270
Simplify FirSupertypeInitializedWithoutPrimaryConstructor checker
2020-11-26 08:37:51 +03:00
Mikhail Glukhikh
bf2b318bee
Simplify FirSupertypeInitializedInInterfaceChecker
2020-11-26 08:37:51 +03:00
Mikhail Glukhikh
12726cd366
FIR light builder: use type reference node as FirTypeRef source
2020-11-26 08:37:50 +03:00
Mikhail Glukhikh
d5f17ea41c
Simplify FirDelegationInInterfaceChecker
2020-11-26 08:37:50 +03:00
Mikhail Glukhikh
b673996586
Simplify source operations in FirAnnotationArgumentChecker
2020-11-26 08:37:50 +03:00
Mikhail Glukhikh
1c71e64f58
[FIR] Create string interpolating call even for single argument
...
Before this commit, questionable optimization existed which
unwrapped string interpolating call with single argument to this argument.
However, this led to source element loss and the necessity of sub-hacks.
In this commit we dropped this optimization (anyway user can remove
this single-expression string template in code if needed) to keep
source elements intact.
2020-11-26 08:37:50 +03:00
Mikhail Glukhikh
915a66f4fa
[FIR] Introduce & use "multiplexing" SourceElementPositioningStrategy
2020-11-26 08:37:50 +03:00
Mikhail Glukhikh
f3334b03c4
FIR checkers: simplify FirSupertypeInitializedWithoutPrimaryConstructor
2020-11-26 08:37:50 +03:00
Mikhail Glukhikh
58301d8820
FIR exposed visibility checkers: use positioning strategy
2020-11-26 08:37:49 +03:00
Mikhail Glukhikh
f095a33970
FIR checkers: extract getChildren(), simplify findSuperTypeDelegation()
2020-11-26 08:37:49 +03:00
Mikhail Glukhikh
1e3621a896
FIR checkers: simplify hasPrimaryConstructor by source element check
2020-11-26 08:37:49 +03:00
Mikhail Glukhikh
0838ab7fe7
FIR checkers: simplify hasVal / hasVar source element checks
2020-11-26 08:37:49 +03:00
Mikhail Glukhikh
c6b703b598
Simplify LighterASTNode.toFirLightSourceElement
2020-11-26 08:37:49 +03:00
Mikhail Glukhikh
037c505069
Unbind general FirDiagnostic from PsiFile & PsiElement
2020-11-26 08:37:49 +03:00
Mikhail Glukhikh
68b748e164
Rename DebugInfoUtil.java to DebugInfoUtil.kt, same with AnalyzingUtils
2020-11-26 08:37:48 +03:00
Mikhail Glukhikh
6f8947dd04
Extract UnboundDiagnostic, DiagnosticFactory/Renderer to frontend-common
2020-11-26 08:37:48 +03:00
Mikhail Glukhikh
52a07e31c7
[FIR] Remove D_I_EXPRESSION_TYPE from qualified calls in spec test data
...
In FIR, the source of FirFunctionCall is set to call's selector.
In practice, sometimes (e.g. for DEBUG_INFO_CALL)
we expect the selector as the source,
and sometimes (e.g. for DEBUG_INFO_EXPRESSION_TYPE)
we expect the whole qualified call as the source.
Also, some diagnostics, like REDUNDANT_CALL_OF_CONVERSION_METHOD,
are expected to be reported on a selector, not on a whole call.
At this moment we ignore the problem & just don't support
DEBUG_INFO_EXPRESSION_TYPE for qualified calls.
2020-11-26 08:37:48 +03:00
Mikhail Glukhikh
558ac1678e
Create FIR fake source element for checked safe call subject
2020-11-26 08:37:48 +03:00
Mikhail Glukhikh
2592eed0e7
[FIR TEST] More precise control of source kind in createDebugInfo
2020-11-26 08:37:48 +03:00
Mikhail Glukhikh
82c5cefba9
Update test data in FIR diagnostic spec tests
2020-11-26 08:37:48 +03:00
Mikhail Glukhikh
e7e162c7eb
[FIR TEST] Filter some particular tokens during createDebugInfo
2020-11-26 08:37:47 +03:00
Mikhail Glukhikh
c602ccb33e
Create FIR fake source element for vararg argument expression
2020-11-26 08:37:47 +03:00
Mikhail Glukhikh
fa3f805573
Support FirDiagnostic.isValid properly
...
Diagnostic is considered valid in this commit if it's reported on
a syntactically non-erroneous element without erroneous last child
2020-11-26 08:37:47 +03:00