Commit Graph

16715 Commits

Author SHA1 Message Date
Mikhail Zarechenskiy 3df5efb236 Introduce language feature: underscores in numeric literals
#KT-2964 Fixed
2016-11-08 19:04:53 +03:00
Mikhail Zarechenskiy a77290e572 Lexer: support underscores in numeric literals 2016-11-08 18:46:51 +03:00
Mikhail Zarechenskiy c956428d96 Update JFlex to 1.7.0
Previous patched version (1.4.3) from Itellij was dropped. As we are using skeleton from Intellij, we should update our jflex version accordingly
2016-11-08 18:46:51 +03:00
Valentin Kipyatkov 8cd35f67fd More correct implementation of addImportingScopes 2016-11-08 12:51:34 +03:00
Valentin Kipyatkov 8f9f2027f2 Adding block to control structure when needed 2016-11-08 12:46:42 +03:00
Alexander Udalov 8c65379711 Support injecting custom module into KotlinBuiltIns
Provide a command-line option to load built-ins from the module and its
dependencies instead of looking for them in kotlin-compiler.jar; built-ins must
be found this way, or an error will be reported (or, most likely at this
moment, an exception will be thrown).

Note that this does not affect whether built-ins (loaded from one place or the
other) are added to the _dependencies_ of the module, this is controlled by
another option. The option added in this commit only makes the KotlinBuiltIns
instance which is used via ModuleDescriptor throughout the compiler front-end
(and also injected in a bunch of places) a sort of "helper" which always goes
to that same module to find descriptors for built-in classes
2016-11-08 12:14:24 +03:00
Alexander Udalov 7898e2447d Minor, rename JVMConfigurationKeys.ADD_BUILT_INS_TO_DEPENDENCIES 2016-11-08 12:14:24 +03:00
Ilya Gorbunov 6656d10c67 Fix tests: do not refer to removed things. 2016-11-07 21:39:41 +03:00
Ilya Gorbunov 660dc94f7c Move Closeable to its usage, move internal Serializable to kotlin package in JS, introduce internal typealias in kotlin.io in JVM. 2016-11-07 21:39:36 +03:00
Ilya Gorbunov a895702730 Remove js classes that should not be there 2016-11-07 21:35:27 +03:00
Alexey Sedunov a414843f54 Control-Flow Analysis: Use PSI to generate pseudocode if nested resolved call is confused with outer one (e.g. a {} when invoke() is missing)
#KT-14500 Fixed
2016-11-07 20:03:36 +03:00
Alexey Sedunov 0159ddbc49 Control-Flow Analysis: Do not skip pseudocode for value arguments if they are matched with errors 2016-11-07 20:03:34 +03:00
Alexey Sedunov 30d08c989d Kotlin Facet: Use facet configuration to provide language version for IDE analyzer 2016-11-07 20:03:30 +03:00
Alexey Sedunov d0de9dd43c Kotlin Facet: Get rid of copy constructors for compiler arguments/settings and use reflection-based copying instead 2016-11-07 20:03:29 +03:00
Alexey Sedunov a2948a624f Kotlin Facet: Reuse JvmTarget and LanguageVersion in facet configuration 2016-11-07 20:03:28 +03:00
Alexander Udalov 3db459c1d8 JS: drop Collections.reverse and java.util.Collections altogether 2016-11-07 12:27:54 +03:00
Ilya Gorbunov 766a28c5f8 Update builtin deserialization tests. 2016-11-04 04:36:02 +03:00
Michael Bogdanov fd6d4c352c Special enum function support; Fix for KT-10569: Cannot iterate over values of an enum class when it is used as a generic parameter
#KT-10569 Fixed
2016-11-03 14:27:13 +03:00
Valentin Kipyatkov c0d89e67a9 Do not resolve all bodies of anonymous objects and local classes in partial body resolve 2016-11-02 19:25:25 +03:00
Valentin Kipyatkov 9f1cdde20b Better modifier order 2016-11-02 19:25:22 +03:00
Yan Zhulanow 951868f590 Explicitly filter out classes found by DataBindingClassFinder and DataBindingComponentClassFinder for scope without sources (KT-12402)
This change is temporary, and it should be reverted when the original problem in DataBinding IDE support is fixed.
2016-11-01 19:36:33 +03:00
Yan Zhulanow c2ddd943f9 Lint: Update diagnostics because of the new Uast. Also, these diagnostics are from AS 2.2. 2016-11-01 19:36:31 +03:00
Denis Zharkov 6491d3fbac Do not report DSL scope violation error when language-version is 1.0
#KT-11551 Fixed
2016-11-01 15:58:14 +03:00
Denis Zharkov 7553d3f72b Intoduce and support DslMarker annotation
#KT-11551 In Progress
2016-11-01 15:58:14 +03:00
Denis Zharkov b8e8206c4f Minor. Remove redundant parameter
LexicalWritableScope.implicitReceiver is always null for all constructor's usages
2016-11-01 15:58:14 +03:00
Kirill Rakhman ba7f60040a clean up psi package 2016-11-01 14:11:07 +03:00
Anton Bannykh 2fb7b01320 Fix capturing variables declared via destructuring (#KT-14535 fixed). 2016-11-01 14:00:24 +03:00
Ilya Gorbunov ed2a218ec2 Add new bitwise operations to constant evaluator map. #KT-13554 2016-10-28 20:50:13 +03:00
Dmitry Petrov ed60674d13 KT-14498: Properly check variance in expanded types. 2016-10-28 18:02:15 +03:00
Dmitry Jemerov 237504c3c7 Classes with no parent are top-level (EA-90570 - assert: KtPsiUtil.getOutermostClassOrObject) 2016-10-28 16:47:33 +02:00
Mikhail Glukhikh 8edd33ee92 If then to elvis: applied in IDEA, front-end & J2K modules 2016-10-28 15:00:21 +03:00
Ilya Chernikov 2e03a6f1fd Add script dependencies modification tracker, some optimizations 2016-10-27 23:36:54 +02:00
Simon Ogorodnik 3382ab3d9c Fix for KT-14141: Go to Symbol shows Kotlin extensions from Java's point of view 2016-10-27 20:38:05 +03:00
Anton Bannykh 6a1b0b9cbc withNonLocalReturn.kt was disabled for a wrong reason; reported the actual issue and fixed the comment 2016-10-27 17:27:03 +03:00
Michael Bogdanov fd2655fd4a Bridge support 2016-10-27 16:43:02 +03:00
Michael Bogdanov 7989a0ff25 Use original descriptor on delegating to DefaultImpls 2016-10-27 16:43:01 +03:00
Michael Bogdanov 4cbc5cc958 Remove variables from frame on block leaving 2016-10-27 16:43:00 +03:00
Mikhail Glukhikh 2130164d9b EXTERNAL_DECLARATION_CANNOT_BE_ABSTRACT is now reported on property if accessor is external #KT-9297 Fixed
Also fixes EA-89227
2016-10-27 16:25:43 +03:00
Nikolay Krasko 08d628537c Assign trailing and preceding whitespaces to lambda block until the last comment in parser 2016-10-27 14:26:10 +03:00
Anton Bannykh 7ee3baa020 Replaced when appropriate 'TARGET_BACKEND: JVM' -> 'IGNORE_BACKEND: JS'. Enabled some succesfully working decompiledText tests. 2016-10-27 14:17:25 +03:00
Michael Bogdanov 0910f166a5 Make default methods for inlineOnly and reified functions package private 2016-10-27 11:03:35 +03:00
Alexander Udalov 455fef90c0 Fix codefen test case by adding stdlib 2016-10-27 10:44:33 +03:00
Ilya Gorbunov a6783534f0 Add required *.kotlin_builtins to classpath for stdlib tests 2016-10-26 21:41:54 +03:00
Alexander Udalov c49c019250 Add option to restore fallback to compiler built-ins + resurrect Maven build 2016-10-26 19:02:31 +03:00
Anton Bannykh a3566174d6 Support destructuring in lambda parameters (KT-14422) and skipping some components in a destructuring declaration (KT-14507). 2016-10-26 18:29:13 +03:00
Ilya Gorbunov 1c7196a1fb Allow to reference internal API in stdlib tests 2016-10-26 17:47:15 +03:00
Ilya Gorbunov 98f7c61333 Reuse JVM box tests for binary operations in JS, excluding those that can't pass now. 2016-10-26 16:36:09 +03:00
Ilya Gorbunov 62fb47d137 Introduce bitwise operations and/or/xor/inv for Byte and Short. #KT-13554
Annotate new bitwise operations with SinceKotlin.
2016-10-26 16:35:46 +03:00
Alexander Udalov 7f86ce0a20 Introduce fallback option to add built-ins in position manager test
In AbstractPositionManagerTest, built-ins could no longer be resolved because
JvmIDEVirtualFileFinder is used in IDE tests (even when the compilation is
called through JvmResolveUtil/GenerationUtils as in compiler tests), which is
not yet able to locate .kotlin_builtins files
2016-10-26 16:31:09 +03:00
Alexander Udalov e0989caf46 Load built-ins from module dependencies in JVM compiler
Introduce a new method KotlinClassFinder#findBuiltInsData, which is only
implemented correctly in the JvmCliVirtualFileFinder because it's only used in
the compiler code at the moment.

Introduce JvmBuiltInsPackageFragmentProvider, the purpose of which is to look
for .kotlin_builtins files in the classpath and provide definitions of
built-ins from those files.

Also exclude script.runtime from compilation because, as other excluded
modules, it has no dependency on the stdlib and is no longer compilable from
the IDE now, because it cannot resolve built-ins from anywhere
2016-10-26 16:31:09 +03:00