Mikhail Glukhikh
30fa0230ec
FIR: rename ANNOTATION_FOR_PLUGINS into COMPILER_REQUIRED_ANNOTATIONS
2022-03-10 20:42:40 +00:00
Mikhail Glukhikh
f32cdef760
FirCompanionGenerationProcessor: optimize a bit
2022-03-10 20:42:40 +00:00
Mikhail Glukhikh
9aaf7b7d24
FIR: drop pluginPhase special parameter
2022-03-10 20:42:40 +00:00
Simon Ogorodnik
d054976389
FIR. Add visibility/deprecation filtering to getFirstClassifierOrNull
2022-03-10 20:42:39 +00:00
Simon Ogorodnik
4ba5a55626
FIR. Add visibility/deprecation filtering to type resolve
2022-03-10 20:42:39 +00:00
Simon Ogorodnik
f5b49e48ad
FIR. Remove visibility filtering from importing scopes
2022-03-10 20:42:38 +00:00
Simon Ogorodnik
ec3e2f7b99
FIR. Shadow classifiers from super-type scopes
2022-03-10 20:42:38 +00:00
Simon Ogorodnik
5ea1c246d7
FIR. Get rid of kotlin.Throws prioritization hack
2022-03-10 20:42:38 +00:00
Mikhail Glukhikh
779aa75855
Make FE1.0/FIR OptIn override message more clear
2022-03-10 09:09:51 +00:00
Mikhail Glukhikh
d823020c07
Make FIR/FE1.0 report similar OptIn messages
2022-03-10 09:09:50 +00:00
Mikhail Glukhikh
b42c236fb3
Replace blank messages in OptIn diagnostics #KT-51358 Fixed
2022-03-10 09:09:50 +00:00
Mikhail Glukhikh
4178c8156a
Fix NPE in KtSourceElement.elementType #KT-44152 Fixed
2022-03-10 09:01:58 +00:00
Mikhail Glukhikh
8c7a8edb75
Minor: add diag.txt file for label clashes diagnostic tests
2022-03-09 15:19:28 +00:00
Mikhail Glukhikh
d30536addc
Minor: explicitly use LinkedHashSet in LabelResolver
2022-03-09 15:19:27 +00:00
Mikhail Glukhikh
14eec6cfc0
FE 1.0: implement typed this label resolve warning for KT-51433
...
#KT-51433 Fixed
2022-03-09 15:19:27 +00:00
Mikhail Glukhikh
b5e2c492c6
FE 1.0: implement initial label resolve warning for KT-51433
2022-03-09 15:19:26 +00:00
Mikhail Glukhikh
31b234a261
Code cleanup: LabelResolver
2022-03-09 15:19:26 +00:00
Alexander Udalov
1e26888dd9
Psi2ir: fix parameter indices when generating extension invoke call
...
Incorrect `valueParameter` was passed to `generateValueArgument`, which
resulted in incorrect type being considered for generating suspend
conversion.
#KT-50949 Fixed
2022-03-09 15:19:38 +01:00
Alexander Udalov
f7f64be269
Remove unneeded .txt dumps in codegen box tests
...
These are only used in diagnostic tests, and for codegen tests they are
basically useless.
2022-03-08 14:19:37 +01:00
Alexander Udalov
328853dffe
Add tests for obsolete issues
...
(Test for KT-37331 is added to multiplatform/defaultArguments/suspend.kt.)
#KT-30080
#KT-33641
#KT-36237
#KT-36952
#KT-37331
#KT-38920
#KT-39256
#KT-42415
#KT-44636
#KT-45704
#KT-47084
#KT-47894
2022-03-08 14:19:37 +01:00
Nikita Bobko
f0290d8c98
Freezable: fix binary compatibility
...
Intellij API Compatibility Check reports that compatibility was broken
for IJ Bazel plugin. This commit fixes this problem.
Binary compatibility was broken in
705a2881fab109ab7d3e365255d01e0491b17d6d.
Ideally, I'd rename extension functions to names other than "frozen" and
"unfrozen" because this would allow keeping source compatibility for
Java clients as well. But the new extension functions API has been
already released in EAP versions of IDEA, and I don't want change the
API back and forth for clients that already migrated to the new API. I
wish I knew earlier that this API is used by external plugins
2022-03-08 11:53:43 +00:00
Hung Nguyen
aaef41cf64
KT-45777: Clean up handling around LookupSymbols and ProgramSymbols
...
Make it clearer and more efficient.
^KT-45777 In Progress
2022-03-07 19:05:09 +03:00
Dmitry Petrov
78be4f302a
JVM prune exception edges in inliner-specific DFA
2022-03-04 06:00:21 +00:00
Ilmir Usmanov
254ada88d1
Minor. Add test with inline class inside inline class's init block
2022-03-04 05:23:23 +03:00
Ilmir Usmanov
f89588011e
Make FunctionalArgumentInterpreter stateless
...
So, we can use fast basic interpreter.
2022-03-03 17:32:16 +03:00
Mikhail Glukhikh
eb42a01926
Inject languageVersionSettings into VarianceChecker
2022-03-03 12:57:05 +00:00
Mikhail Glukhikh
ebed224f82
FE 1.0: use TYPE_VARIANCE_CONFLICT deprecation factory
2022-03-03 12:57:04 +00:00
Mikhail Glukhikh
7781413a93
FE 1.0: report TYPE_VARIANCE_CONFLICT also on qualifier type arguments
...
#KT-51439 Fixed
2022-03-03 12:57:04 +00:00
Dmitry Petrov
fdb01d96f0
JVM_IR JavaSamConversionEqualsHashCode
2022-03-03 09:01:42 +00:00
Dmitry Petrov
8576265108
Enable KotlinFunInterfaceConstructorReference in LV 1.7
2022-03-02 13:12:08 +03:00
Artem Kobzar
ac542d4c01
feat(JS/IR isInterfaceImpl perf): improve isInterfaceImpl performance by memoize an result.
2022-02-28 20:28:10 +00:00
Yahor Berdnikau
cb474f9b43
Remove 'jdkHome' option from Gradle options
...
Toolchain feature is replaced it.
^KT-46541 Fixed
2022-02-28 10:08:50 +00:00
Dmitriy Novozhilov
4022918ea2
[FIR2IR] Properly generate arguments for annotation constructors calls in default values of annotation constructors
2022-02-28 11:42:35 +03:00
Dmitriy Novozhilov
18fc2802e5
[FIR] Make FirTypeParameter.containingDeclarationSymbol not null
...
Also fix initializing this property in all places
2022-02-28 11:42:34 +03:00
Dmitriy Novozhilov
35a2a6bcec
[FIR] Store containingDeclarationSymbol for type parameters of substitution overrides
2022-02-28 11:42:33 +03:00
Alexander Udalov
157db778fd
Rework support of Iterator.iterator optimization in ForLoopsLowering
...
- Fix the predicate used for finding the member function `next`: check
that there's no extension receiver parameter, don't filter out
abstract functions.
- Do not copy iterator expression, instead change the type in all
references to the iterator variable.
- Fix some style issues.
#KT-47171 Fixed
2022-02-28 01:39:31 +01:00
Xin Wang
1b776bd5b6
JVM_IR: Specialize iterator if possible
...
fixes KT-47171
2022-02-28 01:39:31 +01:00
Roman Golyshev
fed08aaff5
FIR IDE: Consider COMPANION_GENERATION phase in lazy resolve
2022-02-25 23:08:26 +03:00
Roman Golyshev
ffcbc583d0
FIR: Split EnvironmentConfigurator to an interface and abstract class
...
It is needed to make it easier to write wrappers for configurators
2022-02-25 23:08:26 +03:00
Roman Golyshev
f700b87f6c
FIR: Prevent registering compiler plugins twice
2022-02-25 23:08:25 +03:00
Roman Golyshev
765af5f18a
FIR IDE: Register plugins-related session components in IDE session
...
Move registering CLI-specific plugin-related components to
`registerCliCompilerOnlyComponents`
2022-02-25 23:08:25 +03:00
Roman Golyshev
029331c23b
FIR: Introduce AbstractFirRegisteredPluginAnnotations
...
It will be needed to implement an alternative implementation of this
service
2022-02-25 23:08:25 +03:00
Ilya Kirillov
4a5aee688e
FIR LC: fix invalid type param upper bound
2022-02-25 14:06:05 +01:00
Ivan Kochurkin
c03886ecda
Move IgnoreNullabilityForErasedValueParameters to 1.8
2022-02-25 11:46:27 +00:00
Mikhail Glukhikh
53d6ac24e5
Switch kotlin version to 1.7
...
* Change 1.6 to 1.7 constants
* Fix SAFE_CALL_WILL_CHANGE_NULLABILITY for testData
* Change EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_WARNING to EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_ERROR
* Change NON_EXHAUSTIVE_WHEN_STATEMENT to NO_ELSE_IN_WHEN
* Fix testData for SafeCallsAreAlwaysNullable
* Change T -> T & Any in test dumps
* Change INVALID_CHARACTERS_NATIVE_WARNING -> INVALID_CHARACTERS_NATIVE_ERROR
* TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_WARNING -> TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_ERROR
2022-02-25 11:46:27 +00:00
Dmitry Petrov
a1db077af9
JVM_IR KT-51458 fix DNN types handling in JvmStringConcatenationLowering
2022-02-25 10:09:14 +03:00
Igor Yakovlev
f0f94623f4
[WASM] Implement data class hashCode and toString for arrays
2022-02-24 20:15:15 +03:00
Jinseong Jeon
1b6ded6005
FIR/LC: create synthetic members of enum class
...
^KTIJ-17414 In Progress
^KTIJ-17444 In Progress
2022-02-24 17:51:50 +01:00
Jinseong Jeon
790f2d13ae
RAW FIR: record non-null value parameter of Enum#valueOf upfront
2022-02-24 17:51:50 +01:00
Jinseong Jeon
476e65f934
Utilize MemberScope.findFirstFunction with name and predicate
2022-02-24 17:51:49 +01:00