Commit Graph

26826 Commits

Author SHA1 Message Date
Ilya Kirillov 42f0536904 FIR IDE: move analysis api fir testdata to the analysis directory 2021-09-15 11:32:43 +02:00
Ilya Kirillov 4d52b354af FIR IDE: move analysis api fir generator to the analysis directory 2021-09-15 11:32:33 +02:00
Ilya Kirillov b43e664985 FIR IDE: move analysis api fir test sources to the analysis directory 2021-09-15 11:32:32 +02:00
Ilya Kirillov 5e9f807c78 FIR IDE: move analysis api fir main sources to the analysis directory 2021-09-15 11:32:30 +02:00
Ilya Kirillov 989f3248e4 FIR IDE: move low level api testdata sources to the analysis directory 2021-09-15 11:32:28 +02:00
Ilya Kirillov 633b0fa612 FIR IDE: move low level api test sources to the analysis directory 2021-09-15 11:32:25 +02:00
Ilya Kirillov b70f4f581e FIR IDE: move low level api main sources to the analysis directory 2021-09-15 11:32:22 +02:00
Ilya Kirillov 0c04ff98c3 FIR IDE: move analysis api to the analysis directory 2021-09-15 11:31:30 +02:00
Tianyu Geng dfc36ec614 FIR checker: ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_(ANNOTATION|FUNCTION) 2021-09-15 12:11:41 +03:00
Tianyu Geng 8525b4932b FIR Checker: check tailrec
Difference from FE1.0
* KT-4285: calls to virtual method with default argument should be
  reported as not tailrec. FE1.0 is missing such cases.
* KT-48600: calls inside lambda should be reported as not tailrec. FE1.0
  also misses such cases.
2021-09-14 23:48:50 +03:00
Denis.Zharkov 9575d4d242 FIR: Rework qualifier-in-expression resolution
Get rid of stateful FirQualifiedNameResolver
Resolve a.b.c-like calls step-by-step using just recursion

