Svyatoslav Kuzmich
5ea7673950
[JS IR BE] Mute inline class tests
2018-11-08 15:00:32 +03:00
Svyatoslav Kuzmich
43b4b6eaae
Add more specific fail messages in inline class box tests
2018-11-08 15:00:31 +03:00
Dmitry Petrov
8262d4a4b9
psi2ir: Don't generate constructor bodies for 'external' classes
...
#KT-27934
2018-11-08 12:29:15 +03:00
Dmitry Petrov
51002ee620
psi2ir: Handle missing "then" branches as empty blocks
...
#KT-27933
2018-11-08 12:29:15 +03:00
Dmitry Petrov
bd1491ac8a
psi2ir: Merge constant entries in string template expressions
...
This is required to handle UCNs properly, see KT-28006.
#KT-28006
2018-11-08 12:29:15 +03:00
Georgy Bronnikov
c20f93ddbf
Mute failing test
2018-11-07 19:09:15 +03:00
Dmitry Petrov
1523185734
KT-27948: Use proper KotlinType when comparing with literal 0
...
#KT-27948
2018-11-07 18:17:29 +03:00
Dmitry Petrov
e14f74bc18
KT-27948: Properly coerce values when generating areEqual call
...
#KT-27948
2018-11-07 18:17:29 +03:00
Dmitry Petrov
ac7cc0c08e
KT-27706: Dispatch receiver type for constructor accessor is Object
2018-11-07 18:17:29 +03:00
Dmitry Petrov
ea4afdaebe
KT-27705: Use proper types for captured outer class instance
...
Call typeMapper only if we have an inline class.
2018-11-07 18:17:29 +03:00
Mikhael Bogdanov
d2a205c72d
Update synthetic parameter processing logic according to ASM 7 changes
...
#KT-27774 Fixed
2018-11-07 15:42:57 +01:00
Alexander Udalov
17d740a373
Do not try computing return type in OverloadChecker
...
Return type is not needed for checking overloads, but querying it may
involve resolving function bodies, which usually happens after overload
checking (see LazyTopDownAnalyzer.analyzeDeclarations) and at this point
can lead to incorrect BACKING_FIELD_REQUIRED value being computed for
some properties (see KT-27895)
#KT-27895 Fixed
2018-11-07 11:00:15 +01:00
Anton Bannykh
829bdf6061
JS: fix noInline version of inline suspend fun (KT-27611 fixed)
2018-11-07 12:34:00 +03:00
Anton Bannykh
59009430e5
JS: report inline suspend functions to IC
...
* Also inline suspend lambda'a
* Also use correct JsName's in exported suspend inline fun's
* Also use less unused imports
2018-11-07 12:11:01 +03:00
Dmitry Savvinov
939b58f8f4
Fix testdata to incorrect to keep local testruns green
...
This test was originally written with fix for KT-22379
Lately, fix was proven to be wrong and reverted (KT-27084), which made
this test fail.
Correct solution here would be to mute test with link to YT issue, but
unfortunately we don't have infrastructure to mute tests locally (yet),
which is a major issue because this tests is a part of very popular for
local smoke-testing test suite (DiagnosticTestsGenerated).
2018-11-06 19:29:28 +03:00
victor.petukhov
9a61998fca
Add lexer test runner and whitespace characters tests
...
Whitespace characters for the tests are U+000B, U+000C, U+000D, U+0085, U+2028, U+2029
2018-11-06 11:19:15 +03:00
victor.petukhov
fe072e3366
Fix the lack of the handling of whitespace characters in the KDoc lexer
...
Affected characters are U+000B, U+000C, U+000D, U+0085, U+2028, U+2029
This problem reproduces with JFlex since 1.5.0: http://jflex.de/changelog.html#jflex-1.5.0-jan-21-2014
2018-11-06 11:18:58 +03:00
Mikhail Glukhikh
2bc063b230
FIR: implement default star importing scope
2018-11-02 19:44:56 +03:00
Mikhail Glukhikh
284b21b2a6
Get rid of descriptors, resolved classifiers, + some cleanup
2018-11-02 19:44:55 +03:00
Mikhail Glukhikh
8035be07e2
FIR: built-in resolve, preliminary version #KT-24091 Fixed
2018-11-02 19:44:55 +03:00
Mikhail Glukhikh
093a236e34
FIR resolve: support star imports, enum entries
2018-11-02 19:44:55 +03:00
Mikhail Glukhikh
4d48c40832
FIR tree & builder: support expect / actual
2018-11-02 19:44:54 +03:00
Mikhail Glukhikh
d16303342e
FIR: do not allow to resolve to type parameters in supertype position
2018-11-02 19:44:54 +03:00
Mikhail Glukhikh
9aaec1efda
FIR: resolve function type parameters
2018-11-02 19:44:54 +03:00
Simon Ogorodnik
25ae12fe07
FIR: implement early type alias expansion
2018-11-02 19:44:54 +03:00
Mikhail Glukhikh
d15fb1963b
FIR: introduce symbols + type parameter resolve #KT-24064 Fixed
2018-11-02 19:44:53 +03:00
Mikhail Glukhikh
3495f09ac4
Fix visiting of resolved FIR nodes
2018-11-02 19:44:53 +03:00
Mikhail Glukhikh
a99578c354
FIR: handle unresolved modality as questionable
2018-11-02 19:44:53 +03:00
Mikhail Glukhikh
737ec37486
FIR visibility rendering: unknown -> public with question
2018-11-02 19:44:53 +03:00
Mikhail Glukhikh
b83d921445
FIR: add type alias descriptors
2018-11-02 19:44:53 +03:00
Simon Ogorodnik
bc9175c4e8
FIR: Refactor nested scope, fix super-type resolving jump context
...
#KT-24017 Fixed
2018-11-02 19:44:52 +03:00
Mikhail Glukhikh
f82ad6ac20
FIR: support type alias resolve
2018-11-02 19:44:52 +03:00
Mikhail Glukhikh
d5463193fd
FIR: introduce classifier scopes #KT-24022 Fixed
2018-11-02 19:44:52 +03:00
Mikhail Glukhikh
1ba498b021
FIR: transform types inside functions & properties
2018-11-02 19:44:52 +03:00
Mikhail Glukhikh
6c8a326e15
FIR: split transformer into three (imports / types / descriptors)
2018-11-02 19:44:52 +03:00
Simon Ogorodnik
8933c9035b
FIR: introduce FIR importing scopes #KT-24096 Fixed
2018-11-02 19:44:51 +03:00
Simon Ogorodnik
3e7b9c4e27
FIR: introduce type resolvers #KT-24019 Fixed
2018-11-02 19:44:51 +03:00
Simon Ogorodnik
ce7456c93d
FIR: Introduce new kotlin types aka 'cones' #KT-24063 Fixed
2018-11-02 19:44:50 +03:00
Simon Ogorodnik
3e06f426d0
Raw FIR: support a bunch of new elements + some fixes
...
Support: calls, constructor calls, annotation calls, arguments
Support: enums, primary constructors, const modifier
Support: inner modifier, qualified types
Add: some base transformed types
Fix: acceptChildren etc.
Progress: #KT-24013
2018-11-02 19:44:49 +03:00
Mikhail Glukhikh
2c626d6c5d
Implement raw FIR builder (initial version)
...
All necessary FIR tree implementations were created
FIR renderer & three first builder tests were added
#KT-24013 Fixed
2018-11-02 19:44:49 +03:00
Roman Artemev
0e7520fde3
[JS IR BE] Fix GetClass on primitive type
2018-11-01 16:51:44 +03:00
Roman Artemev
2d03f87ea5
[IR BE] Support lateinit locals and isInitialized property
...
* update tests
2018-11-01 16:51:43 +03:00
Roman Artemev
535eea7f48
[JS IR BE] fix enum initialization
2018-11-01 16:51:42 +03:00
Roman Artemev
7f215d3f52
Update tests
2018-11-01 16:51:38 +03:00
Roman Artemev
fb709cae92
[JS IR BE] Fix private field names
2018-11-01 16:18:44 +03:00
Alexander Udalov
be66591a4f
Minor, fix test data for PublishedApi on inline class constructor
...
PublishedApi is not available at runtime because it has BINARY
retention. Probably this test should check some other RUNTIME-retained
annotation
2018-10-31 17:25:12 +01:00
Alexander Udalov
c5275f178a
Do not use getMethod/getConstructor in reflection
...
Use only getDeclaredMethod/getDeclaredConstructor instead. The reason is
that getMethod/getConstructor only finds public-API (public or protected
on JVM) declarations, and to determine if a declaration is public-API in
the class file we used isPublicInBytecode, which was trying to load
annotations on the declaration to see if it was InlineOnly, and that
required lots of time-consuming actions and worsened the stack trace (as
can be seen e.g. in KT-27878). In fact, the implementation of
Class.getMethod is not supposed to do anything complicated except
loading annotations from each superclass and superinterface of the given
class. Doing it in our codebase simplifies implementation and probably
improves performance
2018-10-31 17:21:06 +01:00
Alexander Udalov
2f72f68e1a
Fix loading class literal value void.class in reflection
...
#KT-27878 Fixed
2018-10-31 17:21:05 +01:00
Mikhail Glukhikh
ad44118605
Delay UNUSED_PARAMETER on main parameter until 1.4 (part of KT-26999)
2018-10-31 19:00:29 +03:00
Dmitry Savvinov
00036ba498
[BE IR] Skip comments for determining startOffset of declaration
2018-10-31 14:52:03 +03:00