Dmitry Jemerov
af7de9a0c5
Warn when running the compiler under Java 6 or 7
...
(cherry picked from commit 5537800)
(cherry picked from commit 5614874)
2017-03-01 16:21:57 +01:00
Alexander Udalov
559da842c0
Clear reflection caches in black box codegen tests
...
To prevent tests from altering outcomes of the subsequent tests.
Also expose the clearCaches method (in the internal class
ReflectionFactoryImpl) so that it can be used in other places in similar
circumstances
2017-02-28 20:19:58 +03:00
Alexander Udalov
a9678010a8
Invert LanguageFeature responsible for warning on coroutines
...
The problem was that LanguageVersionSettingsImpl.DEFAULT did not have
"WarnOnCoroutines" as a feature and so it was manually added to the settings,
but only in two places: in the compiler and in the IDE
2017-02-22 18:55:48 +03:00
Alexander Udalov
21449763ab
Add extension CompilerConfiguration.languageVersionSettings for convenience
2017-02-21 10:58:19 +03:00
Alexander Udalov
d499998655
Inject CompilerConfiguration instead of LanguageVersionSettings
...
LanguageVersionSettings can be read from the configuration. Also, the
configuration may be used for other stuff, not related to language version
settings, soon
2017-02-20 16:18:00 +03:00
Alexander Udalov
4b31e75550
Refactor createContainerForLazyResolve/createLazyResolveSession
2017-02-20 16:18:00 +03:00
Alexander Udalov
ee1152bc98
Simplify injection of LanguageVersionSettings into JVM analysis
...
Pass the LanguageVersionSettings instance inside the CompilerConfiguration,
since it's needed anyway. In compiler and tests, the configuration comes from
KotlinCoreEnvironment; in IDE, we're constructing it in JvmAnalyzerFacade
2017-02-20 16:18:00 +03:00
Alexander Udalov
71fcb07fad
Infer API version from older runtime in compiler's classpath
...
For example, if you invoke kotlinc 1.1 with kotlin-stdlib 1.0 in the classpath,
we now infer -api-version 1.0 automatically
2017-02-15 20:43:25 +03:00
Dmitry Jemerov
95bfe8668d
UAST tests no longer leave a disposed application around
2017-02-15 12:56:21 +01:00
Stanislav Erokhin
b6fa10cf9e
Disable some features when LV=1.1 API=1.0.
...
Feature list:
- bound callable references
- local delegated properties
- coroutines.
#KT-16017 Fixed
2017-02-13 20:29:38 +03:00
Alexander Udalov
9397b16bb9
Minor, fix typo in comment
2017-02-13 14:10:19 +03:00
Alexander Udalov
8a79482c5c
Minor, rename packageFacadeProvider -> packagePartProvider
2017-02-08 19:23:18 +03:00
Mikhael Bogdanov
37a94eaf07
Use appropriate ApiVersion if LanguageVersion is specified in test
2017-02-08 09:10:22 +01:00
Denis Zharkov
4b9e20ab8c
Rethrow boxError in case of test failure
2017-02-07 12:48:06 +03:00
Alexander Udalov
85e55810a7
Merge light-analysis tests into black box codegen tests
...
#KT-15382 Fixed
2017-02-06 19:41:29 +03:00
Alexander Udalov
5bd1a35eb1
Refactor bytecode listing & light analysis tests
...
Simplify AbstractLightAnalysisModeCodegenTest so that its logic can be merged
with black box codegen tests
2017-02-06 19:41:20 +03:00
Alexander Udalov
e5680565b3
JS: drop "-kjsm" flag, merge logic with "-meta-info"
...
#KT-16049 Fixed
2017-01-30 11:31:03 +03:00
Denis Zharkov
8fa8ba7055
Move coroutine-related runtime parts to kotlin.coroutines.experimental package
...
#KT-15975 Fixed
2017-01-27 23:24:13 +03:00
Zalim Bashorov
4a72404ac2
Support a larger set of symbols as module name in "MODULE" directive
2017-01-27 23:15:43 +03:00
Mikhael Bogdanov
0006a04b01
Report warning on hided override by delegation when compile to 1.0 version
2017-01-26 14:32:33 +01:00
Dmitry Petrov
b9f9894310
KT-15677 KT-15775
...
Update parser & descriptor renderer to handle parenthesized types and function types properly.
Resolve annotations in parenthesized types.
AnnotationsImpl.isEmpty() returned false for targeted annotations only
(e.g., 'fun @receiver:Ann C?.foo()').
Properly keep track of targeted annotations.
2017-01-19 09:53:17 +03:00
Mikhael Bogdanov
7a27a9d51f
Propagate 'CompilerConfiguration' to frontend checkers
2017-01-18 10:23:40 +01:00
Denis Zharkov
6a1ad3a279
Get rid of unnecessary additional declarations in tests
2017-01-14 13:24:53 +03:00
Roman Elizarov
8d6a913cee
CoroutineContext and ContinuationInterceptor (instead of dispatcher)
2017-01-14 13:24:53 +03:00
Mikhael Bogdanov
e5b8943d41
Added 'languageVersion' parameter to DiagnosticTestLanguageVersionSettings
2017-01-13 18:01:05 +01:00
Mikhail Glukhikh
c09a71b178
Multi-platform refactoring: get rid of PlatformKind (replace with MultiTargetPlatform)
2017-01-12 18:58:13 +03:00
Alexander Udalov
5556c59fc9
Render platform name in multiplatform diagnostic tests
...
Prepend the platform name to the diagnostic in a common module, which is
reported when sources of that common module are analyzed as a part of the
platform source set: "<!JVM:...!> ... <!>". Fix some existing tests, mostly by
adding "impl" to implementations
2016-12-26 17:06:15 +03:00
Alexander Udalov
7d3628b9be
CheckerTestUtil: introduce ActualDiagnostic to encapsulate Diagnostic
2016-12-26 17:01:20 +03:00
Alexander Udalov
6cfc42666c
Refactor CheckerTestUtil
...
Simplify code somewhat, prepare for a larger refactoring
2016-12-26 16:49:58 +03:00
Alexander Udalov
5402d50ea3
Light analysis tests: do not render empty lines between classes and in the beginning
2016-12-23 22:30:48 +03:00
Alexander Udalov
7146a6db74
Minor, drop unused DiagnosedRange#file
2016-12-23 22:30:16 +03:00
Alexander Udalov
0e11615780
J2K diagnostic tests: prettify
2016-12-23 22:30:06 +03:00
Alexander Udalov
8c0be58f56
J2K diagnostic tests: convert to Kotlin
2016-12-23 22:30:01 +03:00
Alexander Udalov
4e4f9312bb
J2K diagnostics tests: rename .java -> .kt
2016-12-23 22:29:57 +03:00
Alexey Andreev
e2d969d8b0
JS: implement new coroutine convention
2016-12-15 23:58:20 +03:00
Denis Zharkov
845e116aa9
Update bytecodeText and bytecodeListing tests on coroutines
2016-12-15 23:58:00 +03:00
Denis Zharkov
8387d04425
Revert "Add special tests for interceptRun support"
...
This reverts commit 01c21e218a .
2016-12-15 23:57:59 +03:00
Stanislav Erokhin
e014fb7181
Added coroutine import to back-end test.
2016-12-15 23:57:52 +03:00
Denis Zharkov
6649f64e9f
Support new coroutine convention in JVM backend
2016-12-15 23:57:40 +03:00
Dmitry Petrov
1866a33781
Check classpath version consistency.
...
Add 'Kotlin-version' attribute to kotlin-runtime and kotlin-reflect JARs.
2016-12-13 21:08:59 +03:00
Mikhail Glukhikh
57da92b862
Infrastructure change: module descriptor now knows its platform kind & its sources kind
2016-12-13 18:53:55 +03:00
Stanislav Erokhin
59efedf610
Rename platform to header.
2016-12-13 18:00:00 +03:00
Yan Zhulanow
cbef0250aa
Allow to turn the first parameter of a SAM-converted lambda into the receiver (KT-12848)
2016-12-09 20:01:21 +03:00
Ilya Gorbunov
84a7e3c032
Add tests for enhanced java signatures based on AbstractResolvedCallsTest.
...
Refactor AbstractResolvedCallsTest to support multiple carets (multiple methods being tested for resolve) in testdata file.
2016-12-08 20:22:17 +03:00
Alexander Udalov
414daef001
Rename KotlinVersion->KotlinCompilerVersion, move to module util.runtime
...
Rename to avoid confusion with the recently added kotlin.KotlinVersion
2016-12-07 21:11:15 +03:00
Mikhail Zarechenskiy
bd14c24592
Allow LANGUAGE_VERSION directive in codegen tests
2016-12-05 22:10:08 +03:00
Yan Zhulanow
92282072fc
Enable light class analysis mode for AbstractLightAnalysisModeCodegenTest. See also the previous commit.
...
Note that no test data files are changed, it means that light classes with the light analysis mode enabled are the same as with the full analysis.
2016-12-05 19:57:48 +03:00
Yan Zhulanow
328286ab14
Use box tests to check if the light analysis mode (without analyzing bodies when possible) produces the same result as the complete analysis. See also the next commit in which light analysis mode is applied. Note that no tests were changed.
2016-12-05 19:57:47 +03:00
Mikhail Zarechenskiy
160d43fe2e
Introduce new feature: division by zero in constant expressions
2016-12-02 17:42:56 +03:00
Alexander Udalov
8d3f6f1ce7
Check platform<->impl declaration compatibility
...
For each platform declaration, there must be at least one impl declaration in
the module with the compatible signature; similarly, for each impl declaration,
there must be at least one platform declaration with the compatible signature.
Note that currently the presence of the 'impl' modifier is not checked yet.
Also, the sad fact is that if you have platform and impl declarations which are
not compatible, you get two errors: on the platform delcaration and on the impl
declaration. This needs to be addressed as well
2016-11-25 20:50:26 +03:00