Commit Graph

57756 Commits

Author SHA1 Message Date
Dmitriy Novozhilov 61ae98df40 [FIR] Add default visitors and transformers with useful part of visited hierarchy 2019-09-17 18:09:18 +03:00
Dmitriy Novozhilov e70c1d6959 [FIR] Remove default visited hierarchy 2019-09-17 18:09:18 +03:00
Nikolay Krasko 9b32bd7138 Do special insert even for custom trimIndent() function to avoid using resolve (KT-31810) 2019-09-17 17:16:30 +03:00
Toshiaki Kameyama 147f805c56 Paste inside indented .trimIndent() raw string: respect indentation (KT-31810)
#KT-31810 Fixed
2019-09-17 17:16:30 +03:00
Ilya Chernikov d3b826c71d Improve class name generation for scripts and REPL snippets
- allow to override default name/scheme
- implement host/engine specific names for jsr223 to avoid classloading
  clashes (also fix "eval in eval" test)
2019-09-17 16:05:38 +02:00
Ilya Chernikov 6de05bb2c7 Drop hardcoded extraction of the snippet id from script name
rely on the userdate instead
2019-09-17 16:05:38 +02:00
Ilya Chernikov dd953e0f66 Deduplicating classloaders and classpath entries on constructing script classloader 2019-09-17 16:05:37 +02:00
Simon Ogorodnik df3fbaf417 Add various configuration parameters to Non Fir modularized tests 2019-09-17 16:10:37 +03:00
Simon Ogorodnik f3a0632b9a [FIR] Fix dump html for each pass 2019-09-17 16:10:32 +03:00
Dmitry Petrov 0531bd4fe6 KT-29229 Intrinsify 'in' operator for unsigned integer ranges
Support mixed type case, e.g., '[UByte] in [UIntRange]'.
2019-09-17 15:50:47 +03:00
Ilya Chernikov 5426071102 Add dependency classloader to the evaluation classloader:
allows to use dependencies from classloader in the scenario with
evaluation in the isolated environment
2019-09-17 12:43:18 +02:00
Ilya Chernikov 61d517fb31 Implement script dependencies resolution directly from classloader
#KT-27956 fixed
2019-09-17 12:43:18 +02:00
Ilya Chernikov f8db150a2b [minor] Drop some usages of kotlin reflection in scripting compiler plugin 2019-09-17 12:43:16 +02:00
Ilya Chernikov 689a5cbdf5 Add descriptors.runtime to the compiler...
move it into appropriate package and ensure that it gets relocated
properly in kotlin-reflect.jar
This change is needed to use the functionality that provides descriptors
from classloaders for scripts compilation.
2019-09-17 12:43:15 +02:00
Ilya Kirillov 8dce22c335 New J2K: use proper resolution facade when getting class reference in inference post-processing 2019-09-17 11:56:07 +03:00
Ilya Kirillov cfd476ca7e New J2K: correctly convert main method with varargs argument
#KT-33756 fixed
2019-09-17 11:56:06 +03:00
Ilya Kirillov 5d6cf34045 New J2K: consider that type argument may be null in inference post-processing 2019-09-17 11:56:06 +03:00
Ilya Kirillov 934d491c1c New J2K: use Any? instead of star projection for raw supertypes
#KT-33863 fixed
2019-09-17 11:56:06 +03:00
Ilya Kirillov c6e0356a59 Do not search for getter usages for every "may be const" quickfix invocation
It is a rather expensive operation which is critical for j2k

relates to #KT-33854
2019-09-17 11:56:05 +03:00
Ilya Kirillov 1b3c5f5d37 New J2K: use proper progress indicator for showing progress
#KT-33854 fixed
2019-09-17 11:56:05 +03:00
Ilya Kirillov 2916be6a53 Remove duplicating interface in J2K
#KT-33445 fixed
2019-09-17 11:56:05 +03:00
Ilya Kirillov 1cf348baba Do not commit document on non-kotlin files when trying to perform j2k conversion
#KT-33725 fixed
2019-09-17 11:56:04 +03:00
Mikhail Glukhikh 13b16cfe75 Refactoring: get rid of firSafeNullable, enhance getSymbolByLookupTag 2019-09-17 10:10:07 +03:00
Mikhail Glukhikh 0493432723 Remove some usages of FirBasedSymbol 2019-09-17 10:10:06 +03:00
Matthew Gharrity a1f4a4572a Check cancelation in KotlinJavaPsiFacade.findPackage()
This may help with some UI freezes caused by KT-33394, although
it does not fix the underlying performance problem.
2019-09-16 10:58:58 -07:00
Pavel Kirpichenkov 0a1b3a8455 Clearify diagnostic messages that involve internal visibilities
KT-7354 Fixed

