Roman Artemev
a411549e38
[KLIB] Fix zipped layout
2020-02-14 18:22:16 +03:00
Roman Artemev
5004bb3636
[Psi2Ir] Fix generation of hashcode for generic inline class
2020-02-14 18:22:16 +03:00
Roman Artemev
6a37955a36
[KLIB] Implement new linker based on IdSignature
...
- Remove klib dependency on metadata and uniqID
- Refactored proto format to make it more effective and compact
-- Use special encoding for some types of data (coordinates, flags, types)
-- Remove symbols table
-- Use packed proto list if it is possible
- Remove extension from metadata
- Remove special ids for function interfaces
- Fix klib IO
- Fix incremental cache
- General code clean up
2020-02-14 18:22:16 +03:00
Roman Artemev
31d73c5d79
[Psi2Ir] Move to new linkage scheme based on IdSignature
...
Now SymbolTable operates with two types of symbols (public and private)
In case of Public symbol IdSignature is used as table key
Private one uses descriptor as the key in similar scheme as before
2020-02-14 18:22:16 +03:00
Roman Artemev
df7b7cf61a
[K/N] Provide original class id for forward-declared declarataion
2020-02-14 18:22:15 +03:00
Roman Artemev
e81a7f10c1
[KLIB] Implement special encoding for Klib data
2020-02-14 18:22:15 +03:00
Roman Artemev
7688197841
[JS IR] Fix access to coroutine empty context for suspend main
2020-02-14 18:22:15 +03:00
Roman Artemev
cef9ed1dae
[IR] Implement new IrSymbol API
...
- Add predicate whether symbol is PublicAPI
- Split symbols into 2 types (Public/Private)
- Fix special implementations
2020-02-14 18:22:15 +03:00
Roman Artemev
bb04eae93e
[IR] Implement IdSignature API
...
- Basic implementation of IdSignature classes and interafces
- Abstract and platform Ir/Descriptor based signature builders
2020-02-14 18:22:15 +03:00
Roman Artemev
45f036548b
[Psi2Ir] Make IrEnumEntry corresponding class always privite
2020-02-14 18:22:15 +03:00
Roman Artemev
d51b14fe3c
[IR] Fix classic mangler expect checker
2020-02-14 18:22:15 +03:00
Roman Artemev
0254734bb5
[IR] Refactored Kotlin Mangler API
...
- Implement abstract Ir-based, Descriptor-based
mangler computers and export checkers and corresponding platform
specializations
- Add runtime verifier which check whether all types of mangler
produces the same type of data
Note: code migration is not finished yet
2020-02-14 18:22:15 +03:00
Pavel Kirpichenkov
ba25b0faaf
[NI] Report unsafe invoke properly for flexible types
...
`isNullable` check returns `true` for flexible types,
which leads to false positive unsafe invoke error, when
receiver for invoke's property is flexible.
^KT-30695 Fixed
2020-02-14 18:06:35 +03:00
Pavel Kirpichenkov
b161839092
[NI] Report unsafe implicit invoke accordingly to OI
...
This reverts commit df046683cc .
KT-30695
2020-02-14 18:06:34 +03:00
Dmitriy Novozhilov
1a2d28d25b
[FIR-TEST] Add test with callable reference on function with default argument
2020-02-14 17:53:29 +03:00
Dmitriy Novozhilov
3790f31d80
[FIR] Support FirVarargArgumentsExpression in html dump
2020-02-14 17:53:29 +03:00
Dmitriy Novozhilov
e696d1d06a
[FIR] Improve mapping arguments to parameters
2020-02-14 17:53:28 +03:00
Vladimir Dolzhenko
2e597a3a32
Use new annotation highlighting API
...
Fixed #KT-36712
2020-02-14 15:42:45 +01:00
Mikhail Glukhikh
2a55560f3b
[FIR TEST] Add test on qualifier resolve priority (corner case)
2020-02-14 17:38:37 +03:00
Mikhail Glukhikh
abfe566255
[FIR] Add object support as implicit invoke receiver
2020-02-14 17:38:31 +03:00
Mikhail Glukhikh
a8a696c7e1
[FIR TEST] Extend test on invoke priorities
2020-02-14 17:38:25 +03:00
Georgy Bronnikov
79060e7f40
IR: handle conflicts in resolveFakeOverride()
2020-02-14 17:20:34 +03:00
Georgy Bronnikov
c71e87068a
JVM_IR: in InheritedDefaultMethodsOnClassesLowering, skip bridges when resolving overrides
2020-02-14 17:20:34 +03:00
Svyatoslav Scherbina
829e5908d0
Allow Native @Throws on override when the same list is specified
2020-02-14 17:10:58 +03:00
Shagen Ogandzhanian
3fcdf6c78c
Update dukat dependency to 0.0.28
2020-02-14 15:00:29 +01:00
Ilya Goncharov
64f13ab3ae
[Gradle, JS] Migrate on strings
2020-02-14 16:36:49 +03:00
Ilya Goncharov
9b462b76d4
[Gradle, JS] Add all possible values of library target as enums
2020-02-14 16:36:49 +03:00
Ilya Goncharov
fbabbfab44
[Gradle, JS] Add webpack output
2020-02-14 16:36:49 +03:00
Natalia Selezneva
dc77df1083
GradleScriptInputsWatcher: move long running operation out of EDT
...
^KT-36502
2020-02-14 16:18:35 +03:00
Mikhail Zarechenskiy
2d15914d20
Enable new inference in IDE by default
2020-02-14 14:37:23 +03:00
Leonid Startsev
bdf1441c80
Remove special casing for Unit in kotlinx.serialization
...
Unignore test since it is in muted list and auto-generated
2020-02-14 14:28:51 +03:00
Dmitry Petrov
59cdf3c52e
Update bytecode text tests in JVM_IR
2020-02-14 14:07:03 +03:00
Ilya Chernikov
db91b520a5
[minor] Fix test source - avoid warning about uused main args
2020-02-14 11:41:30 +01:00
Ilya Chernikov
6356807997
Reapply "Only create descriptors for candidates with lambda args"
...
#KT-36247 fixed
A lot of testdata changed because significanly less (error) descriptors
are created for unresolved types, so diagnostics became different.
2020-02-14 11:41:30 +01:00
Dmitry Gridin
238bfe3771
Fix compilation
2020-02-14 12:05:14 +03:00
Yan Zhulanow
1c945430bc
Fix class loading deadlock in Error diagnostic classes
...
Because of non-trivial initialization logic, Errors/ErrorsJvm/etc.
are prone to class loading issues. This commit prevents them by
preloading all error on plugin initialization step.
2020-02-14 17:35:19 +09:00
Yan Zhulanow
2f34bc88dc
Debugger: Add test for KT-14869
2020-02-14 17:35:19 +09:00
Yan Zhulanow
ea7ffa70b3
Debugger: Add test for KT-34905
2020-02-14 17:35:19 +09:00
Yan Zhulanow
6690f946d6
Debugger: Add test for KT-14296
2020-02-14 17:35:19 +09:00
Yan Zhulanow
6f425ee951
Debugger: Add test for KT-15652
2020-02-14 17:35:18 +09:00
Yan Zhulanow
dd33640238
Debugger: Skip inlined library frames on step over (KT-12016)
2020-02-14 17:35:18 +09:00
Yan Zhulanow
7490c229ac
EA-219152 (partially): Support KClass 'unboxing' in debugger
...
KClass can be 'unboxed' to a plain Java class. Debugger should be aware of this.
Unfortunately, this commit is not enough to fully support this scenario, as it's impossible to invoke KClass methods/extension on java.lang.Class instance. There should be an additional diagnostic that will forbid such calls.
2020-02-14 17:35:18 +09:00
Yan Zhulanow
a7071344f5
EA-219152 (partially): Provide correct PropertyDescriptor for _field
2020-02-14 17:35:18 +09:00
Yan Zhulanow
9c889aab17
EA-213309: Eliminate "Invalid method id" exception
2020-02-14 17:35:18 +09:00
Yan Zhulanow
f6b62f2299
Minor: extract wrapEvaluateException()
2020-02-14 17:35:18 +09:00
Yan Zhulanow
3027fab238
EA-218160: Force-box only assignment l-values
2020-02-14 17:35:18 +09:00
Yan Zhulanow
d539a870ed
EA-214668, EA-209980: Use StackFrameProxyImpl with safe implementation of thisObject()
2020-02-14 17:35:18 +09:00
Yan Zhulanow
fabbfdc7f8
EA-214654: Add missing read action
2020-02-14 17:35:18 +09:00
Yan Zhulanow
dc71ab5bb3
EA-211010: Fix receiver parameter name for lambdas passed as value arguments
2020-02-14 17:35:18 +09:00
Yan Zhulanow
b1414fa477
EA-214662: Support property accessors in UastLightIdentifier
2020-02-14 17:35:18 +09:00