Ilya Goncharov
4eea52e4e7
[Gradle, JS] Add TaskAction on overriden method for integrated task
...
^KT-42339 fixed
[Gradle, JS] Temporarily used next version of dukat
^KT-42339 fixed
2020-10-09 13:58:33 +03:00
Ilya Goncharov
b37414ae0b
[Gradle, JS] Add test on compilation with dukat binaries
...
^KT-42339 fixed
2020-10-09 13:58:33 +03:00
Ilya Goncharov
c1fe8defd2
[Gradle, JS] Dukat descriptors
...
^KT-42339 fixed
2020-10-09 13:58:33 +03:00
Ilya Goncharov
500fceb438
[Gradle, JS] Add binary dukat mode
...
^KT-42339 fixed
[Gradle, JS] Prepare sources and binary modes for dukat
^KT-42339 fixed
2020-10-09 13:58:33 +03:00
Dmitry Savvinov
f50851a982
Fix testdata after migrating to NewKotlinTypeCheckerImpl in OverrideResolver
...
- In kt10409 both 'pipe'-declarations contain error type.
NewKotlinTypeChecker in OverrideResolver considers error types as equal,
thus they are matched as bound declarations, thus 'IterablePipeline'
isn't considered to contain abstract member, thus no suggestion to add
abstract modifier.
Because initially test was covering purely technical issue of working
with error types, instead of removing it completely the additional
abstract member has been added
- in kt10808 we don't add explicit type anymore because
'noTypeInference' is false, because both expected type and actual type
are error-types, and KotlinIntroduceVariableHandler explicitly uses type
checker with 'errorTypesEqualToAnything=false'.
Also, this change might be ultimately seen as small improvement, because
if one extracts something with error type, they would certainly prefer
it to have a proper type as soon as errors are resolved (i.e. additional
code/imports written), rather than having a useless Any-type.
2020-10-09 13:44:06 +03:00
Dmitry Savvinov
f02593074f
Drop isEqualTypeConstructor in favour of areEqualTypeConstructors
2020-10-09 13:44:06 +03:00
Dmitry Savvinov
fc4b488d43
Use NewKotlinTypeChecker in OverridingUtil
...
This allows to use deep type refinement in OverridingUtil, fixing issues
with expect/actuals in composite types
2020-10-09 13:44:06 +03:00
Dmitry Savvinov
01d6181050
Add test on overriding declaration with a composite type with expect declaration
2020-10-09 13:44:06 +03:00
Dmitry Savvinov
f8b9011667
Minor: unify error reporting for fun/properties overriding
2020-10-09 13:44:05 +03:00
Dmitry Savvinov
ac63d8b3bf
Unify code for checking return type on override for fun/property
...
This fixes issues with the refinement of property' return type because
for functions' return type we already perform refinement properly
2020-10-09 13:44:05 +03:00
Dmitry Savvinov
736ecf3e9f
Add test case on overriding property of expect-type
...
Current behaviour is undesired, the fix is in the next commit
2020-10-09 13:44:05 +03:00
Dmitry Savvinov
ac107f362e
Refine types of type parameters before checking their equality in OverridingUtil
2020-10-09 13:44:05 +03:00
Dmitry Savvinov
80f4061a3d
Add test on override with expect in return type
2020-10-09 13:44:04 +03:00
Vladimir Dolzhenko
f8b8f94040
Adjust vega IDE performance test charts
2020-10-09 11:03:26 +02:00
Mikhail Glukhikh
a6efaf440a
FIR supertypes: replace class phase even if it hasn't unresolved supers
2020-10-09 09:45:46 +03:00
Mikhail Glukhikh
94302614cd
[FIR] Add forgotten resolving status of enum entries (by Dmitry)
2020-10-09 09:45:45 +03:00
Dmitriy Novozhilov
5fbe715871
[FIR] Add forgotten replacing resolve phase during type resolve
2020-10-09 09:45:45 +03:00
Mikhail Glukhikh
1f5797e929
Don't resolve annotation arguments in FirTypeResolveTransformer
2020-10-09 09:45:45 +03:00
Mikhail Glukhikh
6f89385aec
Transform forgotten property annotations in FirTypeResolveTransformer
2020-10-09 09:45:44 +03:00
Mikhail Glukhikh
e5463be6ba
Don't transform parameter default values in FirTypeResolveTransformer
2020-10-09 09:45:44 +03:00
Mikhail Glukhikh
bdec245424
Don't transform enum entry initializer in FirTypeResolveTransformer
2020-10-09 09:45:44 +03:00
Mikhail Glukhikh
880eb6da6c
Don't transform delegated constructor args in FirTypeResolveTransformer
2020-10-09 09:45:43 +03:00
Alexander Udalov
949952e766
kotlinx-metadata: minor, remove incorrect ReplaceWith from IS_PRIMARY deprecation
2020-10-08 17:44:35 +02:00
Mads Ager
afd710292a
[JVM_IR] Fix mangling of default argument stubs for internal methods.
...
The MethodSignatureMapper expected to be able to look at the body
of the default argument stub. That is of course not possible when
it is from an external dependency.
Instead, we go through the attribute owner to get to the method
the stub is a default argument adapter for.
2020-10-08 17:43:24 +02:00
Jinseong Jeon
8c88670185
FIR: copy constructor for typealias'ed inner/nested class
2020-10-08 16:33:13 +03:00
Svyatoslav Kuzmich
5e5712afbb
[JS IR] Make JsExport not fail on companion objects (KT-37829)
2020-10-08 14:07:50 +03:00
Victor Petukhov
9f716ba37c
Jspecify: Rename DefaultNotNull to DefaultNonNull
2020-10-08 14:00:10 +03:00
Victor Petukhov
c3bada44cf
Jspecify: Rename NullnessUnknown to NullnessUnspecified
2020-10-08 14:00:10 +03:00
Victor Petukhov
2685c7efce
Jspecify: Rename codeanalysis annotations to jspecify ones
2020-10-08 14:00:10 +03:00
Denis Zharkov
59bd7364ab
Enhance bounds for type parameters after loops disconnection
...
Otherwise behavior might change because enhancement may force computation
for other type parameters in cases like:
class A<X extends Y, Y extends X> {}
See the test:
org.jetbrains.kotlin.checkers.DiagnosticsTestGenerated.Tests.J_k#testRecursiveRawUpperBound3
2020-10-08 14:00:10 +03:00
Denis Zharkov
6661814e40
Do not enhance star projections for bounds of raw types
...
We have an invariant that their lower bound is always
SomeType<Any?> and their upper bound is SomeType<*>.
Ehancing the latter to SomeType<out Any> making
lower bound not being a subtype of upper bound that breaks contract
for flexible types (fails with exception)
2020-10-08 14:00:10 +03:00
Denis Zharkov
16b4a2c465
Do not enhance type parameter bounds if they contain a raw type
...
Otherwise enhancement algorithm starts forcing lazy mutually recursive
computations that leads to RECURSION_IN_SUPERTYPES in complex cases
2020-10-08 14:00:09 +03:00
Denis Zharkov
c1b34a83e9
Fix enhancement behavior in case of error-typed upper bounds
2020-10-08 14:00:09 +03:00
Denis Zharkov
2964d52640
Add test case for codeanalysis annotation
2020-10-08 14:00:09 +03:00
Denis Zharkov
dfb1cb8642
Minor. Rename UnknownNullness -> NullnessUnknown
2020-10-08 14:00:09 +03:00
Denis Zharkov
0b958c8ac5
Fix annotation name in test data to DefaultNullnessUnknown
2020-10-08 14:00:09 +03:00
Denis Zharkov
f3a490ee16
Support compiler flag -Xcodeanalysis-annotations
2020-10-08 14:00:09 +03:00
Denis Zharkov
c734bac676
Minor. Reformat JavaNullabilityChecker.kt
2020-10-08 14:00:08 +03:00
Denis Zharkov
ce2b7bded6
Minor. Reformat AbstractForeignAnnotationsTest.kt
2020-10-08 14:00:08 +03:00
Denis Zharkov
90a9ca6cb3
Minor. Rename flag in JvmAnalysisFlags: jsr305 -> javaTypeEnhancementState
2020-10-08 14:00:08 +03:00
Denis Zharkov
93d9301847
Minor. Extract JavaTypeEnhancementStateParser::parseJsr305State
2020-10-08 14:00:08 +03:00
Denis Zharkov
e7208f0c05
Rename Jsr305Parser -> JavaTypeEnhancementStateParser
2020-10-08 14:00:08 +03:00
Denis Zharkov
6c37574fce
Rename Jsr305State -> JavaTypeEnhancementState
...
Also, rename some of the properties
It's needed to store status for codeanalysis annotation in that class
2020-10-08 14:00:08 +03:00
Denis Zharkov
2f04a1505d
Support enhancement for unbounded wildcards from codeanalysis annotations
2020-10-08 14:00:07 +03:00
Denis Zharkov
392ef9aa2b
Support type arguments enhancement from type parameters bounds
...
Currently, only works for codeanalysis annotations because
type parameters bounds are enhanced only for them
2020-10-08 14:00:07 +03:00
Denis Zharkov
e9e05c53e1
Support enhancement for type parameter based types
...
Load them as non-flexible when a relevant type parameter has non-flexible upper bound
(Currently, it only works for case of codeanalysis annotations)
2020-10-08 14:00:07 +03:00
Denis Zharkov
fa2578c795
Prepare type enhancement for codeanalysis annotations
...
- Rename NullabilityQualifierWithApplicability -> JavaDefaultQualifiers
- Use JavaDefaultQualifiers instead of JavaTypeQualifiers for default qualifiers
This change is intended to make code more clear and to allow add some additional
parameters specific for default qualifiers needed for codeanalysis annotations
2020-10-08 14:00:07 +03:00
Denis Zharkov
e27501497b
Support codeanalysis annotations on type parameters bounds
2020-10-08 14:00:06 +03:00
Denis Zharkov
82d39dd86a
Add basic support for default codeanalysis annotations
2020-10-08 14:00:06 +03:00
Denis Zharkov
517cc84f4d
Add initial support for codeanalysis annotations
2020-10-08 14:00:06 +03:00