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