Dmitriy Novozhilov
68d2cbf91f
Extract classes used in control flow analysis of variable into variable package
2019-01-31 17:25:13 +03:00
Dmitriy Novozhilov
1dd7365e9f
Reformat some classes in org.jetbrains.kotlin.cfg according to code style
2019-01-31 17:25:13 +03:00
Dmitriy Novozhilov
fa79f7bf30
Reformat ControlFlowProcessor according to code style
2019-01-31 17:25:13 +03:00
Dmitriy Novozhilov
80835fe6ea
Add ability to configure environment in AbstractLoadJavaTest
...
There is two methods added into `AbstractLoadJavaTest`:
- `configureEnvironment(KotlinCoreEnvironment environment)` allow to
configure environment that will be used two compilation of source test
data and loading generated `.class` files (e.g. you can register extensions)
- `getExtraClasspath()` allow to add custom libraries to classpath of
compiler
Similar methods exists in `AbstractDiagnosticsTest`
2019-01-31 17:25:13 +03:00
Dmitriy Novozhilov
68d7e51d32
Support test directive for rendering full diagnostic messages
...
New `RENDER_DIAGNOSTICS_MESSAGES` directive forces test system render
full messages for all diagnostics that found in test file
2019-01-31 17:25:13 +03:00
Dmitriy Novozhilov
2866bd84a1
Reformat BaseDiagnosticTest according to code style
2019-01-31 17:25:13 +03:00
Dmitriy Novozhilov
047f9abaf7
Make order of rendered diagnostics more stable
...
There was a bug that sometimes diagnostics on the same element with
same names but with different parameters had been reshuffled.
2019-01-31 17:25:13 +03:00
Tor Norbye
a42406f2aa
KT-29586: Add android.annotation annotations
...
KT-29586 Fixed
2019-01-31 17:12:56 +03:00
Dmitry Savvinov
4694a7963b
Allow actuals with more permissive visibility
...
Allow non-virtual expects to have actuals with more permissive
visibility.
^KT-19664 Fixed
2019-01-31 12:29:27 +03:00
Dmitry Savvinov
0338753c11
Add test on actual with more permissive visibility
...
Currently the behaviour is undesired, see KT-19664. The next commit
fixes it.
2019-01-31 12:26:58 +03:00
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
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
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
0ef4194770
[JS IR BE] Support String companion object
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
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
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
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
Ilya Chernikov
04b04ea0ee
Refactor compiler arguments to configuration conversion:
...
extract into independent functions, rearrange logic
2019-01-28 13:15:36 +01:00
Ilya Chernikov
d5d60cbc6b
Convert CliCompiler class to Kotlin
2019-01-28 13:15:35 +01:00
Ilya Chernikov
025d2d1b66
Rename .java to .kt
2019-01-28 13:15:35 +01:00
Sergey Rostov
f35185b261
Build: remove explicit dependencies to org.jetbrains.annotations
2019-01-28 13:43:08 +03:00
Sergey Rostov
0f2fb4ff82
Build: remove intellijCore/annotations.jar usages
2019-01-28 13:43:08 +03:00
Sergey Rostov
c716ef112e
Got rid of @TestOnly usages on fields
2019-01-28 13:43:08 +03:00
Svyatoslav Kuzmich
75328f26ea
[JS IR BE] Add missing KJS_WITH_FULL_RUNTIME to some tests
...
+ ranges test generator
2019-01-27 01:14:51 +03:00
Mikhael Bogdanov
ac7517dd76
Minor. Reformat
2019-01-26 08:26:50 +01:00
Mikhael Bogdanov
f2a51d3b80
Support reflection tests on Android
2019-01-26 08:26:49 +01:00
Mikhail Glukhikh
10b6ab949e
Explanation for BaseTransformedType
2019-01-25 18:05:09 +03:00
Mikhail Glukhikh
dbdc57769b
Explanation for VisitedSupertype
2019-01-25 18:05:09 +03:00
Simon Ogorodnik
dcd41bd26f
FIR: Add test for total kotlin resolve #KT-24077 Fixed
2019-01-25 18:05:08 +03:00
Mikhail Glukhikh
619bddfdbc
FIR: handle recursion in super-types correctly
...
Related to KT-24077
2019-01-25 18:05:08 +03:00
Alexander Udalov
a2f4efbc2a
Report error on state in multi-file class with -Xmultifile-parts-inherit
...
Simplify MultifileClassPartCodegen, remove related tests and change some
tests to use const val instead of val because backing fields for const
properties are stored in the facade, not parts
#KT-23701 Fixed
2019-01-25 15:57:13 +01:00
Alexander Udalov
6b5a16884c
Refactor inheritMultifileParts to be a JVM analysis flag
...
Instead of a JVMConfigurationKeys key. This will allow to use it in a
checker in 'frontend.java'
2019-01-25 15:57:13 +01:00