Commit Graph

76758 Commits

Author SHA1 Message Date
Mikhail Glukhikh 749346b73b [FIR] Don't report duplicated errors on default accessor error type refs 2020-08-02 18:19:45 +03:00
Mikhail Glukhikh e0d25876b0 [FIR] Don't report simple diagnostics on fake sources 2020-08-02 18:19:44 +03:00
Mikhail Glukhikh 551bdd267d [FIR] Introduce WRONG_NUMBER_OF_TYPE_ARGUMENTS diagnostic 2020-08-02 18:19:44 +03:00
Mikhail Glukhikh 0804c6a0f3 [FIR] Introduce TYPE_ARGUMENTS_NOT_ALLOWED & some other type errors
This commit introduces several different things, in particular:
- check type arguments in expressions
- new TypeArgumentList node to deal with diagnostic source
- ConeDiagnostic was moved to fir:cones
- ConeIntermediateDiagnostic to use in inference (?) without reporting
- detailed diagnostics on error type
2020-08-02 18:19:44 +03:00
Vasily Levchenko dac52df6fd [test][debugger] non debug compilation with debug static framework should contains resolvable symbols 2020-08-02 17:14:57 +02:00
Vasily Levchenko 189b547e78 [tests][debugger] more complex scenarious supported 2020-08-02 17:14:57 +02:00
Jinseong Jeon c744dfba9c FIR: distinguish anonymous object as enum entry when scoping
so that `this` reference with the enum entry name as label can be
resolved
2020-08-02 18:06:15 +03:00
Jinseong Jeon 52631b7abd FIR2IR: make local storage track scopes, including anonymous init 2020-08-02 18:05:09 +03:00
Nick 26e3a111d6 [FIR] Add diagnostics for object related problems 2020-07-31 19:34:55 +03:00
Nick 694d3cad4e [FIR] Exposed visibility checker: optimize checks for local visibility 2020-07-31 19:28:10 +03:00
Nick 60462bea1c FirEffectiveVisibilityResolver: search parent in containingDeclarations
When determining effective visibility of 'something',
we use containing declarations from the context to find 'something'
parent, to avoid calling getClassSymbolByFqName for all cases.
2020-07-31 19:28:04 +03:00
Nick 7145caca40 [FIR] Refactor effective visibility calculation
Before this commit, we had effective visibility as a part of FIR status,
so it was integrated into the full pipeline. In this commit,
we introduced "effective visibility as a service" which is now used
only by exposed visibility checker. This allows us to make the thing
universal for all FIR nodes, including nodes for Java / deserialized.
2020-07-31 19:27:58 +03:00
Steven Schäfer b15e32936e JVM IR: Optimize delegated properties (KT-36814) 2020-07-31 19:00:27 +03:00
vldf 8724efbe8a [FIR] Add empty range checker 2020-07-31 16:28:37 +03:00
vldf b10defdbab [FIR] Add redundant single string expression template checker 2020-07-31 16:28:37 +03:00
vldf 95e0ba3d5c [FIR] Add ArrayEqualityOpCanBeReplacedWithEquals checker 2020-07-31 16:28:37 +03:00
Ilmir Usmanov 4d21a496fe Minor. Update tests 2020-07-31 14:33:52 +02:00
Dmitry Petrov e11c90f26c JVM_IR: KT-40293 Box return type for DefaultImpls methods if required 2020-07-31 14:48:12 +03:00
Ilya Chernikov 034d5a948c Add JvmDefault to the new EP method for compatibility with older impls 2020-07-31 12:07:10 +02:00
LepilkinaElena ddc9428d4f Added extra GC call before analyzing subgraph during freeze operation… (#4314) 2020-07-31 09:50:37 +03:00
Ilmir Usmanov fa8c6deb18 Support restricted suspend lambdas in JVM_IR
#KT-40135 Fixed
2020-07-30 20:40:37 +02:00
Ilmir Usmanov 2c205410fa Check whether the field is indeed being initialized
in checkFieldInExactlyOnceLambdaInitialization
 #KT-40691 Fixed
2020-07-30 19:04:54 +02:00
Nikolay Krasko d8b76f5b26 Register additional repository id 2020-07-30 19:33:58 +03:00
Vladimir Ilmov 7eca13569b (CoroutineDebugger) Enable agent for versions 1.3.8.*
Gradle artifact name gets changed from 'kotlinx-coroutines-core' to
'kotlinx-coroutines-core-jvm'. So it should support both.
2020-07-30 17:54:35 +02:00
Toshiaki Kameyama c91858d470 Convert member to extension: do not suggest for delegated properties
#KT-35128 Fixed
2020-07-30 17:32:31 +03:00
Pavel Punegov e675ea67d8 Fix dependencies and tests for Konan gradle plugin 2020-07-30 13:36:40 +03:00
Pavel Punegov b114ccc591 Use konan.home to specify dist directory 2020-07-30 13:36:23 +03:00
Dmitry Petrov 46fccae7d1 PSI2IR: KT-40499 Fix delegated property desugaring
No type arguments were provided for property reference inside delegated
property accessors.
2020-07-30 13:18:36 +03:00
Jinseong Jeon bff36e0199 FIR2IR: convert annotations on FirTypeRef 2020-07-30 11:25:36 +03:00
Georgy Bronnikov 4ca98041cd IR: update test data 2020-07-30 11:24:08 +03:00
Georgy Bronnikov a27d63f58f JVM_IR: flexible nullability as annotation
We carry information about flexible nullability of IrType as an
annotation, so there is no need to look at its underlying KotlinType.
2020-07-30 11:24:07 +03:00
Georgy Bronnikov a2e9521ad5 Make DescriptorlessExternalPackageFragmentSymbol public 2020-07-30 11:24:07 +03:00
Georgy Bronnikov c2ead0303b IR: remove more descriptor usage 2020-07-30 11:24:07 +03:00
Sergey Bogolepov 8af5d99197 Bump kotlinx-metadata-klib version
New version contains fixes that allow to drop uniqid.
2020-07-30 12:20:50 +07:00
Sergey Bogolepov 18abebe387 [Interop][Metadata] Do not emit UniqId
We don't need to emit UniqId on cinterop side anymore because IR linker computes IdSignature (which supersedes UniId) by itself when resolves interop descriptor (dde5eced87).
2020-07-30 12:20:50 +07:00
Vasily Levchenko d13bcef4f2 [test][dwarfdump] todo 2020-07-30 07:12:28 +02:00
Vasily Levchenko 374a759f0c [test][dwarfdump] add method to lookup by symbol name 2020-07-30 07:12:28 +02:00
Vasily Levchenko 930ad51fae [test][dwarfdump] drop ignore annotation 2020-07-30 07:12:28 +02:00
Vasily Levchenko 28c2d3c29d [codegenerator] wrap local function generation in original lambda's file scope 2020-07-30 07:12:28 +02:00
Vasily Levchenko 537b545d56 [test][dwarfdump][g/c] test refactoring 2020-07-30 07:12:28 +02:00
Sergey Bogolepov d05f200726 [Interop][Tests] Setter for global of const type 2020-07-30 10:26:13 +07:00
Sergey Bogolepov 52988b5551 [Interop][Tests] Check function flags 2020-07-30 10:26:13 +07:00
Sergey Bogolepov 6efc488084 [Metadata][Interop] Fix KT-39762
Do not omit declaration that we couldn't import. Mark in as deprecated instead.
2020-07-30 10:26:13 +07:00
Sergey Bogolepov e93c623c40 [Tests][Interop] Add test for unsupported declarations 2020-07-30 10:26:13 +07:00
Sergey Bogolepov a7e3c5ca2a [KT-40508] Respect libraryPaths in metadata interop 2020-07-30 10:23:20 +07:00
Alexander Gorshenev 9a717e9ecf Don't copy default value parameters for fake overrides 2020-07-29 22:15:10 +03:00
Mark Punzalan 2cfd776092 ForLoopsLowering: Assume step == 1 for *Range (e.g., IntRange) and
handle accordingly (e.g., do not read `step` property).
2020-07-29 20:44:51 +02:00
Dmitry Petrov 09e47fff7b Fix KotlinGradleIT.testCustomCompilerFile
Referencing org.jetbrains.annotations.{Nullable, NotNull} classes in
static initializer causes ClassNotFoundError in testCustomCompilerFile.
2020-07-29 20:33:17 +03:00
Dmitry Petrov dae358c792 JVM: KT-40664 disable optimization for 'ULong in range of UInt' case 2020-07-29 20:33:17 +03:00
Dmitry Petrov f2493d0950 JVM: KT-40665 more exact check for intrinsified range 'contains' 2020-07-29 20:33:17 +03:00