Andrey Zinovyev
01dd3d6ed4
[lombok] Refactoring, cleaning, better tests
...
Add assertions to tests
Add lombok license
Provide String.[de]capitalize() implementation
Get rid of weak map because it seems it is useless here
2021-04-25 18:18:18 +03:00
Andrey Zinovyev
d459cde010
[lombok] Run compiled code
2021-04-25 18:18:06 +03:00
Andrey Zinovyev
f71e08df4d
[lombok] Experimental lombok plugin prototype
...
Add extension point for java descriptors
Add simple usage of this point to generate getter method
Add simple test infrastructure to test compilation with lombok plugin
2021-04-25 18:17:53 +03:00
Yahor Berdnikau
ac86ad252f
Optionally make java executable path contribute to the daemon id.
...
This change will allow to start Kotlin daemon instances using different
from the current user JDK version and use it to compile Kotlin files.
Old behaviour, when java executable path is not set, is still working
and still,by default, using current user JDK version.
For example, user for some reason wants to use JDK 1.8 as active one,
but compile current project using JDK 16.
Main goal is to support Gradle toolchains.
^KT-45611 In Progress
2021-04-24 11:12:47 +03:00
Yahor Berdnikau
1d47f4ad2b
Consolidate compiler id digest.
...
Change all calculations of compiler id digest to use
'CompilerId#digest()' method.
^KT-45611 In Progress
2021-04-24 11:12:46 +03:00
Simon Ogorodnik
c6fa363487
[FIR] Add warning if FIR is used
2021-04-23 19:49:46 +03:00
Victor Petukhov
7a81d0de8a
Regenerate tests
2021-04-23 19:28:26 +03:00
Alexander Udalov
0c3f2eefe0
Migrate bytecodeListing tests to new test infrastructure
2021-04-23 17:58:16 +02:00
Alexander Udalov
7e170770ea
Minor, move around bytecode listing tests
2021-04-23 17:58:16 +02:00
Mikhail Glukhikh
683872ecbf
FIR: use more precise checkers when possible
2021-04-23 17:29:43 +03:00
Mikhail Glukhikh
5c224ad17c
FIR: fix positioning in fun interface checker
2021-04-23 17:29:34 +03:00
Артём
393a19db54
FIR: introduce FunInterfaceDeclarationChecker
2021-04-23 17:29:25 +03:00
Victor Petukhov
867d7b5bca
Allow type variable fixation into intersection type if it isn't meaningless (i.e. has one or more final classes, or two or more open classes)
...
^KT-46186 Fixed
2021-04-23 15:12:13 +03:00
Victor Petukhov
310d98c4f7
Don't require existence of the corresponding type argument during computing target type to apply type use annotation loaded from class file
...
^KT-46131 Fixed
2021-04-23 15:12:12 +03:00
Ilmir Usmanov
f7a9bc3521
Minor. Make test actually suspend and add a test without suspension
2021-04-23 03:50:08 +02:00
pyos
23ffbe4d9e
JVM_IR: do not box inline classes in suspend multifile bridges
2021-04-23 03:49:47 +02:00
pyos
7d95943b8b
JVM_IR: do not box inline classes in suspend synthetic accessors
2021-04-23 03:49:43 +02:00
Alexander Udalov
99e022d023
IR: minor, remove duplicate visibility field
2021-04-22 17:42:18 +02:00
Dmitriy Novozhilov
d4162f876f
[FIR] Fix some warnings
2021-04-22 14:32:06 +03:00
Dmitriy Novozhilov
234ab3b35d
[FIR] Fix all illegal usages of declarationSiteSession in compiler
...
There are still some usages in IDE which should be investigated
2021-04-22 14:32:04 +03:00
Dmitriy Novozhilov
f98f41bbc3
[FIR] Rename session to declarationSiteSession in declaration builders
2021-04-22 14:32:03 +03:00
Dmitriy Novozhilov
c3b1be1a39
[FIR] Rename FirDeclaration.session to declarationSiteSession
2021-04-22 14:32:02 +03:00
Dmitriy Novozhilov
46f5c2073d
[FIR] Make most of declarations a sealed classes/interfaces
2021-04-22 14:32:00 +03:00
Dmitriy Novozhilov
7f7373dad2
[FIR] Support sealed classes and interfaces in FIR tree generator
2021-04-22 14:31:59 +03:00
Dmitriy Novozhilov
951daeea3a
[FIR] Add typealias to AbstractFirBasedSymbol<*> in FirDiagnosticsList
2021-04-22 14:31:58 +03:00
Jinseong Jeon
24d792fb49
FIR checker: warn useless elvis
2021-04-22 13:10:54 +03:00
Alexander Udalov
b2005302dc
JVM, JVM IR: erase generic SAM supertypes
...
Also, do not try to use invokedynamic on SAM calls with intersection
types, because intersection type is not allowed as an immediate type
projection of a supertype, and constructing a fake override in
LambdaMetafactoryArgumentsBuilder led to an exception. This fixes the
problem which was worked around earlier in e6c089ef , effectively
reverting that commit.
The main motivation for this change is that LambdaMetafactory also
doesn't generate generic signature for SAM wrapper classes at runtime.
Since these classes are synthetic, nobody should rely on the fact that
they have generic supertypes, which was observable only via Java
reflection.
#KT-46149 Fixed
#KT-46238 Fixed
2021-04-22 10:53:15 +02:00
Mikhail Glukhikh
e6b9935df9
FIR: drop source-based check from InferenceUtils
2021-04-22 10:26:47 +03:00
sebastian.sellmair
75d9cd3814
[Minor] KotlinLibraryResolverImpl: Improve readability in resolveDependencies
2021-04-21 20:05:57 +00:00
sebastian.sellmair
22ea5c7de4
Demote fatal error to warning on unresolved libraries mentioned in Klib's manifest 'depends' for metadata compilation
...
^KT-46107
2021-04-21 20:05:55 +00:00
Ilya Kirillov
e2786197ff
FIR IDE: support reporting of FirLightSourceElement based diagnostics
2021-04-21 22:22:32 +03:00
Ilya Kirillov
a76c5d66eb
FIR: introduce FirDeclarationBuilder as a base class for all FIR declaration builders
2021-04-21 21:16:58 +03:00
Ilya Kirillov
da6c5e13d5
FIR IDE: add completion support to classes and to type aliases
2021-04-21 21:16:56 +03:00
Dmitry Petrov
5324cbe729
Minor: update tests
2021-04-21 19:10:32 +03:00
Steven Schäfer
8c9ad81c76
Psi2Ir: Fold constants when generating IR
...
This is necessary to avoid stack overflow errors on large constant
expressions.
2021-04-21 19:10:31 +03:00
Steven Schäfer
e87d816994
Psi2Ir: Remove unused code
2021-04-21 19:10:31 +03:00
Steven Schäfer
d3d4e94cd6
JVM: Fix constant folding for unsigned values
2021-04-21 19:10:31 +03:00
Dmitry Petrov
732405895f
Add tests for KT-45308
2021-04-21 17:36:12 +03:00
Dmitry Petrov
f228c3bb04
Add tests for KT-45236
2021-04-21 17:24:41 +03:00
Mikhail Glukhikh
a097a58edf
Introduce helper FirExpression.unwrapArgument() in fir:tree
2021-04-21 16:19:09 +03:00
pyos
e6d923f65c
FIR: rename HIDDEN to INVISIBLE_REFERENCE
...
Some of them should be INVISIBLE_MEMBER though
2021-04-21 16:18:21 +03:00
pyos
f1cf6b54e7
FIR2IR: convert some error calls to non-error IR
...
This allows suppressing "invisible reference"-type errors, which some
people do in production code.
2021-04-21 16:02:01 +03:00
Mikhail Glukhikh
6833e83a6f
Minor fix in FirInlineClassDeclarationChecker
2021-04-21 16:01:51 +03:00
Alexander Udalov
7fe10e27a1
Minor, fix failing codegen tests on different JDKs
...
#KT-46238
2021-04-21 14:43:10 +02:00
Mikhail Glukhikh
6ae4c3f281
Drop state from FirMethodOfAnyImplementedInInterfaceChecker
2021-04-21 13:22:14 +03:00
Mikhail Glukhikh
e0fe122ee9
Drop stored types from FirInlineClassDeclarationChecker
2021-04-21 13:22:13 +03:00
Mikhail Glukhikh
9bc3404833
Drop state from FirInapplicableLateinitChecker
2021-04-21 13:22:11 +03:00
Mikhail Glukhikh
e0c8a6658b
FIR: handle annotations on non-containers more precisely
2021-04-21 13:22:10 +03:00
Mikhail Glukhikh
04daf8fce8
FIR: add messages for two accessor diagnostics
2021-04-21 13:22:09 +03:00
Julia
387dafb8c5
[FIR] Introduce AnnotationUsedAsAnnotationArgumentChecker
2021-04-21 13:22:07 +03:00