Pavel V. Talanov
76971eca70
Refactor LanguageFeatureSettings: Add LanguageVersion and LanguageFeature entities
2016-05-26 22:16:47 +03:00
Alexander Udalov
2c516f18a0
Add tests on "-language-version" usage from Ant, Maven, Gradle
2016-05-26 22:15:39 +03:00
Alexander Udalov
bc5202a4d7
Validate "-language-version" argument value, add tests
2016-05-26 22:15:39 +03:00
Alexander Udalov
331a6ee414
Use LanguageFeatureSettings instead of JVM option for top level sealed classes
2016-05-26 22:15:39 +03:00
Alexander Udalov
98c3e030a1
Support enabling/disabling language features in diagnostic tests
2016-05-26 22:15:39 +03:00
Alexander Udalov
e1ba4480d7
Support "-language-version" CLI option for compatibility with older releases
...
Introduce LanguageFeatureSettings, instance of which should be injected by the
container and be accessible everywhere during the compilation (front-end and
back-end).
Parameters of LanguageFeatureSettings are unused in this commit, will be used
later
2016-05-26 22:15:39 +03:00
Alexey Sedunov
ec0f21c887
Spring Support: Fixed rename of custom-named beans specified with Kotlin annotation
...
#KT-12096 Fixed
2016-05-26 20:59:09 +03:00
Alexey Sedunov
076e31c0f8
Spring Support: Automatic configuration by @Import and @ComponentScan ("basePackages"/"basePackageClasses")
...
#KT-12135 Fixed
#KT-12139 Fixed
2016-05-26 20:59:07 +03:00
Alexey Sedunov
d69140b7fe
Code Insight: Implement package references inside of string literals
...
#KT-12136 In Progress
2016-05-26 20:59:03 +03:00
Alexey Sedunov
d52e62b20d
Light Classes: Consider FakeFileForLightClass instances equivalent if they correspond to the light classes with common KtFile
...
#KT-12117 Fixed
2016-05-26 20:59:01 +03:00
Alexander Udalov
d89e907f00
Minor, comment out ignored test
2016-05-26 11:48:00 +03:00
Alexander Udalov
159d88102f
Use MODULE_NAME configuration key in JS instead of MODULE_ID
2016-05-26 11:47:30 +03:00
Alexander Udalov
05f8836f46
Move some configuration keys to JVM or to CommonConfigurationKeys
...
Move CONTENT_ROOTS and SCRIPT_DEFINITIONS_KEY to JVMConfigurationKeys because
they are only used on JVM, rename the latter to SCRIPT_DEFINITIONS.
Move MODULE_NAME to CommonConfigurationKeys to be combined with MODULE_ID in
JSConfigurationKeys in the future
2016-05-26 11:47:30 +03:00
Alexander Udalov
6674412079
Rename compilerConfigurationForTests -> newConfiguration
2016-05-26 11:47:30 +03:00
Alexander Udalov
d04624cfe9
Minor, refactor KotlinToJVMBytecodeCompiler#compileModules
2016-05-26 11:47:30 +03:00
Alexander Udalov
cad4b6973c
Introduce and use JSConfigurationKeys similar to JVMConfigurationKeys
...
Use type-safe keys in CompilerConfiguration instead of multiple parameters,
duplicated in the base class (JsConfig), derived class (LibrarySourcesConfig)
and its builder (LibrarySourcesConfig.Builder)
2016-05-26 11:47:30 +03:00
Alexander Udalov
b65980f3b7
Drop JsConfig#inlineEnabled flag
...
Use CommonConfigurationKeys#DISABLE_INLINE flag (moved from
JVMConfigurationKeys) in CompilerConfiguration instead, similarly to the JVM
compiler
2016-05-26 11:47:30 +03:00
Alexander Udalov
6889bdbef8
Add CompilerConfiguration to JsConfig
...
Will be used to store common compiler options (such as source version, inline
disabled, etc) as well as JS-specific options, to unify the logic of compiler
option initialization between JS and JVM compilers
2016-05-26 11:47:30 +03:00
Alexander Udalov
116e4a5ced
Rename Config -> JsConfig
2016-05-26 11:47:30 +03:00
Alexander Udalov
2bd3211ba8
Get rid of unnecessary exceptions in JS translator
...
Before this commit, an internal error during JS translation resulted in the
actual exception wrapped in TranslationRuntimeException wrapped in
TranslationInternalException wrapped in RuntimeException being thrown. This
change gets rid of the two latter wrappings.
Also delete unthrown MainFunctionNotFoundException and related unused
constructors in TranslationException
2016-05-26 11:47:30 +03:00
Alexander Udalov
9418311bda
Pass CompilerConfiguration to CLICompiler#doExecute
...
Extract common CompilerConfiguration setup code to a separate method
2016-05-26 11:47:30 +03:00
Alexander Udalov
3c81bb4bfc
Add MessageCollector#hasErrors, get rid of MessageSeverityCollector
...
Also fix duplicated wrapping of a message collector into a message severity
collector (in CLICompiler and in the beginning of doExecute in
K2JVMCompiler/K2JSCompiler)
2016-05-26 11:47:30 +03:00
Alexander Udalov
c5e2f55ea7
Get rid of getModuleName(), pass configuration to createContextWithSealedModule
...
Add KotlinTestUtils.newConfiguration() which creates a configuration and sets
the module name to the default test one ("test-module")
2016-05-26 11:47:30 +03:00
Alexander Udalov
69343549b7
Move TEST_MODULE_NAME to KotlinTestUtils and change value to "test-module"
...
This name is more generic and thus can be used everywhere, not only in Java
integration tests
2016-05-26 11:47:30 +03:00
Alexander Udalov
3ca77de924
Remove traces of old compiler plugin architecture
...
It was retired with the deprecation and subsequent removal of the old KDoc, and
is now unused
2016-05-26 11:47:30 +03:00
Alexander Udalov
0fe39a186e
Simplify public methods of KotlinToJVMBytecodeCompiler
...
Pass as much as possible in the single CompilerConfiguration instance instead
of in separate function parameters. Add corresponding keys to
JVMConfigurationKeys.
Re changes in compileModules: since output directory (stored now under the key
OUTPUT_DIRECTORY) is different for each module, the configuration of the whole
project is no longer applicable when compiling individual modules. Thus we copy
the project configuration for each module and add the output directory value
2016-05-26 11:47:30 +03:00
Alexander Udalov
8c0f78db50
Introduce CompilerConfiguration#getNotNull and getBoolean
...
To reduce boilerplate at call sites
2016-05-26 11:47:30 +03:00
Alexander Udalov
81a0fa5f47
Minor, fix warnings and improve style in KotlinToJVMBytecodeCompiler
2016-05-26 11:47:30 +03:00
Stanislav Erokhin
4b9aac6318
Replace not debug usages of DescriptorRenderer.DEBUG_TEXT to DescriptorRenderer.FQ_NAMES_IN_TYPES.
2016-05-25 16:31:34 +03:00
Pavel V. Talanov
710e920df7
lightClassUtils: Fix CCE when trying to obtain KtLightTypeParameter
...
#KT-12259 Fixed
2016-05-25 15:58:11 +03:00
Pavel V. Talanov
62421bbf7b
'const val' are now considered constants by Java in IDEA
...
#KT-12026 Fixed
2016-05-25 15:58:09 +03:00
Pavel V. Talanov
3cb38e7f02
Implement getLanguageLevel for FakeFileForLightClass
...
#KT-12006 Fixed
2016-05-25 15:58:07 +03:00
Pavel V. Talanov
695653c447
Replace usages of blocking lazy to LazyThreadSafetyMode.PUBLICATION in light classes to prevent potential deadlocks
2016-05-25 15:44:19 +03:00
Pavel V. Talanov
65e55f045f
Fix deadlock: synchronized lazy in KtLightModifierListWithExplicitModifiers
2016-05-25 15:44:18 +03:00
Alexander Udalov
7fd2a016e7
Fix Android codegen tests: use full JDK only when needed
...
This was accidentally broken in 8a00cabce6
2016-05-25 10:29:50 +03:00
Pavel V. Talanov
f59638d60f
Minor: prettify ReplState
2016-05-24 15:42:08 +03:00
Pavel V. Talanov
9cff590366
Use ReplState to implement completion in IDE REPL
...
Consider sucessfully evaluated lines as previous lines when analyzing console file
2016-05-24 15:42:06 +03:00
Pavel V. Talanov
dcd7e6d767
Move ReplState to frontend
2016-05-24 15:42:00 +03:00
Pavel V. Talanov
5058e9b4e6
Fix import resolution in Repl
...
#KT-11428 Fixed
Refactor ReplState to be a component
2016-05-24 15:41:56 +03:00
Pavel V. Talanov
9f67072098
Minor: ScopeUtils: avoid wrapping lexical scopes several times
2016-05-24 15:41:55 +03:00
Pavel V. Talanov
27bd74f4c5
Refactor: replace LastLineScopeProvider with ReplState, extract FileScopeFactory from FileScopeProviderImpl
2016-05-24 15:41:30 +03:00
Pavel V. Talanov
3b4ade2ca0
Refactor: extract resolve related code from ReplInterpreter to CliReplAnalyzerEngine
2016-05-24 15:36:12 +03:00
Mikhail Glukhikh
9a69b8b7b5
REDUNDANT_OPEN_FOR_INTERFACE warning: reported for open members without implementation #KT-12452 Fixed
2016-05-24 14:25:27 +03:00
Mikhail Glukhikh
e66acd8101
Default modality is abstract for interface. REDUNDANT_MODIFIER_FOR_TARGET applicability reduced #KT-12302 Fixed
2016-05-24 14:25:22 +03:00
Mikhail Glukhikh
93defed324
KT-12302: ABSTRACT_MODIFIER_IN_INTERFACE warning is removed as obsolete
2016-05-24 14:25:18 +03:00
Vladislav Golub
bb32c2d350
KT-12019 Highlighting of redundant 'if' statements ( #871 )
2016-05-23 21:02:38 +03:00
Alexander Udalov
b9fb6c0d84
Remove dangerous readKotlinHeader() in inlineUtil.kt
...
It was creating a phantom FileBasedKotlinClass which was not based on any file
2016-05-23 20:00:50 +03:00
Alexander Udalov
cf19166eca
Move IC-related initialization logic to GenerationState
...
To further reduce number of parameters of GenerationState's constructor
2016-05-23 14:50:06 +03:00
Alexander Udalov
29c5e655ab
Drop several more parameters of GenerationState's constructor
...
INCREMENTAL_COMPILATION_COMPONENTS and DECLARATIONS_JSON_PATH are already in
the configuration, and Progress was unused
2016-05-23 14:50:06 +03:00
Alexander Udalov
f8816b5d67
Pass CompilerConfiguration to GenerationState instead of ton of parameters
2016-05-23 14:49:26 +03:00