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
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
Anton Bannykh
2fb7b01320
Fix capturing variables declared via destructuring (#KT-14535 fixed).
2016-11-01 14:00:24 +03:00
Dmitry Petrov
ed60674d13
KT-14498: Properly check variance in expanded types.
2016-10-28 18:02:15 +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
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
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
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
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
Michael Bogdanov
eaf9c2e8b0
Fix for KT-13890: IllegalAccessError when invoking protected method with default arguments
...
#KT-13890 Fixed
2016-10-26 12:13:20 +03:00
Michael Bogdanov
1e59161e8f
Fix for KT-14201: UnsupportedOperationException: Don't know how to generate outer expression for anonymous object with invoke and non-trivial closure
...
#KT-14201 Fixed
2016-10-26 12:13:19 +03:00
Alexander Udalov
035d6156a7
Drop Cloneable in JS, synthesize it at compile-time on JVM
...
Use the same approach that is used for creating function type classes
(Function{0,1,...}) + add Cloneable to supertypes of Array and primitive arrays
#KT-5537 Fixed
2016-10-25 15:42:33 +03:00
Mikhail Glukhikh
e7e56ab85c
KT-8442 related: destructuring declarations aren't taken into account during light classes generation, fixes EA-81204
2016-10-25 13:13:11 +03:00
Denis Zharkov
b7e8071a7d
Do not use BasicInterpreter for bytecode analysis
...
The problem with BasicInterpreter is the following:
it creates BasicValue objects that should be replaced in favor of StrictBasicicValue
See commit message in 25c6ac1 for clarification
#KT-14447 Fixed
2016-10-25 10:14:52 +03:00
Denis Zharkov
3a197e8d7e
Fix NPE caused by nullability checks optimizations
...
Mostly this commit replaces instances of original BasicValue from ASM
with ones of StrictBasicValue having strict equals implementation
Optimization issue was related to non-symmetric 'equals':
- NotNullBasicValue("java/lang/Object").equals(BasicValue("java/lang/Object")) == false
- BasicValue("java/lang/Object").equals(NotNullBasicValue("java/lang/Object")) == true
#KT-14242 Fixed
2016-10-25 10:14:52 +03:00
Denis Zharkov
10861e57ff
Fix NDFDE for single underscore named property in primary constructor
...
NDFDE = NoDescriptorForDeclarationException
See the comment in change
2016-10-24 18:00:02 +03:00
Denis Zharkov
09dc207052
Add SingleUnderscoreForParameterName language feature
2016-10-24 18:00:02 +03:00
Denis Zharkov
1f0293eb42
Check modifiers applicability on destructured lambda parameters
...
#KT-14502 Fixed
2016-10-24 18:00:02 +03:00
Alexander Udalov
3f5d3e5dbc
Fix errors and indent in built-ins sources
2016-10-24 15:30:40 +03:00
Denis Zharkov
51f4244980
Report UNUSED_DESTRUCTURED_PARAMETER_ENTRY
...
on destructured lambda parameters
#KT-14347 Fixed
2016-10-24 10:19:25 +03:00
Denis Zharkov
4c69416f2b
Report warning on unused entities that can be renamed to _
...
Currently it's all about lambda parameters/destructuring entries
#KT-14347 In Progress
2016-10-24 10:19:25 +03:00
Denis Zharkov
a9fcee098d
Support single-underscore named variables in JVM backend
...
There are mainly two kind of changes:
- skipping 'componentX' calls for destructuring entries named _
- fixing local variable table for them
- skip entries for destructuring entries named _
- use $noName_<i> format for lambda parameters named _
#KT-3824 Fixed
#KT-2783 Fixed
2016-10-24 10:19:25 +03:00
Denis Zharkov
dbca310d8c
Support single-underscore variable names partially
...
Currently only parameters of lambdas/function expressions
and destructuring entries are allowed
#KT-3824 In Progress
#KT-2783 In Progress
2016-10-24 10:19:25 +03:00
Ilya Gorbunov
82364ad3e5
Filter out typealiases invisible due to API_VERSION < their SinceKotlin version, when determining excluded imports.
2016-10-21 18:19:03 +03:00
Mikhail Glukhikh
bfaa9cf56f
UnreachableCode.getUnreachableTextRanges always returns at least one range #KT-14158 Fixed
2016-10-21 10:31:50 +03:00
Dmitry Petrov
4fc135709e
Inner classes lowering: remap old constructor parameters.
2016-10-21 10:05:41 +03:00
Dmitry Petrov
2986e7b508
Check for repeated annotations in type alias expansion.
2016-10-21 09:56:10 +03:00
Dmitry Petrov
5531762ab1
Check for repeated annotations in type alias declaration.
2016-10-21 09:56:10 +03:00
Mikhail Glukhikh
a19d178867
Initialization analysis : more accurate handling of non-local variables while merging data #KT-14304 Fixed
2016-10-20 19:52:44 +03:00
Zalim Bashorov
bdecb661e3
KJS: fix wrongAbiVersion test after abi version was increased. Make it less fragile with the hack for JS tests.
2016-10-20 13:47:50 +03:00
Alexey Andreev
f22a507e39
JS: add test to prove that #KT-5051 is no more reproducible
2016-10-20 12:16:30 +03:00
Dmitry Petrov
c41ec1ddfb
KT-14400: Properly handle TypeAliasConstructorDescriptor in KotlinTypeMapper.mapToCallableMethod(...)
...
Implement getDefaultType() in TypeAliasDescriptor subclasses.
2016-10-20 09:56:03 +03:00
Dmitry Petrov
7dce1f438f
Inner classes lowering.
2016-10-19 19:13:40 +03:00
Denis Zharkov
4793f71da2
Properly generate indices for destructured parameters in inline case
...
#KT-14399 Fixed
2016-10-19 16:05:50 +03:00
Michael Bogdanov
d48ef2efc7
Fix for KT-14012: Back-end (JVM) Internal error every first compilation after the source code change
...
#KT-14012 Fixed
2016-10-18 10:46:51 +03:00
Michael Bogdanov
20c4f47253
Properly lower ImplicitClassReceiver
2016-10-18 09:10:19 +03:00
Dmitry Petrov
fb5298237a
Shared variables lowering.
2016-10-18 09:10:16 +03:00
Dmitry Petrov
fedfd3de16
Suggest names for captured receivers.
2016-10-18 09:10:15 +03:00
Michael Bogdanov
b72d7557d1
KClassJavaProperty support
2016-10-18 09:10:13 +03:00
Dmitry Petrov
5ee2f87c4a
Closure conversion: simple tests work.
2016-10-18 09:10:12 +03:00
Michael Bogdanov
e543972dad
Properly calculate safe call receivers
2016-10-18 09:10:05 +03:00