Commit Graph

57522 Commits

Author SHA1 Message Date
Roman Golyshev b422485440 KT-30996: Use the last receiver to complete dsl methods
- change `detectReceiverTypes` return type to `List` instead of `Collection`
  - it reflects that receiver types are actually ordered
  - did not propagate signature changes to all possible places because it creates too much noise in git history
- ^KT-30996 Fixed
2019-09-13 15:52:52 +03:00
Ilya Chernikov b2d2ba5811 Refactor test utils: don't add main-kts to the classpath...
by default on running scripting tests via the call to K2JVMCompiler
2019-09-13 13:19:26 +02:00
Ilya Chernikov 49003c9839 Do not embed script-runtime into main-kts:
it is unused in it and may interfere with mixed usages when
main-kts is used along with legacy/default scripts
2019-09-13 13:19:26 +02:00
Ilya Chernikov a12ea37ae8 [minor] Fix non-fatal exception during the embeddable test 2019-09-13 13:19:26 +02:00
Ilya Chernikov 45f5c42a53 Add appropriate script extension to the source name, if not provided
#KT-31704 fixed
2019-09-13 13:19:26 +02:00
Ilya Chernikov 92778cc5b5 Set contextClassLoader for the script evaluation
#KT-31661
2019-09-13 13:19:26 +02:00
Ilya Chernikov 939d76fd2a Isolate script execution from compiler classloader
Since fix of KT-33554, the script execution classpath is set correctly
according to the compilation classpath, so isolation makes sense now.
2019-09-13 13:19:26 +02:00
Ilya Chernikov 771f5c13dd Fix imported script functionality in JSR-223/REPL:
- setup compilation properly to take imported scripts into account
- add compiled imported scripts into generated results
= calculate ScriptLightVirtualFile path as relative - simplifies imported scripts location
2019-09-13 13:19:26 +02:00
Ilya Chernikov 0fe137d75c Fix script arguments order for imports with implicit receivers
#KT-33572 fixed
2019-09-13 13:19:25 +02:00
Ilya Chernikov 8989bfa235 Fix main-kts jsr223 direct bindings processing
Before the jsr context was configured only when a dependency or import
annotation is encountered, so direct properties mapping didn't work
without using any of the annotations. (It was implemented like this
as a workaround due to the problem with handlers composability, that was
fixed some time ago.)
2019-09-13 13:19:25 +02:00
Ilya Chernikov c5f9e0a399 Fix host configuration replacements 2019-09-13 13:19:25 +02:00
Ilya Chernikov f350c24846 Implement more general "apply defaults" functionality for host configurations 2019-09-13 13:19:25 +02:00
Ilya Goncharov e3187217ee Fix executable files for nodejs
- For windows NPM doesn't create symlinks, but cretae CMD files, so it is necessary to provide path to JS file explicitly

#KT-33710 fixed
2019-09-13 12:44:56 +03:00
Ilya Goncharov 2fe5feac94 Remove source map support runtime for webpack
- Browsers support source maps OOB
- source-map-support is necessary to install to make a sense, but now we only include it in bundle w/o installing
- Additional webpack's options like output.library doesn't works with multiple entries if last item is not bundled library

