Denis Zharkov
92bd6880da
Add AdditionalBuiltInsMembers language feature and relevant checks
2016-06-09 17:57:15 +03:00
Denis Zharkov
1b82e43d76
Add LanguageFeatureSettings parameter to single method in checkers interfaces
...
This parameter will be used further for target-dependent checks
Also introduce SimpleDeclarationChecker/SimpleCallChecker sub-interfaces (more weak ones)
Implementing them instead of base checkers is more convenient in most cases
2016-06-09 17:57:15 +03:00
Alexander Udalov
ee8ca0b850
J2K JavaElementCollectionFromPsiArrayUtil
2016-06-09 17:28:56 +03:00
Alexander Udalov
db3e0798c8
Minor, move the Lombok hack a bit higher
2016-06-09 16:38:47 +03:00
Stanislav Erokhin
4f943dcbf8
KT-11778 Exception in Lombok plugin: Rewrite at slice FUNCTION
...
#KT-11778 Fixed.
EA-64051 Fixed.
2016-06-09 14:22:23 +03:00
Stanislav Erokhin
de97bc2a05
Minor. simplified creation of simple type with default scope.
2016-06-09 12:58:16 +03:00
Stanislav Erokhin
797ef8d143
Refactoring. Removed all usages of asSimpleType except related to TypeSubstitution.
2016-06-09 12:58:05 +03:00
Stanislav Erokhin
dd362f683c
Corrected util method getFunctionTypeForSamType for flexible types.
2016-06-09 12:58:03 +03:00
Stanislav Erokhin
a6da15f8e2
Minor. remove several methods from TypeUtils
2016-06-09 12:58:02 +03:00
Stanislav Erokhin
203c4cd94d
Remake Raw type representation.
...
(cherry picked from commit b21cede)
2016-06-09 12:57:53 +03:00
Stanislav Erokhin
1eaefa7fed
Refactoring. Remove type capability Flexibility.
2016-06-09 12:57:50 +03:00
Stanislav Erokhin
957bae18be
Refactoring. Move flexible type creation to KotlinTypeFactory.
2016-06-09 12:57:44 +03:00
Stanislav Erokhin
3a451744c5
Introduce KotlinTypeFactory
2016-06-09 12:57:43 +03:00
Denis Zharkov
7dda2d9f62
Add ability to set up source element when copying descriptor
2016-06-08 18:53:16 +03:00
Denis Zharkov
e97376bb2c
Introduce coroutine-related API into built-ins
2016-06-08 18:53:16 +03:00
Denis Zharkov
329fb9d619
Introduce 'coroutine'/'suspend' modifiers
2016-06-08 18:53:16 +03:00
Pavel V. Talanov
d5b486eb80
Refactor LazyClassDescriptor and minor changes
...
Minor: get script definition once
Refactor: get rid of 'LazyClassDescriptor#getInjectedSupertypes'
Minor: rename scope
2016-06-07 21:13:03 +02:00
Ilya Chernikov
478ae96e50
Implement a compiler config key to add preconfigured extra imports for scripts
2016-06-07 21:13:01 +02:00
Ilya Chernikov
3e6616de42
Read script config if appropriate flag is specified, fix classpath handling
2016-06-07 21:12:58 +02:00
Ilya Chernikov
9ed8dec9fb
Make a marker interface to allow ScriptDependenciesClassFilter to be used in the resolving
2016-06-07 21:12:55 +02:00
Ilya Chernikov
5c37017484
Prepare infrastruct for fixing customized script resolving
...
Move ConfigManager and ClassFinder to the idea-analysis
Add (back) IndexableSetContributor
Add a method in ConfigManager to generate all dependencies scope
Add and use delegating scope with possibility to get base scope from it (used in the class finder)
2016-06-07 21:12:54 +02:00
Alexey Sedunov
96132fa61a
Rename: @JvmName support
...
#KT-8044 Fixed
#KT-9432 Fixed
2016-06-02 15:28:27 +03:00
Pavel V. Talanov
76971eca70
Refactor LanguageFeatureSettings: Add LanguageVersion and LanguageFeature entities
2016-05-26 22:16:47 +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
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
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
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
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
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
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
1492c71e88
Refactor old test utility in LoadDescriptorUtil
...
Also make USE_TYPE_TABLE a flag in CompilerConfiguration instead of an extra
boolean parameter in numerous methods
2016-05-23 14:47:00 +03:00
Alexander Udalov
a85e98a078
Minor, inline unnecessary method of TopDownAnalyzerFacadeForJVM
...
The TopDownAnalysisMode parameter was TopLevelDeclarations everywhere
2016-05-23 14:47:00 +03:00
Alexander Udalov
6d6488e795
Pass CompilerConfiguration to TopDownAnalyzerFacadeForJVM
...
In most cases, the configuration can be loaded from KotlinCoreEnvironment. In
other cases, such as IDE tests, there's no environment, so we pass EMPTY. Since
currently the configuration is only used to load incremental compilation
components and module information, it's fine to pass EMPTY
2016-05-23 14:47:00 +03:00
Alexander Udalov
6c0ff40197
Move JVMConfigurationKeys to frontend.java
...
Similarly to K2JVMCompilerArguments, they will soon be needed in the IDE code.
Move COMPILER_JAR_LOCATOR to CLIConfigurationKeys because it's used both in JVM
and JS, and only in CLI. Other keys, non-relevant in the IDE, may be moved out
soon as well, such as incremental compilation components
2016-05-23 14:47:00 +03:00
Dmitry Petrov
59472927cd
KT-11588 Type aliases
...
Light class generation: do not fail on type aliases
TODO: actual binary representation for type aliases
2016-05-20 14:17:24 +03:00
Stanislav Erokhin
8c2d68fff0
Refactoring. Move specificity relations into TypeSpecificityComparator component.
2016-05-20 09:32:53 +03:00
Denis Zharkov
ef940ab0df
Add new 'HiddenInResolution' kind
...
It's used to hide additional built-ins members loaded from JDK
Such methods can be overridden and called only with 'super'-receiver
2016-05-16 15:38:13 +03:00
Denis Zharkov
1501a042e9
Add possibility to add annotations when building FunctionDescriptor copy
...
It's being used in next commits to add Deprecated annotation
to unknown additional built-ins members
2016-05-16 15:38:13 +03:00
Alexander Udalov
d85884426e
Minor optimization of lookup tracker records
2016-04-29 15:21:26 +03:00
Valentin Kipyatkov
b551886889
Code cleanup: removed redundant semicolons
2016-04-29 11:26:25 +03:00
Stanislav Erokhin
5fe48313e9
Refactoring. Merge CustomSubstitutionCapability, CustomFlexibleRendering and RawTypeTag into RawTypeCapability.
2016-04-27 14:13:58 +03:00
Denis Zharkov
5bc5722051
Load additional JDK functions into built-ins member scope
...
#KT-5990 Fixed
#KT-7127 Fixed
#KT-10370 Fixed
2016-04-25 17:41:08 +03:00
Denis Zharkov
f104be16cf
Minor. Keep substitution in CopyConfiguration instead of originalSubstitutor
2016-04-25 17:41:08 +03:00
Denis Zharkov
5bf39689e9
Replace irrelevant usages of JvmBuiltIns.Instance with DefaultBuiltIns.Instance
2016-04-25 17:41:08 +03:00
Denis Zharkov
c667f50741
Delete TargetPlatform.builtins
...
Replace it's usages with relevant singleton reference
2016-04-25 17:41:08 +03:00
Denis Zharkov
ef18d64931
Parametrize module creation by platform with built-ins
2016-04-25 17:41:08 +03:00
Denis Zharkov
c4a899d9a4
Get rid of some targetPlatform.builtIns usages
...
Retrieve builtIns from module itself when adding dependencies on them
2016-04-25 17:41:08 +03:00
Stanislav Erokhin
a1d052b8fa
Refactoring. Remove FlexibleTypeFactory.DEFAULT and refactor flexible type creation by special fq-name for tests.
2016-04-25 15:28:46 +03:00
Stanislav Erokhin
0a4ad3f267
Refactoring. Rename FlexibleTypeCapabilities -> FlexibleTypeFactory. Also use factory.create instead of DelegatingFlexibleType.create.
2016-04-25 15:28:46 +03:00
Alexander Udalov
ad068ed4ac
Do not call findKotlinClass when loading class annotations
...
The main change is in AbstractBinaryClassAnnotationAndConstantLoader, where we
no longer perform unnecessary IO operations for classes which are already
loaded to memory
2016-04-14 21:08:36 +03:00