^KT-48363 Fixed
2021-09-14 19:13:38 +03:00
Denis.Zharkov 69f7c2278d FIR: Simplify resolution for qualifier receiver
Seems there's no need anymore in ClassifierPrioritized group
2021-09-14 19:13:36 +03:00
pyos 032cf5a892 FIR: JavaSymbolProviderWrapper -> JavaSymbolProvider 2021-09-14 19:00:47 +03:00
pyos 3a80cb1808 FIR: hide construction of JavaSymbolProvider 2021-09-14 19:00:45 +03:00
pyos 8ff79e002e FIR: load parents of Java inner classes first, as before 2021-09-14 19:00:44 +03:00
pyos cac0cf6a50 FIR: join KotlinDeserializedJvmSymbolsProvider and JavaSymbolProvider
This allows reusing class finder results.
2021-09-14 19:00:43 +03:00
Nikolay Lunyak 0181c80ddb [FIX] Add some more tests 2021-09-14 18:42:27 +03:00
Roman Golyshev 3c69a5efc8 [FIR IDE] Handle FirBackingField in buildVariableLikeSymbol
Do a small refactoring of `buildBackingFieldSymbol`
2021-09-13 21:58:01 +03:00
Ivan Kochurkin a816bd9a33 [FIR] Add JVM_INLINE_WITHOUT_VALUE_CLASS, VALUE_CLASS_WITHOUT_JVM_INLINE_ANNOTATION 2021-09-13 20:49:00 +03:00
Ivan Kochurkin 7e7066d75e [FIR] Add FUNCTION_DELEGATE_MEMBER_NAME_CLASH 2021-09-13 20:48:59 +03:00
Ivan Kochurkin a5caa14255 [FIR] Add SPREAD_ON_SIGNATURE_POLYMORPHIC_CALL 2021-09-13 20:48:59 +03:00
Ivan Kochurkin 5760a94ab4 [FIR] Add CONCURRENT_HASH_MAP_CONTAINS_OPERATOR 2021-09-13 20:48:58 +03:00
Ivan Kochurkin 0ffd6ccb34 [FIR] Add SUSPENSION_POINT_INSIDE_CRITICAL_SECTION 2021-09-13 20:48:57 +03:00
Ivan Kochurkin e97933a9e5 [FIR] Add POSITIONED_VALUE_ARGUMENT_FOR_JAVA_ANNOTATION 2021-09-13 20:48:55 +03:00
Ivan Kochurkin dd46c36b24 [FIR] Add SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC 2021-09-13 20:48:54 +03:00
Jinseong Jeon cabc47516a FIR IDE: check backing field with BODY_RESOLVE 2021-09-13 19:12:35 +02:00
Mark Punzalan f4c5f02bfe HL API: Use array element type as type of vararg KtValueParameterSymbol. 2021-09-13 19:12:34 +02:00
Igor Yakovlev b948ef4bd6 [FIR IDE] Resolve tree builder 2021-09-13 17:32:32 +03:00
Ivan Kochurkin 07edb15138 [FIR] Expand typealias for correct approximation of types (particularly Int and Long) 2021-09-13 14:28:26 +00:00
Dmitriy Novozhilov 81790fee9b [FIR IDE] Add @TestDataFile to AbstractLowLevelApiTest
This is needed to correct work of `Go to testdata` action
2021-09-13 13:53:14 +03:00
Dmitriy Novozhilov 5769d42248 [FIR] Fix all usages of annotations due to new FirAnnotation hierarchy 2021-09-13 13:53:12 +03:00
Dmitriy Novozhilov 4b662a42a1 [FIR] Rename FirAnnotationCall to FirAnnotation 2021-09-13 13:53:09 +03:00
Dmitriy Novozhilov 8904d6fde9 [FIR] Remove BodyBuildingMode.STUBS from RawFirBuilder 2021-09-13 13:53:07 +03:00
Dmitriy Novozhilov 7a7672b0de [FE 1.0] Fix reporting of non exhaustive when statement for whens with subject
^KT-48653 Fixed
2021-09-12 16:04:18 +03:00
Nikolay Lunyak f6ae6af741 [FIR] Add test data 2021-09-11 22:05:43 +03:00
Nikolay Lunyak 4e56ba2fa4 [FIR] Forbid backing fields for delegated properties 2021-09-11 22:05:43 +03:00
Nikolay Lunyak 6b532ccd0d [FIR] Allow lateinit FirBackingField's 2021-09-11 22:05:41 +03:00
Nikolay Lunyak 3a3ef161d1 [FIR] Add a REDUNDANT_EXPLICIT_BACKING_FIELD warning 2021-09-11 22:05:40 +03:00
Nikolay Lunyak 2aafe84eef [FIR] Forbid explicit backing fields in extension properties 2021-09-11 22:05:39 +03:00
Nikolay Lunyak 56b2a984ce [FIR] Quick fix FirModifierChecker 2021-09-11 22:05:35 +03:00
Nikolay Lunyak 25124cca3d [FIR] Add an interface/abstract checker for the backing field 2021-09-11 22:05:35 +03:00
Nikolay Lunyak aefd6c30ad [FIR] Merge FirPropertyFieldDeclarationSymbol into FirBackingFieldSymbol 2021-09-11 22:05:34 +03:00
Nikolay Lunyak 47abdf2de1 [FIR] Add a modifiers diagnostic for the backing field 2021-09-11 22:05:33 +03:00
Nikolay Lunyak d4d43b9907 [FIR] Add type-related diagnostics for the backing field 2021-09-11 22:05:32 +03:00
Roman Golyshev e34b64d6f2 [FIR IDE] Make KtFirImportOptimizer more robust to reference errors 2021-09-11 14:57:01 +03:00
Mikhail Glukhikh 3febabe977 Use OPT_IN instead of EXPERIMENTAL in diagnostic names 2021-09-10 16:29:13 +03:00
Tianyu Geng 05fbed68e2 FIR checker: report PROPERTY_AS_OPERATOR 2021-09-10 07:07:43 +03:00
Tianyu Geng 4915d8dda3 FIR checker: support DUPLICATE_LABEL_IN_WHEN
Changes from FE1.0:
1. As discussed previously, no expression evaluation happens during this
check.
2. FE1.0 doesn't check redundant object comparisons.
2021-09-10 07:07:42 +03:00
Ivan Kochurkin 7c6326856b [FIR] Use toFirRegularClassSymbol instead of toFirRegular in checkers 2021-09-10 00:49:11 +03:00
Ivan Kochurkin ee37768808 [FIR] Rename getClassLikeSymbolFqName to getClassLikeSymbolByClassId 2021-09-10 00:49:10 +03:00