#KT-33288 fixed
2019-09-13 12:40:35 +03:00
Dmitriy Novozhilov 8614323f80 [FIR] Tests. Update some outdated testdata 2019-09-13 12:21:59 +03:00
Dmitriy Novozhilov b76b4b0229 [FIR] Pass flow to local functions 2019-09-13 12:21:59 +03:00
Dmitriy Novozhilov e1947e6884 [FIR] Don't create synthetic calls for when with only one branch 2019-09-13 10:42:19 +03:00
Dmitriy Novozhilov 43a873a2ec [FIR] Make SimpleFlow (old implementation) implement abstract Flow 2019-09-13 10:42:19 +03:00
Dmitriy Novozhilov 60343c721c [FIR] Make Flow and LogicSystem abstract
It's needed for simple changing of different Flow implementations
2019-09-13 10:42:19 +03:00
Dmitriy Novozhilov c19da5846c [FIR] Fix processing inPlace lambdas as named arguments 2019-09-13 10:42:19 +03:00
Dmitriy Novozhilov 3ff185d36c [FIR] Dummy fix of lambda functions inside init block
Init still works not well, but now they at least don't fail
2019-09-13 10:42:19 +03:00
Dmitriy Novozhilov 0e0e6da917 [FIR] Fix passing flow throw loops 2019-09-13 10:42:19 +03:00
Dmitriy Novozhilov f77a414e93 [FIR] Fix passing flow throw try expression 2019-09-13 10:42:19 +03:00
Dmitriy Novozhilov be58e95b2b [FIR] Replace Flow with DelegatingFlow 2019-09-13 10:42:19 +03:00
Dmitriy Novozhilov 44571fbd8f [FIR] Minor. Extract methods used DataFlowInfo from DataFlowInferenceContext 2019-09-13 10:42:18 +03:00
Dmitriy Novozhilov 65edf73bee [FIR] Add node for enter to body of when branch 2019-09-13 10:42:18 +03:00
Dmitriy Novozhilov 531c2b9617 [FIR] Add supprot of InvocationKind.UNKNOWN for in-place lambdas 2019-09-13 10:42:18 +03:00
Dmitriy Novozhilov 2f6f07bc7d [FIR] Remove callbacks from stacks in DFA 2019-09-13 10:42:18 +03:00
Dmitriy Novozhilov beaab19eb9 [FIR] Replace ControlFlowGraphNodeBuilder with extensions on ControlFlowGraphBuilder 2019-09-13 10:42:18 +03:00
Dmitriy Novozhilov 15ff86fc50 [FIR] Refactor DataFlowVariables
Make inheritors of DataFlowVariable public, replace flags in DFV with types
2019-09-13 10:42:18 +03:00
Dmitriy Novozhilov f9d45d2f2a [FIR] Some minor fixes in DFA after review 2019-09-13 10:42:18 +03:00
Dmitriy Novozhilov 6b7aa21b8f [FIR] Minor. Remove useless creating data flow variables for value parameters 2019-09-13 10:42:18 +03:00
Dmitriy Novozhilov cb1322eaef [FIR] Add smartcasts on implicit receivers 2019-09-13 10:42:18 +03:00
Dmitriy Novozhilov f8459f8201 [FIR] Fix result type of const expressions with expected type 2019-09-13 10:42:17 +03:00
Dmitriy Novozhilov 546bbceeea [FIR] Reduce coping of flow and inline default value of it 2019-09-13 10:42:17 +03:00
Dmitriy Novozhilov c2180b9361 [FIR] Move reporting of errors in modularized tests in separate log file 2019-09-13 10:42:17 +03:00
Igor Yakovlev 5dc29b9059 Fix build 183 - add missing functions 2019-09-12 18:42:56 +03:00
Simon Ogorodnik 375920da58 [FIR] Add gradle property for extending jvmArgs of modularized test 2019-09-12 18:06:47 +03:00
Igor Yakovlev 841ed45440 Fix build 183 - missing imports added 2019-09-12 17:53:31 +03:00
Dmitry Petrov cb13dd3cdd Add psi2ir tests for 'break' and 'continue' inside 'when' 2019-09-12 15:11:01 +03:00
Dmitry Petrov f3837e91e3 Add BE tests for 'break' and 'continue' inside 'when' 2019-09-12 15:11:01 +03:00
Dmitry Petrov f06f6f4660 Allow 'break' and 'continue' inside 'when' in 1.4+ 2019-09-12 15:11:00 +03:00
Pavel Kirpichenkov 55cb9561c2 Provide better error messages for read-only delegate
Split error reporting into two parts for incorrect and missing candidates.
Missing function error is not reported on provideDelegate.
Update error factory and default message for error.
Update error texts in quick fix test data.

#KT-16526 Fixed
2019-09-12 14:58:21 +03:00
Dmitriy Novozhilov 68bcdaa6c3 Don't ask for member scope for ILT in IterableTypesDetection
EA-206183 fixed
2019-09-12 12:27:12 +03:00
Mikhail Zarechenskiy 7472c789c6 Add tests for obsolete issues
#KT-28001 Obsolete
 #KT-30236 Obsolete
2019-09-12 12:03:01 +03:00
Natalia Selezneva 89140be71d Minor: better error message 2019-09-12 09:56:42 +03:00
Natalia Selezneva 6d53636cc9 Minor: extract classes 2019-09-12 09:56:42 +03:00
Natalia Selezneva 8f2aaf62c2 Implement modification stamp for ScriptInitializer
This should influence ResolveElementCache to correctly update caches
because it rely on modifications stamps of the declaration
Before this change file.modificationStamp was used for script initializers in file, so they all became outdated after some change in file
2019-09-12 09:56:42 +03:00
Alexander Udalov d6cb857c97 JVM IR: don't use descriptors to map suspend function types 2019-09-11 23:33:11 +02:00
Alexander Udalov 34d2d7374c Do not use KotlinTypeMapper in enum values/valueOf intrinsic
Remove KotlinTypeMapper from inlineIntrinsics.kt completely
2019-09-11 23:33:11 +02:00