Dmitry Petrov
a412596d8e
JVM_IR emulate old back-end behavior in special bridges + inline classes
...
KT-42491 KT-42539
2020-10-09 16:06:08 +03:00
Dmitry Petrov
92fa13cbab
Workaround for a possible compiler bug in object literals
2020-10-09 16:06:08 +03:00
Dmitry Gridin
23beaa5883
[formatter] add tests for line indent after properties
...
^KT-42560
2020-10-09 20:03:48 +07:00
Dmitry Gridin
434139d986
Revert "Add indent before accessor for extension property (KT-33131)"
...
This reverts commit ab34f8c7
^KT-42560 Fixed
2020-10-09 19:44:50 +07:00
Ilya Kirillov
852d705c71
FIR: optimize converting string expressions in raw FIR builder
...
Do get ASTNode for every string template entry as it is expensive operation
2020-10-09 15:00:56 +03:00
Ilya Kirillov
5937ffae4d
FIR: optimize checking if placeholder projection for raw FIR builder
2020-10-09 15:00:55 +03:00
Ilya Kirillov
bbc641b390
FIR: do not get statement text for every statement in raw FIR builder
...
PsiElement.getText This is rather expensive operation
2020-10-09 15:00:55 +03:00
Ilya Goncharov
b1768d805f
[Gradle, JS] Rename dukatMode to externalsOutputFormat
...
^KT-42339 fixed
2020-10-09 13:58:34 +03:00
Ilya Goncharov
3ad6d58153
[Gradle, JS] Execute dukat on import in both mode
...
^KT-42339 fixed
[Gradle, JS] Fix tests for dukat
^KT-42339 fixed
[Gradle, JS] Add tests on binaries-both mode
^KT-42339 fixed
[Gradle, JS] Remove snapshot versions
^KT-42339 fixed
[Gradle, JS] Fix file dependency resolution into imported package
^KT-42339 fixed
2020-10-09 13:58:34 +03:00
Ilya Goncharov
0a86beeb64
[Gradle, JS] Add descriptors to dependencies in configurations phase
...
- Add file collection dependencies to gradle node module building
^KT-42339 fixed
2020-10-09 13:58:34 +03:00
Ilya Goncharov
af65365d6a
[Gradle, JS] Move gradle post processing after executing of dukat
...
^KT-42339 fixed
[Gradle, JS] Use 2 integrated tasks for dukat in both mode
^KT-42339 fixed
[Gradle, JS] Dukat into jar
^KT-42339 fixed
2020-10-09 13:58:33 +03:00
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