Dmitry Petrov
37eedc3703
Hack: do not add trivial constraints (t <: Any?) for constituent types,
...
otherwise nested calls handling logic in old inference wouldn't work for type alias constructors.
2016-11-10 14:54:11 +03:00
Dmitry Petrov
549ae59562
Inference for type alias constructor type arguments: better error reporting.
2016-11-10 14:54:11 +03:00
Dmitry Petrov
94d7bd7a6b
KT-14641: Nested type alias reference via an instance is an error.
2016-11-10 14:54:11 +03:00
Mikhail Glukhikh
ce72337ebd
Effective visibility is now considered private for invisible fake #KT-14469 Fixed
2016-11-10 13:42:58 +03:00
Zalim Bashorov
41bd276814
Mute some new tests for JS and regenerate tests
2016-11-09 21:51:33 +03:00
Zalim Bashorov
1dedb38481
Regenerate tests
2016-11-09 21:41:12 +03:00
Zalim Bashorov
a1730f98ba
Don't generate test when target backend is not suitable
2016-11-09 21:41:12 +03:00
Denis Zharkov
55508afb8c
Make initial continuation able to be resumed with exception
...
#KT-14719 Fixed
2016-11-09 16:26:32 +03:00
Denis Zharkov
ae70a60a0a
Validate label value of coroutine in case of no suspension points
...
#KT-14718 Fixed
2016-11-09 16:26:32 +03:00
Denis Zharkov
e54b466010
Make fields representing variables in coroutines non-volatile
...
#KT-14636 Fixed
2016-11-09 12:25:31 +03:00
Dmitry Petrov
03d8aa272b
Infer type arguments of type alias constructors.
2016-11-09 10:48:07 +03:00
Mikhail Zarechenskiy
3df5efb236
Introduce language feature: underscores in numeric literals
...
#KT-2964 Fixed
2016-11-08 19:04:53 +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
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
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
Dmitry Petrov
ed60674d13
KT-14498: Properly check variance in expanded types.
2016-10-28 18:02:15 +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
Michael Bogdanov
0910f166a5
Make default methods for inlineOnly and reified functions package private
2016-10-27 11:03:35 +03:00
Ilya Gorbunov
1c7196a1fb
Allow to reference internal API in stdlib tests
2016-10-26 17:47:15 +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
88add3e06d
Get rid of some KotlinBuiltIns#getBuiltInsModule usages
...
There will be no separate module for built-ins soon, they will be resolved as
normal dependencies
2016-10-26 16:31:06 +03:00
Alexander Udalov
4effe42f1d
Use JvmResolveUtil#createContainer in KotlinOverloadTest and KotlinOverridingTest
2016-10-26 16:31:05 +03:00
Alexander Udalov
8a5c8da757
Simplify module configuration and built-ins dependency in some tests
...
- In tests on built-ins with no sources, just call
JvmResolve.analyze(environment) and inspect the resulting module
- In AbstractLocalClassProtoTest, create container via
TDAForJVM.createContainer
- Inline single module container creation into AbstractDiagnosticsTest
2016-10-26 16:31:04 +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
4e7542b07d
Filter out non-builtin package fragments from module when needed
...
In subsequent commits, a JVM module will be able to have up to two package
fragments for a given package FQ name. For example, for package "kotlin" in
kotlin-runtime.jar there will be a LazyJavaPackageFragment with binary
(Kotlin+Java) dependencies, and a BuiltInsPackageFragment for built-ins
metadata (which is loaded from kotlin/kotlin.kotlin_builtins)
2016-10-25 15:42:33 +03:00
Alexander Udalov
ccd480236a
Add mock JDK and mock runtime to light class tests
2016-10-25 15:42:33 +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
Alexander Udalov
c0147860bd
Allow multiple ClassDescriptorFactory instances in deserialization
2016-10-25 15:42:32 +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
d279ded714
Add license and links to rewritten ASM classes
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
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
76523cc175
Split JvmDependenciesIndex to several files, move to 'index' package
2016-10-24 15:30:38 +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
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
Alexander Udalov
4c52ce37d2
Drop TargetPlatform in utilities for module creation
2016-10-21 17:10:40 +03:00
Alexander Udalov
9ec781e859
Get rid of ModuleDescriptor#defaultImports, use DefaultImportProvider
2016-10-21 17:04:59 +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