Visibility.displayText is deprecated with warning.
Diagnostics for java visibilities changed.
2019-09-16 19:00:43 +03:00
Nikolay Krasko fc4865a440 Don't extend to comments when a comment is being moved (KT-23461) 2019-09-16 16:57:48 +03:00
Nikolay Krasko 11de99f9d7 Minor refactoring for KotlinExpressionMover (KT-23461)
Extract function, some better naming.
2019-09-16 16:57:48 +03:00
Toshiaki Kameyama ed28a06285 Move statement: move expression over comments (KT-23461)
#KT-23461 Fixed
2019-09-16 16:57:48 +03:00
Mikhail Glukhikh 20c45a8382 FIR general refactoring: get rid of ConeSymbols 2019-09-16 16:55:42 +03:00
Ilmir Usmanov c1c46daa01 Use en_US.UTF-8 locale instead of default locale to work around errors
in tr_TR.UTF-8 locale in coroutines-specific code.

 #KT-33821: Fixed
2019-09-16 16:50:05 +03:00
Ilmir Usmanov 1951ff8054 JVM_IR: Minor. Unmute tests 2019-09-16 16:49:24 +03:00
Ilmir Usmanov a3284326af JVM_IR: Do not box/unbox result in continuations
Otherwise, it leads to CCE from kotlin/Result.
2019-09-16 16:49:22 +03:00
Ilmir Usmanov 402a77126f JVM_IR: Support inline suspend functions
Only no state-machine version for now.
2019-09-16 16:49:21 +03:00
Ilmir Usmanov 2ec3417e0e JVM_IR: Move suspend functions into view transformation to codegen phase
Support suspend functions with default arguments.
2019-09-16 16:49:18 +03:00
Toshiaki Kameyama 6b36833ee2 Highlight usages: highlight declaration/usage on call of function with lambda argument (KT-30824)
#KT-30824 Fixed
2019-09-16 16:26:02 +03:00
Nikolay Krasko 26bef2d109 Fix muted usage highlighter test by ignoring irrelevant highlighting
UsageHighlightingTestGenerated.testImplicitReturnExpressionsInLambdasNoHightlighting
2019-09-16 16:26:02 +03:00
Toshiaki Kameyama 7b8abc5457 Move statement: enable expression ended with semicolon (KT-8581)
#KT-8581 Fixed
2019-09-16 16:26:02 +03:00
Alexander Udalov 5259af157a JVM IR: workaround correspondingPropertySymbol absence after deep copy 2019-09-16 14:57:21 +02:00
Alexander Udalov b782cf6bdb JVM IR: workaround KotlinTypeMapper usages in boxing optimization on inline classes 2019-09-16 14:57:21 +02:00
Alexander Udalov c425bd0e0b JVM IR: do not use KotlinTypeMapper in BuilderFactoryForDuplicateSignatureDiagnostics 2019-09-16 14:57:21 +02:00
Alexander Udalov 3a0c41dca4 JVM IR: do not use KotlinTypeMapper indirectly in CallableReferenceLowering 2019-09-16 14:57:21 +02:00
Alexander Udalov 26874a6e1e JVM IR: do not use KotlinTypeMapper in MethodSignatureMapper 2019-09-16 14:57:20 +02:00
Alexander Udalov ee976020bc JVM IR: add KotlinTypeMapperBase, do not use KotlinTypeMapper in metadata serialization 2019-09-16 14:57:20 +02:00
Alexander Udalov bd8ea9412d JVM IR: implement MethodSignatureMapper.mapFunctionName directly 2019-09-16 14:57:20 +02:00
Alexander Udalov 36c242764f JVM IR: implement MethodSignatureMapper.mapSignature directly
As well as mapFieldSignature, mapReturnType, mapAsmMethod and smaller
methods. This removes yet another dependency on KotlinTypeMapper in the
IR backend.
2019-09-16 14:44:16 +02:00
Alexander Udalov 46ced326b8 JVM IR: minimize usages of some methods in MethodSignatureMapper
Also do not pass useless parameters such as OwnerKind which is always
IMPLEMENTATION in the IR backend
2019-09-16 14:44:16 +02:00
Alexander Udalov 4dc1d61c38 JVM IR: do not remove overridden symbols in BridgeLowering
This information might be needed in subsequent lowerings or codegen. For
example, it'll be needed in MethodSignatureMapper to determine that we
need to box primitive return type if one of overridden functions has a
non-primitive return type.

For invoke in lambda classes specifically though, we need to remove this
override from the specialized invoke because otherwise we'd call a boxed
version in the bridge (see 73d2ae961c). In this change, we still keep
the override on a bridge though just for the sake of IR consistency.
2019-09-16 14:44:16 +02:00
Alexander Udalov 45929f57b6 Minor, add test on name mangling of private multi-file part members 2019-09-16 14:44:16 +02:00
Vyacheslav Gerasimov cb482571cb Build: Fix javadocJar task configuration
Add artifact outside of lazy configuration lambda, otherwise it is never
added
2019-09-16 15:26:56 +03:00