Commit Graph

61958 Commits

Author SHA1 Message Date
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
Yan Zhulanow be99f44c4f EA-209623: Check library disposed state 2020-02-14 17:35:18 +09:00
Yan Zhulanow eb3685d6ac EA-218902: Check PsiElement for validity 2020-02-14 17:35:17 +09:00
Yan Zhulanow 615d24bbd2 Minor: Rename KotlinStepOverInlineFilter to KotlinStepOverFilter 2020-02-14 17:35:17 +09:00
Yan Zhulanow f4337eede1 Debugger, BE: Support lambda breakpoints for lambdas passed to '@InlineOnly' functions 2020-02-14 17:35:17 +09:00