Mikhael Bogdanov
a122cba862
Switch Kotlin project to jvm-target 1.8
...
#KT-29405
2019-01-31 07:43:05 +01:00
Georgy Bronnikov
3e9c290a3a
Remove references to invisible fakes from IR backend
2019-01-31 07:55:39 +03:00
Georgy Bronnikov
ee43b5f1e9
IR. Do not generate invisible fakes
2019-01-31 07:55:39 +03:00
Leonid Startsev
8eeb9d4faa
[kx.serialization] Fix serializer resolving for file-level annotations:
...
Instantiating ContextSerializer for primitives with boxing (fixes https://github.com/Kotlin/kotlinx.serialization/issues/349 )
Unwrap nullable type when looking for general-defined serializer (fixes https://github.com/Kotlin/kotlinx.serialization/issues/351 )
Add lost java collection types and fix annotation name (fixes https://github.com/Kotlin/kotlinx.serialization/issues/343 )
2019-01-30 19:42:08 +03:00
Mikhail Zarechenskiy
738271aba6
Refactoring: rename CheckArguments -> CheckArgumentsInParenthesis
2019-01-30 14:56:33 +03:00
Mikhail Zarechenskiy
6705803d83
[NI] Fix coercion to Unit for lambdas with empty labeled return
2019-01-30 14:56:31 +03:00
Mikhail Zarechenskiy
147d7844bc
[NI] Dont' add trivial constraints with Nothing from incorporation
...
#KT-24490 Fixed
#KT-26816 Fixed
2019-01-30 13:48:33 +03:00
Mikhail Zarechenskiy
662e2287cc
[NI] Discriminate resulting type Nothing(?) at fixation stage
2019-01-30 13:48:28 +03:00
Mikhail Zarechenskiy
0b0e335cdd
[NI] Discriminate constraints with Nothing(?) lower bounds
2019-01-30 13:44:48 +03:00
Nicolay Mitropolsky
dcbd441814
Uast: aligning bunches after moving all convert* methods to KotlinConverter in 191
2019-01-30 12:42:37 +03:00
Nicolay Mitropolsky
b45172a7f8
191: Uast: support convertToAlternatives for KtFile
2019-01-30 12:42:37 +03:00
Nicolay Mitropolsky
4df72b4f79
191: Uast: refactoring: all convert* methods were moved to KotlinConverter
2019-01-30 12:42:37 +03:00
Nicolay Mitropolsky
28e19ed8c7
191: Uast: AlternativesRenderLogTest introduced
2019-01-30 12:42:37 +03:00
Nicolay Mitropolsky
8ad06314f0
191: Uast: support convertToAlternatives for KtClassOrObject
2019-01-30 12:42:37 +03:00
Nicolay Mitropolsky
9e2358e8ff
191: Uast: support convertToAlternatives for KtParameter
2019-01-30 12:42:37 +03:00
Nicolay Mitropolsky
f4c51dc6d0
191: Uast: support convertToAlternatives for KtProperty
2019-01-30 12:42:37 +03:00
Nicolay Mitropolsky
114c3be632
191: Uast: KtParameter can be converted to field
2019-01-30 12:42:37 +03:00
Nicolay Mitropolsky
529d0b8326
191: Uast: initial support for multiple required types
2019-01-30 12:42:37 +03:00
Nicolay Mitropolsky
731956db71
191: Uast: UInjectionHost moved under flag kotlin.uast.force.uinjectionhost (KT-27283)
2019-01-30 12:42:37 +03:00
Nicolay Mitropolsky
9ecd69760b
191: Revert KotlinStringTemplateUPolyadicExpression implement UInjectionHost testdata changes
2019-01-30 12:42:37 +03:00
Nicolay Mitropolsky
56dfde0428
191: Uast: making KotlinStringTemplateUPolyadicExpression implement UInjectionHost (KT-27283)
2019-01-30 12:35:17 +03:00
victor.petukhov
6f04deff0e
Remove old grammar files
...
The new grammar is located in the Kotlin spec repo: https://github.com/JetBrains/kotlin-spec/tree/spec-rework/src/grammar
2019-01-30 11:48:01 +03:00
kenji tomita
cbf6aa4ac3
Fix #KT-29567 "Remove empty class body" is a poor name for inspection text
2019-01-30 09:53:16 +03:00
Nikolay Krasko
52c46811ff
Enable JPS test runner for new JPS build (KT-29368)
...
#KT-29368 Fixed
2019-01-30 01:13:23 +03:00
Svyatoslav Kuzmich
c9e2ed4e1f
Undo unnecessary changes to stdlib
...
Partially revert "[stdlib] Reduce usage of extension functions"
2019-01-29 19:06:32 +03:00
Svyatoslav Kuzmich
0ef4194770
[JS IR BE] Support String companion object
2019-01-29 19:06:31 +03:00
Svyatoslav Kuzmich
24ab36616e
[JS] Fix runtime file order in runIrTestInNode.js
2019-01-29 19:06:31 +03:00
Svyatoslav Kuzmich
b239c80531
[JS IR BE] Add a few kotlin.test stubs to IR runtime
2019-01-29 19:06:31 +03:00
Svyatoslav Kuzmich
b49ec3edb8
Disable generation of 1.2 coroutine tests for JS_IR
...
Add directive DONT_TARGET_EXACT_BACKEND.
This directive is needed to exclude JS_IR backned but keep "compatible"
JS backend.
2019-01-29 19:06:31 +03:00
Svyatoslav Kuzmich
ab3eb06a62
[JS IR BE] Fix lowering Long comprising operators
2019-01-29 19:06:31 +03:00
Mikhail Zarechenskiy
5bcd974944
Temporary remove failing test for new inference about SAM conversions
...
Currently, it's easier to remove test completely rather than mute it
somehow as it throws exception at compile-time
#KT-29561 Open
2019-01-29 17:24:49 +03:00
Ilya Chernikov
f125600af1
Restore returning of functional types from repl eval
...
add tests for the broken case as well for the return value representation
#KT-29490 fixed
2019-01-29 15:05:37 +01:00
Mads Ager
52464fd103
JVM_IR: do not generate line number info for temporary loads.
...
Loads from compiler-introduces temporary variables to do not
correspond to loads in user code.
2019-01-29 14:25:17 +01:00
Anton Bannykh
b1f6a05aa0
JS: fix incremental suspend inline test (KT-29360 fixed)
2019-01-29 13:16:39 +03:00
Anton Bannykh
5c7072ec44
JS: add incremental suspend inline test
2019-01-29 13:16:39 +03:00
Nicolay Mitropolsky
aa88e579a6
Uast: checking that element is valid before running into resolve
...
probably will fix EA-134193
2019-01-29 11:05:27 +03:00
Dmitriy Dolovov
e59a5de314
CLion: New version 2018.3.3 (183.5153.40)
2019-01-29 09:23:50 +07:00
Alexey Tsvetkov
1103ca3a38
Fix logging in workers
...
Setting `forkMode` to `ForkMode.NEVER` switches
`isolationMode` to `IsolationMode.CLASSLOADER`.
Classloader isolation mode prevented passing task's
logger to the unit of work.
Also it might resulted in multiple daemon instances starting
in parallel.
This change removes setting `forMode` (it was unnecessary).
Also a logger is used for the fallback message instead of printing it
to stderr. An assertion is added to tests, ensuring that
the fallback does not happen.
#KT-29394 Fixed
2019-01-28 21:33:22 +03:00
Mads Ager
bb0cd92da0
JVM_IR: Fix codegeneration for missing branches.
...
This used to generate an ACONST_NULL instruction leading to incorrect
stack height for code such as:
```
if (condition) else 32
```
2019-01-28 15:41:48 +01:00
Alexander Udalov
37a149b218
Allow to specify builtInsModule for DefaultBuiltIns
...
Similarly to JvmBuiltIns, this will be needed to load built-ins from
compilation dependencies rather than the compiler class loader
2019-01-28 15:18:53 +01:00
Alexander Udalov
f2bf0dc236
Drop unneeded synthetic package fragment construction from KotlinBuiltIns
...
Instead use package views of builtInsModule
2019-01-28 15:18:52 +01:00
Alexander Udalov
e19c6ce23c
Use KotlinBuiltIns.getBuiltInsPackageScope instead of getBuiltInsPackageFragment
...
In general case, the module where built-ins are looked up
(builtInsModule) can have multiple package fragments corresponding to
the package "kotlin". Remove the misleading method
getBuiltInsPackageFragment along with its implementation details and use
the package view's scope instead (by changing
KotlinBuiltIns.getBuiltInsPackageScope), since it'll iterate over all
fragments accessible in the module and its dependencies.
The only difference between scopes of package fragment and package view
is that the latter also contains package views for subpackages, which is
why the change in BuiltInsReferenceResolverTest is necessary
2019-01-28 15:18:52 +01:00
Alexander Udalov
a419112c25
Refactor class lookup methods in KotlinBuiltIns
...
Remove external usages of get*Nullable methods, inline/remove other
methods to simplify the API facade
2019-01-28 15:18:52 +01:00
Alexander Udalov
aa8938cc1b
Minor, cleanup KotlinBuiltIns
...
Remove unused code, fix inspections
2019-01-28 15:18:52 +01:00
Alexander Udalov
4a7bd9467c
Remove obsolete BuiltInsInitializer
...
JvmBuiltIns do not use it for a long time already and work fine. It
seems that other implementations do not need it either
2019-01-28 15:18:52 +01:00
Alexander Udalov
6cd3d9f19a
Do not use DefaultBuiltIns.Instance in ESConstant
...
Add ESComponents and ESConstants to encapsulate usages of built-ins in
different functors and operators
2019-01-28 15:18:52 +01:00
Alexander Udalov
9516d6e89b
Do not use DefaultBuiltIns in contracts
...
Default built-ins represent built-ins loaded from the compiler jar via
class loader, and they may not be equivalent to the built-ins present in
the standard library that is used in compilation dependencies, in case
the compiler and stdlib versions do not match. Use built-ins from the
given module instead.
This commit deals with more-or-less obvious usages of DefaultBuiltIns;
next commits refactor the ESConstant values and related code to support
injected built-ins
2019-01-28 15:18:52 +01:00
Alexander Udalov
7561502956
Refactor AndFunctor/OrFunction: do not use strictPartition
...
Instead use a filter with a simple check. This seems to be slightly
better both for readability (`strictPartition` gave an impression that
two its parameters were related in some way, but they were totally
independent) and for performance (do not create unnecessary objects,
instead decompose the existing objects and check their structure)
2019-01-28 15:18:52 +01:00
Alexander Udalov
07931451b1
Add utilities to check if ESValue is boolean/wildcard constant
2019-01-28 15:18:51 +01:00
Alexander Udalov
cf19fa832c
Add utility to check if effect is ESReturns
...
Somewhat simplify related code in AbstractBinaryFunctor and
AbstractUnaryFunctor
2019-01-28 15:18:51 +01:00