Georgy Bronnikov
b35d4134a7
Psi2IR: workaround for IR-based descriptors
...
Since KotlinTypes involving IR-Based descriptors are distinct from KotlinTypes
involving original descriptors of the same declarations, subtyping check
breaks in InsertImplicitCasts.
2020-12-23 18:50:53 +03:00
Georgy Bronnikov
076272f7ca
FIR2IR: avoid descriptors computing hashCode
...
When synthesizing the hashCode function for data classes, descriptors
were used, in partcular, memberScope for primitive classes.
IrBasedDescriptors have no member scope, so we compute the hashCode
function based on IR structures.
2020-12-23 18:50:52 +03:00
Jinseong Jeon
aaa3f2e2c1
FIR2IR: correct IR origin for substitution overrides
...
#KT-44054 Fixed
2020-12-23 16:13:05 +03:00
Jinseong Jeon
34dbbdce07
FIR2IR: use lookupTag or class to getLocalClass, not classId
...
Before this commit, we sometimes tried to fetch anonymous object by id,
getting sometimes a wrong result because it's singleton.
Now we use lookupTag or FIR class itself instead.
#KT-44050 Fixed
2020-12-23 16:12:58 +03:00
Dmitry Petrov
632f5af442
Minor: kt21014.kt - add JVM_TARGET 1.8
2020-12-23 11:25:36 +03:00
Jinseong Jeon
73576c80e4
FIR2IR: calculate IR parent for Java field ahead
...
so as to cache type parameters from the parent if the field's return
type is one of type parameters.
#KT-44032 Fixed
2020-12-23 09:10:52 +03:00
Mikhail Glukhikh
107a825c5f
Make FileDescriptorForVisibilityCheck subtype of PackageFragmentDescriptor
...
#KT-20548 Fixed
2020-12-23 00:11:08 +03:00
Dmitry Petrov
3ae8521f12
Minor: drop kt21014.kt (SIGSEGV on HotSpot 6.0_45-b06)
2020-12-22 19:56:54 +03:00
Dmitry Petrov
796d821776
JVM_IR box tests for JDK9
2020-12-22 16:09:48 +03:00
Dmitry Petrov
c9d330207b
JVM_IR no nullability annotations on SAM wrapper constructor parameters
2020-12-22 16:09:46 +03:00
Dmitry Petrov
0dff583070
JVM KT-36984 SAM wrappers are anonymous inner classes
2020-12-22 16:09:45 +03:00
Dmitry Petrov
57dd9fc87a
JVM_IR KT-36984 SAM wrappers are anonymous inner classes
2020-12-22 16:09:45 +03:00
Dmitry Petrov
443cd0fc2c
Tests for issues fixed in JVM_IR
2020-12-22 16:07:06 +03:00
Jinseong Jeon
e05d26b9b0
FIR2IR: cache type parameters in delegated property
...
#KT-44030 Fixed
2020-12-22 12:05:31 +03:00
Jinseong Jeon
78fa8814c4
FIR: unwrap f/overrides when determining mutability of property reference
...
#KT-44010 Fixed
2020-12-22 12:04:56 +03:00
Jinseong Jeon
d753d21dee
FIR2IR: don't add SAM conversion for explicit subtype cases
2020-12-21 18:01:27 +03:00
Jinseong Jeon
7df289746c
FIR: fix invoke lookup for SAM resolution
2020-12-21 18:01:26 +03:00
Jinseong Jeon
3bca6ae893
FIR: allow lower bound of flexible type when finding contributed invoke
2020-12-21 18:01:25 +03:00
Jinseong Jeon
d5a6991b2d
FIR: extend SAM conversion to subtype of functional type
2020-12-21 18:01:22 +03:00
Ilya Chernikov
9ee17cd610
Do not throw assertion on recursion in typealias declaration,
...
return empty list of descriptors instead, allowing for proper error
reporting later.
#KT-18344 fixed
2020-12-21 09:43:43 +01:00
Alexander Udalov
eef06cded3
JVM IR: output stable ABI binaries by default
...
#KT-43592 Fixed
2020-12-20 23:14:54 +01:00
Alexander Udalov
06805ffbaa
Change CLI flags for controlling diagnostics for ABI of FIR and JVM IR
...
- Use a more generic `-Xallow-unstable-dependencies` instead of
`-Xallow-jvm-ir-dependencies`
- Change `-Xir-binary-with-stable-abi` to `-Xabi-stability=stable`, with
an additional option to specify `unstable` after a subsequent commit
where JVM IR becomes stable by default
#KT-43592
2020-12-20 23:14:32 +01:00
Ilmir Usmanov
f922ebbfc3
Value classes: Add JvmInlineValueClasses language feature
2020-12-18 17:53:58 +01:00
Victor Petukhov
48d9812d9e
Review fixes around type enhancement and loading type use annotations
2020-12-18 19:32:05 +03:00
Victor Petukhov
9693ea19fb
Add tests for type enhancement uncluding with compiled java
2020-12-18 19:32:05 +03:00
Victor Petukhov
6f8f531d87
Put type enhancement improvements under the compiler flag
2020-12-18 19:32:05 +03:00
Victor Petukhov
8777d28228
Use new jetbrains annotations with type use target for "load java 8" tests
2020-12-18 19:32:04 +03:00
Victor Petukhov
a89329e077
Support reading from class files of the type use annotations on type parameters and type arguments
...
^KT-11454 Fixed
2020-12-18 19:32:03 +03:00
Jinseong Jeon
9c2d06cf70
FIR: strengthen resolution success check for augmented array set call
...
This commit removes some false ambiguities &
fixes compilation of tree-generator module with FIR
2020-12-18 14:24:24 +03:00
Dmitriy Novozhilov
6296f6dc33
[FE] Don't throw assertion in OverrideResolver if directOverridden is empty
...
Those descriptors may be empty in case user made a mistake and tried to
delegate implementation of abstract class instead of interface (and
we don't add functions from abstract class to overriden descriptors
of fake overrides in case of delegation by)
#KT-40510 Fixed
2020-12-18 13:40:14 +03:00
Jinseong Jeon
dea01125d6
FIR deserializer: keep SourceElement for more precise Fir2IrLazyClass's source
2020-12-18 12:17:23 +03:00
Jinseong Jeon
fe0c25693d
FIR2IR: do not convert @ExtensionFunctionType twice
2020-12-18 12:17:21 +03:00
Jinseong Jeon
4608431682
FIR2IR: correct base symbols of fake overrides for delegated member
...
#KT-43984 Fixed
2020-12-18 11:21:02 +03:00
Shagen Ogandzhanian
4f96f9d6a1
[JS IR] Initialize enum fields before accessing them in companion object
...
see https://youtrack.jetbrains.com/issue/KT-43901
2020-12-18 01:54:59 +01:00
Dmitriy Novozhilov
f597343d82
[TEST] Fix testdata
2020-12-17 00:33:17 +03:00
Dmitriy Novozhilov
416f17e5ec
[TEST] Drop remaining tests of experimental coroutines
2020-12-16 19:52:31 +03:00
Dmitriy Novozhilov
71ffaa2d97
[TEST] Migrate AbstractDiagnosticsTestWithJsStdLib to new test runners
2020-12-16 19:52:29 +03:00
Dmitriy Novozhilov
26d7ea6ce6
[TEST] Migrate AbstractDiagnosticsWithModifiedMockJdkTest to new test runners
2020-12-16 19:52:26 +03:00
Dmitriy Novozhilov
b43fa94cb6
[TEST] Migrate AbstractDiagnosticsWithUnsignedTypes to new test runners
2020-12-16 19:52:26 +03:00
Dmitriy Novozhilov
23e704f361
[TEST] Migrate AbstractDiagnosticsWithExplicitApi to new test runners
2020-12-16 19:52:26 +03:00
Dmitriy Novozhilov
c0e4452cf8
[TEST] Migrate AbstractDiagnosticsWithJdk9Test to new test runners
2020-12-16 19:52:25 +03:00
Dmitriy Novozhilov
61302a2e08
[TEST] Migrate duplicating javac tests to new test runners
...
Also minimize scope of DiagnosticUsingJavac tests to
`compiler/testData/diagnostics/tests/javac`. This is fine since
javac compilation mode is still not finished and no one not going to
support it
2020-12-16 19:52:25 +03:00
Dmitriy Novozhilov
b44dc55109
[TD] Mute some javac tests or update their testdata
...
There was a refactoring of AbstractDiagnosticsTest in 9052ef06 which
contains bug that `setupEnvironment` for AbstractDiagnosticsTestUsingJavac
was not called, so for last year tests `UsingJavac` had no difference
with usual diagnostics tests which causes some contradictions in test data
2020-12-16 19:52:25 +03:00
Dmitriy Novozhilov
e6b5cb5216
[TD] Update diagnostics test data due to new test runners
...
Update includes:
- Changing syntax of `OI/`NI` tags from `<!NI;TAG!>` to `<!TAG{NI}!>`
- Fix some incorrect directives
- Change order of diagnostics in some places
- Remove ignored diagnostics from FIR test data (previously `DIAGNOSTICS` didn't work)
- Update FIR dumps in some places and add `FIR_IDENTICAL` if needed
- Replace all JAVAC_SKIP with SKIP_JAVAC directive
2020-12-16 19:52:25 +03:00
Dmitriy Novozhilov
1d04fecd29
[TD] Remove some outdated tests with unsupported EXPLICIT_FLEXIBLE directive
2020-12-16 19:52:24 +03:00
Dmitriy Novozhilov
0b0e2c3ad2
[TD] Create real helpers files for coroutines checkers
2020-12-16 19:52:24 +03:00
Dmitriy Novozhilov
44948aa9a2
[FE] Properly report diagnostics about type arguments of implicit invoke
...
#KT-40396 Fixed
2020-12-16 17:57:58 +03:00
Dmitriy Novozhilov
329066a4f3
[Parser] Fix parsing of unfinished dot access in string template
...
Problem appeared in cases like this: "{someVar.}"
#KT-34440 Fixed
2020-12-16 17:57:56 +03:00
Dmitry Petrov
8999fd88b1
JVM_IR KT-43401 KT-43518 fix ACC_STRICT and ACC_SYNCHRONIZED flags
2020-12-16 14:10:36 +03:00
Dmitry Petrov
7ed3860c70
JVM_IR KT-43043 fix nullability annotations for inline class members
2020-12-16 13:43:29 +03:00