Alexander Udalov
96f0b53761
IR: get overridden directly from IrProperty when resolving fake override
...
The previous way of getting them either via getter or setter failed on
Java properties which only have a backing field. Now that IrProperty has
overriddenSymbols (after 53c1de172f ), it makes sense to use it directly
instead. Use it only in SyntheticAccessorLowering though to avoid
breaking Kotlin/Native (see KT-47019).
#KT-46900 Fixed
2021-05-28 17:24:20 +02:00
Mark Punzalan
af35892007
FIR IDE: Enable RemoveUselessIsCheckFix and
...
RemoveUselessIsCheckFixForWhen.
2021-05-28 18:21:32 +03:00
Mark Punzalan
639b7537da
FIR IDE: Enable RemoveUselessCastFix.
2021-05-28 18:21:31 +03:00
Pavel Kirpichenkov
f5a53c82c5
Don't write type arguments of types replaced with Any to metadata
...
Anonymous types are not approximated by frontend for private declarations.
Class IDs for such types are replaced by StringTable before being written
to metadata. JVM string table mangles such types and keeps them generic
for reflection. For other purposes the types are replaced with `Any`.
Type arguments of the replaced type should be ignored in the latter case.
Otherwise decompiled text builder crashes on an attempt to restore `Any`
type with non-zero number of type arguments.
The code pretending to replace a type with its first supertype was dropped
from ApproximatingStringTable for two reasons:
- the first type from `getAllSuperClassifiers` is the original type itself
which doens't provide a ClassId for anonymous type, so it was a noop
- tracking potential type arguments of the first anonymous type's supertype
would be a complication with almost no practical value (types in decompiled
text would be slightly closer to the real type of a private declaration).
^KT-46393 Fixed
2021-05-28 14:42:47 +00:00
sebastian.sellmair
fefc6f9b53
[Gradle] :kotlin-test-js-runner: Update nodejs to 16.2.0
...
^KT-45302
2021-05-28 14:27:36 +00:00
sebastian.sellmair
d3b1ee42be
[Gradle] Test project 'commonizeHierarchically': Use new 'macos' target shortcut
...
^KT-45302
2021-05-28 14:27:36 +00:00
sebastian.sellmair
cc571a876a
[Gradle] Implement AppleSiliconIT
...
^KT-45302
2021-05-28 14:27:35 +00:00
sebastian.sellmair
242d79ded6
[Gradle] :kotlin-gradle-plugin-integration-tests: Include Commonizer tests into 'native' tests
...
^KT-45302
2021-05-28 14:27:34 +00:00
sebastian.sellmair
b9018e8888
[Gradle] :kotlin-gradle-plugin-integration-tests: Add 'includeTestsWithPattern' util function
...
^KT-45302
2021-05-28 14:27:33 +00:00
sebastian.sellmair
5dcaaf47cb
[Gradle] Support for Apple Silicon targets
...
^KT-45302 Verification Pending
2021-05-28 14:27:32 +00:00
Alexander Udalov
91e47f1fd7
Remove obsolete kotlin.build.useIR flag
2021-05-28 15:41:57 +02:00
Alexander Udalov
15e978dbd3
Enable JVM IR for stdlib/reflect/test libraries
2021-05-28 15:41:56 +02:00
Alexander Udalov
1dfcec3a93
Build: add temporary option to suppress jdkHome warning
2021-05-28 15:41:17 +02:00
Victor Petukhov
aaffd73feb
Take into account FE exceptions built as FromFrontendHandler to proper mute corresponding tests for DiagnosisCompilerTestFE10TestdataTestGenerated
2021-05-28 15:48:59 +03:00
Victor Petukhov
54b9f39b3a
Update tests after rebase
2021-05-28 15:36:24 +03:00
Victor Petukhov
f4788b479c
Fix incorrect builder inference usage
2021-05-28 15:36:23 +03:00
Victor Petukhov
76c15e4444
Don't update null recorded type prematurely in ResolvedAtomCompleter
2021-05-28 15:36:23 +03:00
Victor Petukhov
bd7fb56a24
Fix builder inference tests
2021-05-28 15:36:23 +03:00
Victor Petukhov
4a767c597e
Don't report the same diagnsotics several times
2021-05-28 15:36:23 +03:00
Victor Petukhov
e942052eb6
Substitute stub type variables in local variable descriptors
2021-05-28 15:36:22 +03:00
Victor Petukhov
758eb8f851
Fix builder inference tests
2021-05-28 15:36:22 +03:00
Victor Petukhov
be22078bd1
Return empty NotFixedToInferredTypesSubstitutor if the current substitutor is empty
2021-05-28 15:36:22 +03:00
Victor Petukhov
d8c68aacdd
Split setting substitutor descriptor for entire resolved call into two parts: setting resulting substitutor and setting substitutor for resolved call's types
2021-05-28 15:36:22 +03:00
Victor Petukhov
fd5169186e
Update test for the builder inference and add new ones
2021-05-28 15:36:21 +03:00
Victor Petukhov
31ed1ad5d9
Use recorded into descriptor inferred callable reference input/output types, to prevent leaking raw type parameter's types of reflectionCandidateType into the back-end
2021-05-28 15:36:21 +03:00
Victor Petukhov
84bd580f92
Complete block expressions to substitute stub type variables into last callable references there
2021-05-28 15:36:21 +03:00
Victor Petukhov
472ab09511
Do stub types substitution for property initializer's type
2021-05-28 15:36:20 +03:00
Victor Petukhov
ac222fdb41
Update type for both version of expression: parenthesis and not
2021-05-28 15:36:20 +03:00
Victor Petukhov
c0ad1c9b18
Do substitution of stub types inside smartcast types to further write it into trace and prevent dealing with that in the back-end
2021-05-28 15:36:20 +03:00
Victor Petukhov
26cbb020db
Use resulting descriptor for old callable references to substitute stub type variables
2021-05-28 15:36:20 +03:00
Victor Petukhov
3ff22b67f7
Substitute type arguments of old callable references as well
2021-05-28 15:36:20 +03:00
Victor Petukhov
d5be258291
Do substitution for receivers of old (by passing though OI) callable references properly, with avoiding premature returning from the method
2021-05-28 15:36:19 +03:00
Victor Petukhov
9fd1cbd2e7
Inject stub type variables of a different builder inference call properly
2021-05-28 15:36:19 +03:00
Victor Petukhov
d486f7e188
Don't report TYPE_INFERENCE_POSTPONED_VARIABLE_IN_RECEIVER_TYPE if unrestricted build inference was enabled
2021-05-28 15:36:19 +03:00
Victor Petukhov
0c427555cf
Support definitely not null stub types and proper subtyping on them
2021-05-28 15:36:19 +03:00
Victor Petukhov
0f317b01b4
Rename language feature StableBuilderInference to UnrestrictedBuilderInference
2021-05-28 15:36:19 +03:00
Victor Petukhov
0b37b2be6a
Add addtional tests for builder inference
2021-05-28 15:36:19 +03:00
Victor Petukhov
ecde5414dc
Reuse error type constructor for stub types
2021-05-28 15:36:18 +03:00
Victor Petukhov
ee927a15a9
Compute nullability for stub types properly
2021-05-28 15:36:18 +03:00
Victor Petukhov
afbda75581
Set member scope for builder inference stub types equivalent to Any
2021-05-28 15:36:18 +03:00
Victor Petukhov
6356b9d501
Put removing builder inference restrictions under the compiler flag
2021-05-28 15:36:17 +03:00
Victor Petukhov
5a11450d77
Split stub types into stub type for subtyping and for builder inference and use them in the proper way
2021-05-28 15:36:17 +03:00
Victor Petukhov
703a353d2e
Determine empty constraint system for a builder inference call by presense of not fixed type variables
2021-05-28 15:36:17 +03:00
Victor Petukhov
c5faf532f5
Allow builder inference calls with labeled lambda
...
^KT-24993 Fixed
2021-05-28 15:36:16 +03:00
Victor Petukhov
90066d7e50
Add expected type constraints in a builder inference call
2021-05-28 15:36:16 +03:00
Victor Petukhov
7da47dcde8
Add type variables into common system of a builder inference call properly
2021-05-28 15:36:15 +03:00
Victor Petukhov
ac7b459f2a
Do subtyping with stub types properly
...
1) Return stub type if we are calculating super type between two same stub types
2) Return nullable Any if those stub types are different
2021-05-28 15:36:15 +03:00
Victor Petukhov
5d0461c722
Remove restrictions for builder inference internal calls
2021-05-28 15:36:14 +03:00
Victor Petukhov
26b8e86fe1
Render stub types properly
2021-05-28 15:36:14 +03:00
Nikita Bobko
af12b2fdf0
[imltogradle] Replace "Exported transitive dependency" with original module name reference
2021-05-28 14:03:07 +02:00