Alexander Udalov
d41d1bf64d
JVM IR: remove obsolete isDefaultImplsBridge in findInterfaceImplementation
2020-12-02 15:54:14 +01:00
Alexander Udalov
be03bc477d
JVM IR: do not use origin DEFAULT_IMPLS_WITH_MOVED_RECEIVERS(_SYNTHETIC)
...
Instead, check that origin of the parent class is DEFAULT_IMPLS.
2020-12-02 15:54:14 +01:00
Alexander Udalov
988cc52174
JVM IR: do not use origin DEFAULT_IMPLS_BRIDGE_FOR_COMPATIBILITY(_SYNTHETIC)
...
It was only used to generate deprecation in codegen, but it's annotated
with `javaLangDeprecatedConstructorWithDeprecatedFlag`, and a similar
annotation for IrField results in ACC_DEPRECATED. Adapt codegen to
generate this flag for functions too.
2020-12-02 15:54:13 +01:00
Ilya Goncharov
697b2b02f1
[JS IR] Add properties lazy initialization with multiple modules
...
[JS IR] Move tests into compiler/testData
[JS IR] Add cyclic dependencies with lazy property initialization
[JS IR] Add test on not initialization in case of call non properties (classed, objects, enum classes, const vals)
[JS IR] Add initialization through top level
[JS IR] Ignore enum getInstance function in property lazy initialization
[JS IR] Use let function with useful result instead of pure apply and also
[JS IR] Remove duplicated tests in js.translator
2020-12-02 17:35:30 +03:00
pyos
6cb573cb45
[FIR] Import parents of companion objects first
...
Otherwise, information about members moved from companion objects to the
parent class (e.g. on JVM, companion object fields -> static fields in
parent class) will be incorrect.
2020-12-02 15:29:42 +03:00
Igor Yakovlev
4d7b6c022b
[FIR IDE] LC Anonymous to SuperClass type substitution
2020-12-02 15:13:09 +03:00
Igor Yakovlev
842d31d04e
[FIR IDE] Fix HL API test data
...
Ignore failed tests
Set passing test to comparison mode
Fix testdata for symbols
Fix invalid LAZINESS parameter reading from testdata
2020-12-02 15:13:09 +03:00
Igor Yakovlev
7cbcde77dd
[FIR IDE] LC More accurate fields visibility and modality
2020-12-02 15:13:08 +03:00
Igor Yakovlev
a7d7aa123e
[FIR IDE] LC minor refactorings
2020-12-02 15:13:08 +03:00
Igor Yakovlev
a1603716ed
[FIR IDE] LC Add anonymous objects support
...
+minor fixes
2020-12-02 15:13:08 +03:00
Igor Yakovlev
5630667320
[FIR IDE] LC better support for JvmMultiFileClass annotation
2020-12-02 15:13:08 +03:00
Igor Yakovlev
56c3faee00
[FIR IDE] LC Fix generating unique field names
2020-12-02 15:13:08 +03:00
Igor Yakovlev
18e5af37ff
[FIR IDE] LC Fixed incorrect JvmOverloads
2020-12-02 15:13:07 +03:00
Igor Yakovlev
535aa1e9e0
[FIR IDE] LC expand typealiases for applied annotations
2020-12-02 15:13:07 +03:00
Igor Yakovlev
229c6f97ac
[FIR IDE] LC Fixed nullability for getters
2020-12-02 15:13:07 +03:00
Igor Yakovlev
aff90b335c
[FIR IDE] LC Implement special keywords like transient, volatile, synchronized, strictfp
2020-12-02 15:13:07 +03:00
Igor Yakovlev
6aff96a401
[FIR IDE] Remove extra analyzing for local declarations
2020-12-02 15:13:07 +03:00
Igor Yakovlev
3fc424246b
[FIR IDE] LC basic support for type arguments
...
+ small fixes for deprecation, etc.
2020-12-02 15:13:06 +03:00
Igor Yakovlev
2a8f783393
[FIR IDE] HL API Better support of nullability and modality
2020-12-02 15:13:06 +03:00
Igor Yakovlev
4c69043a15
[FIR IDE] Move refactoring and minor bugfixing for modality, jvmname, etc.
2020-12-02 15:13:06 +03:00
Igor Yakovlev
3e3ec5fc69
[FIR IDE] Supporting member scopes in EnumEntries
2020-12-02 15:13:06 +03:00
Igor Yakovlev
fdaf31dbf3
[FIR IDE] Fix typemapping for FirTypeAliasSymbol
2020-12-02 15:13:05 +03:00
Igor Yakovlev
aae0081f3f
[FIR IDE] Fixed invalid HL API getters request
2020-12-02 15:13:05 +03:00
Mikhail Glukhikh
2429f429c5
[FIR] Set isStubTypeEqualsToAnything = true for inference as in FE 1.0
...
#KT-43616 Fixed
2020-12-02 14:49:08 +03:00
Mikhail Glukhikh
eae8821dec
FIR Java: unbind possible named annotation cycle
2020-12-02 14:48:46 +03:00
Nikolay Krasko
2ffedd2731
Fix Daemon compiler tests on Windows
...
In 202 platform tearDown tries to remove temporary directory, but this
fails on Windows, because while Daemon is active directory can't be
deleted.
2020-12-02 14:23:32 +03:00
Georgy Bronnikov
8a969dab7d
Bugfix for FIR
2020-12-02 09:47:34 +03:00
Georgy Bronnikov
b23d7a79b0
IR: get rid of WrappedDescriptorWithContainerSource
2020-12-02 09:47:34 +03:00
Georgy Bronnikov
c0cd9064d7
IR: IrMemberWithContainerSource
2020-12-02 09:47:34 +03:00
Georgy Bronnikov
14b773c1fd
JVM_IR: do not rely on DescriptorWithContainerSource in InlineCodegen
2020-12-02 09:47:34 +03:00
Ilmir Usmanov
f0a787551a
Value classes: Raise retention of @JvmInline to RUNTIME
...
so it will be visible by reflection
2020-12-01 23:45:50 +01:00
Ilmir Usmanov
129de76288
Value classes: Generate @JvmInline annotation for inline classes
...
but not for value classes.
Since inline classes and value classes share the same flag, we use
presence of the annotation to distinguish them.
2020-12-01 23:45:47 +01:00
Dmitry Petrov
ae8abd1832
Minor: ignore nestedBigArityFunCalls.kt in WASM
2020-12-01 19:43:52 +03:00
Dmitry Petrov
1412ee96f8
JVM_IR KT-43524 static wrappers for deprecated accessors are deprecated
2020-12-01 19:43:52 +03:00
Dmitry Petrov
e96fc74ffa
JVM_IR KT-43519 no delegates for external funs in multifile facades
...
Also add ABI tests for @JvmStatic/JvmOverloads + 'external'.
2020-12-01 19:43:52 +03:00
Dmitry Petrov
2b4564059e
JVM_IR KT-43459 fix $annotations method receiver type
2020-12-01 19:43:51 +03:00
Dmitry Petrov
85b5948931
JVM_IR KT-43051 no static inline class members for default Java methods
2020-12-01 19:43:51 +03:00
Dmitry Petrov
4c3ffc3451
JVM_IR KT-41911 process big arity 'invoke' arguments recursively
2020-12-01 19:43:51 +03:00
Georgy Bronnikov
b0e2d5637d
Mute a test for WASM
2020-12-01 18:37:55 +03:00
Georgy Bronnikov
bb4950a021
Regenerate LightAnalysis tests
2020-12-01 16:01:48 +03:00
Dmitriy Novozhilov
91bccad72b
[JS] Fix path of generated js tests
2020-12-01 15:43:25 +03:00
Mikhail Glukhikh
7550a1870b
[FIR2IR] Make checks about f/o accessors necessity more precise
...
#KT-43342 Fixed
2020-12-01 14:23:19 +03:00
Ilya Goncharov
b179b567a9
[Gradle, JS] Add test on resolution of js project with directory dependency
...
^KT-43668 fixed
2020-12-01 14:12:39 +03:00
Alexander Udalov
2fdc2dfaaf
JVM IR: fix regression in JvmStatic-in-object lowering for properties
...
References to properties with JvmStatic getter were not handled in
MakeCallsStatic (by overwriting dispatchReceiver with null) because the
property itself was not considered static.
#KT-43672 Fixed
2020-12-01 11:54:45 +01:00
Georgy Bronnikov
4607eca987
JVM_IR: bug fix in classFileContainsMethod
...
The old test sequence failed for toplevel functions because of file
class wrappers, so that the second branch was never invoked.
2020-12-01 13:15:51 +03:00
Roman Golyshev
f50480d258
FIR IDE: Fix resolving of nested types in type references
2020-12-01 09:24:20 +00:00
Roman Golyshev
94a5379631
FIR IDE: Add tests for resolving from nested types references
...
Some of those tests are failing in the FIR IDE
2020-12-01 09:24:20 +00:00
Alexander Udalov
19ca9c0fde
Enable JVM IR for bootstrap in the project
2020-11-30 22:09:24 +01:00
Alexander Udalov
606de26646
JVM IR: fix generation of equals/hashCode for fun interfaces over references
...
... in case `-Xno-optimized-callable-references` is enabled. Before this
change, the generated abstract equals/hashCode methods were considered
as accidental overrides because they did not have equals/hashCode from
the supertype in the overriddenSymbols list.
#KT-43666 Fixed
2020-11-30 19:15:20 +01:00
pyos
50ae360ff9
FIR2IR: fix the way annotations are moved to fields
...
1. When an annotation has multiple targets, the priority goes like this:
constructor parameter (if applicable) -> property -> backing field.
2. The argument to `kotlin.annotation.Target` is a vararg, so that
should be handled as well.
3. `AnnotationTarget.VALUE_PARAMETER` allows receivers, constructor
parameters, and setter parameters, while `AnnotationTarget.FIELD` allows
both backing fields and delegates.
Known issue: java.lang.annotation.Target is not remapped to the Kotlin
equivalent, so things are still broken for pure Java annotations.
2020-11-30 20:29:18 +03:00