Simon Ogorodnik
4b5172cda3
FIR (WIP): Initial support for proper lambda analysis
2019-04-30 18:45:41 +03:00
Simon Ogorodnik
8c67ec8c89
FIR resolve: abstract PostponedResolvedAtom & buildCurrentSubstitutor
2019-04-30 18:45:41 +03:00
Simon Ogorodnik
a0de50307a
Raw FIR: generate more trivial tree for lambdas (no explicit return)
2019-04-30 18:45:41 +03:00
Simon Ogorodnik
aaf4645cef
FIR: add return type to functional type's arguments
2019-04-30 18:45:41 +03:00
Simon Ogorodnik
a0176fbde5
Support labels in fir html dump
2019-04-30 18:45:40 +03:00
Simon Ogorodnik
541e1addf9
FIR modularized test: fix date format in report name
2019-04-30 18:45:40 +03:00
Simon Ogorodnik
82fbe4d83d
Support String concatenation and Unit expression in html fir dump
2019-04-30 18:45:40 +03:00
Simon Ogorodnik
a6b2e119f7
FIR resolve: support trivial when typing
2019-04-30 18:45:40 +03:00
Simon Ogorodnik
55467909da
FIR deserializer: optimize KotlinDeserializedJvmSymbolsProvider
2019-04-30 18:45:40 +03:00
Simon Ogorodnik
3a50d2e666
FIR: provide constructors from importing scopes
2019-04-30 18:45:40 +03:00
Simon Ogorodnik
e7ea75fd81
FIR: fix search scope to include kotlin libraries package parts
2019-04-30 18:45:39 +03:00
Simon Ogorodnik
4cb8faf666
FIR: uniquify scopes to avoid ambiguity on diamond inheritance
2019-04-30 18:45:39 +03:00
Simon Ogorodnik
8d4cbd84e3
FIR resolve: support synthetics discrimination
2019-04-30 18:45:39 +03:00
Simon Ogorodnik
49883d1d87
Add root index to fir dump
2019-04-30 18:45:39 +03:00
Simon Ogorodnik
9c04751572
FIR modularized test: use qualified module names
2019-04-30 18:45:39 +03:00
Simon Ogorodnik
3cabf490dd
Use fir to html in modularized test
2019-04-30 18:45:39 +03:00
Simon Ogorodnik
61b410e276
Implement fir to html dump
2019-04-30 18:45:38 +03:00
Simon Ogorodnik
32e941cb53
FIR: keep names for error references
2019-04-30 18:45:38 +03:00
Mikhail Glukhikh
5bf41594ec
FIR resolve: add receiver consistency checking
...
NB: looks like checker itself may be not needed, but it's important
to check extension receiver presence during candidate collection
2019-04-30 18:45:38 +03:00
Mikhail Glukhikh
2e7d655b20
FIR resolve: support nested class constructors
2019-04-30 18:45:38 +03:00
Mikhail Glukhikh
8b718c6822
FIR body resolve: support subject type calculation
2019-04-30 18:45:38 +03:00
Mikhail Glukhikh
e05dfb6541
FIR resolve: introduce argument mapper
2019-04-30 18:45:38 +03:00
Simon Ogorodnik
c98b820968
Extract FIR modularized tests to separate module
2019-04-30 18:45:37 +03:00
Simon Ogorodnik
6e3f173567
Implement old FE perf test similar to FIR modularized
2019-04-30 18:45:37 +03:00
Simon Ogorodnik
3c4f5be8fd
Implement FIR modularized tests
2019-04-30 18:45:37 +03:00
Simon Ogorodnik
fe3afccfc2
FIR resolve: provide synthetic properties scope
...
At the moment get* and is* functions are supported
2019-04-30 18:45:37 +03:00
Simon Ogorodnik
5763b82cdd
Improve FIR benchmark util, add progress and multi-run info collection
2019-04-30 18:45:37 +03:00
Simon Ogorodnik
45f92c490c
FIR: make call resolver stop on first successful candidate
2019-04-30 18:45:37 +03:00
Simon Ogorodnik
95011b1076
Return "FIR resolve: support variable assignments" with full completion
2019-04-30 18:45:36 +03:00
Simon Ogorodnik
c6aff9380b
FIR: support resolving to objects
2019-04-30 18:45:36 +03:00
Simon Ogorodnik
b38f3a1272
Replace ConeFunctionType with ConeClassType
2019-04-30 18:45:36 +03:00
Simon Ogorodnik
93cb23a498
Raw FIR: support type placeholders
2019-04-30 18:45:36 +03:00
Simon Ogorodnik
0e0c188e05
Rebuild fir-provider indexes on changes
2019-04-30 18:45:36 +03:00
Simon Ogorodnik
5f0fe4785d
Implement FirProvider consistency checker
2019-04-30 18:45:35 +03:00
Simon Ogorodnik
1dae135840
Expand ConeTypeContext, implement FIR type inference & related checkers
2019-04-30 18:45:35 +03:00
Simon Ogorodnik
f1eb66819b
Revert "FIR body resolve: support variable assignments"
...
Performed to make long branch rebasing easier
This reverts commit af8c3788
2019-04-30 18:45:35 +03:00
Simon Ogorodnik
935c21f906
FIR scopes: use use-site member scopes for imports
2019-04-30 18:45:35 +03:00
Simon Ogorodnik
3533541702
Provide class use-site scopes from FirSymbolProviders
2019-04-30 18:45:34 +03:00
Simon Ogorodnik
1cd25da7af
FIR scope processors: add function to check is stop on ProcessorAction
2019-04-30 18:45:34 +03:00
Simon Ogorodnik
082e9d1cd7
FIR Java: implement knownClassNamesInPackage optimization
2019-04-30 18:45:34 +03:00
Yanis Batura
a51b7fb8d0
Fix typos
2019-04-30 18:42:07 +03:00
Leonid Startsev
0ecf20bd62
Revert back visibility in deserialization ctor to public so inheritors can access it from other modules.
...
Fix instantiating of polymorphic serializer with generics.
Move context creation below as asked.
2019-04-30 17:53:40 +03:00
Dmitriy Dolovov
3610c99163
Move IDE-related CIDR modules into 'ide' directory
2019-04-30 21:32:21 +07:00
Svyatoslav Kuzmich
379cb08226
[JS] Reduce usage of 'js' function in stdlib
...
Function 'kotlin.js.js' is to be redesigned in JS IR backend,
partially because it is a hard feature to support.
Current implementation is unstable and can cause problems around
inlining and name generator. Luckily most of its use-cases
can be covered by simpler features like dynamic expressions and
external declarations.
Thus we are reducing it's usage in stdlib to make IR backend more
stable in current state. JavaScript features that can't be covered by dynamic expression are
implemented in 'jsOperators.kt' file respectively for each backend:
- 'internal inline' function which calls 'js' function inside for current
pre-IR backend
- 'internal' function with '_hack' parameters for JS IR backend which will be
later intinsicified in a compiler
2019-04-30 15:27:19 +03:00
Alexander Udalov
e22594acde
JVM IR: slightly change field renaming convention implementation
...
Prefer to rename fields from the class, not from the companion, to be
more in line with the old backend's behavior. This has no effect on the
behavior of current tests but removes differences in metadata (since
metadata has information about every property->field mapping) in some of
them
2019-04-30 13:15:29 +02:00
Alexander Udalov
6cc293a0c5
JVM IR: record FIELD_FOR_PROPERTY for property delegates
...
Delegated properties now have their $delegate fields recorded in the
metadata (in `ClassCodegen.generateField`). This part of metadata is
used by `KPropertyN.getDelegate` functions, so almost all tests on
getDelegate are now unmuted
2019-04-30 13:15:29 +02:00
Alexander Udalov
5aae832c5f
Minor, update doc on -Xsanitize-parentheses
...
The ASM issue with parentheses was fixed in
https://gitlab.ow2.org/asm/asm/commit/02f00c4a82d9252b34d08dad47c540309fda3b7e
#KT-29475
2019-04-30 13:15:29 +02:00
Alexander Udalov
bd6e90f302
FIR: remove dependency of :compiler:fir:resolve on :compiler:cli
2019-04-30 12:01:23 +02:00
pyos
c77e8a8c2d
JVM_IR: remove another redundant lowering
2019-04-30 08:20:37 +02:00
Dmitriy Dolovov
c017ef9bc8
Properly detect Kotlin/Native libraries
...
Issue #KT-30598 fixed
2019-04-30 13:05:22 +07:00