Ilya Chernikov
4eb557724c
Convert compiler projects to the new intellij deps
2018-01-30 17:06:13 +03:00
Ilya Chernikov
a418a3ac49
Renaming for easier conversion, some more manual conversion
2018-01-30 17:06:13 +03:00
Ilya Chernikov
6f21c36d68
Switch first project to the new custom dependencies schema
2018-01-30 17:06:13 +03:00
Ilya Chernikov
47507ad694
Switch all usages of dx.jar to the new mechanism, cleanup and refactoring
2018-01-30 17:06:13 +03:00
Ilya Chernikov
eabbebd458
Prepare intellij sdk deps in buildSrc
2018-01-30 17:06:13 +03:00
Ilya Chernikov
c153a386ab
Fix tests
2018-01-30 17:06:11 +03:00
Ilya Chernikov
a4f28cd94f
Make all dependencies to idea sdk intransitive
2018-01-30 17:06:11 +03:00
Ilya Chernikov
0b63e11ea8
Replace android sdk dependencies with custom project build, cleanup update_dependencies.xml
2018-01-30 17:06:11 +03:00
Ilya Chernikov
98204aa2d3
Move jflex download out from update_dependencies, add lexer (ant) tasks to frontend project
2018-01-30 17:06:11 +03:00
Ilya Chernikov
361d8536ac
Switch ant usages to regular dependency
2018-01-30 17:06:10 +03:00
Ilya Chernikov
486c3a2aff
Do not depende on the ideaSdk location in integration tests
...
assume that tests are always run from the project's root
2018-01-30 17:06:10 +03:00
Ilya Chernikov
78d2c655d5
Switch native-platform usages to regular dependency
2018-01-30 17:06:09 +03:00
Ilya Chernikov
8f96157d7f
Switch kotlinx-coroutines usages to regular dependency
2018-01-30 17:06:09 +03:00
Ilya Chernikov
8bc95295eb
Drop other references to ideaSdk
2018-01-30 17:06:09 +03:00
Ilya Chernikov
9766508512
Drop drop lib folder and all (arguably obsolete) dependent usages
2018-01-30 17:06:09 +03:00
Ilya Chernikov
eb8ef6e803
Drop unused sources
2018-01-30 17:06:08 +03:00
Ilya Chernikov
74411d9b9c
Convert all compiler modules to intellij plugin
2018-01-30 17:06:06 +03:00
Ilya Chernikov
6614695616
Convert more projects
2018-01-30 17:06:06 +03:00
Ilya Chernikov
743f599262
Add infrastructure and helpers for using intellij plugin, convert first project
2018-01-30 17:06:06 +03:00
Mikhail Glukhikh
9b1f323118
Retain empty companion in KtNamedDeclarationStub.remove
2018-01-30 15:41:38 +03:00
Mikhail Glukhikh
5abb9dd23e
Create actual fix: handle companions correctly #KT-21114 Fixed
2018-01-30 15:41:37 +03:00
Mikhail Glukhikh
86f25bff63
KtVisitor: delegate constructors to KtNamedDeclaration
...
In particular, enables back "Unused symbol" on constructors
2018-01-30 15:24:39 +03:00
Mikhail Zarechenskiy
c80beea6fd
[NI] Refactoring: extract method to create resolution result out
2018-01-30 13:01:21 +03:00
Mikhail Zarechenskiy
0e31162df4
[NI] Fix substitution for receiver when resolving constructor super call
2018-01-30 13:00:44 +03:00
Mikhail Zarechenskiy
2a0bb68e1c
[NI] Fix substitution of NotNullTypeParameter
2018-01-30 13:00:43 +03:00
Mikhail Zarechenskiy
4cd07f59a0
[NI] Don't fail on captured type that contains type variable
2018-01-30 13:00:42 +03:00
Mikhail Zarechenskiy
145c04e7e2
[NI] Fix substitution of incorporation constraint type
2018-01-30 13:00:40 +03:00
Mikhail Glukhikh
cd9e298e53
getParentOfTypesAndPredicate: Class<T> -> Class<out T>
2018-01-30 11:17:27 +03:00
Alexander Udalov
0ad3872d1b
Remove unneeded constructor parameters in CallCheckerContext
2018-01-29 19:38:03 +01:00
Alexander Udalov
19e38bbc72
Do not run annotation checkers for every non-annotated element
2018-01-29 12:22:41 +01:00
Alexander Udalov
46b8deedf7
Run classifier usage checkers on constructor calls
...
In some cases, REFERENCE_TARGET for annotation entries is the annotation
class descriptor, and in others -- the constructor of that class
2018-01-29 12:22:41 +01:00
Alexander Udalov
8cd7686535
Introduce DeclarationCheckerContext, remove SimpleDeclarationChecker
2018-01-29 12:22:40 +01:00
Alexander Udalov
4cb5483c13
Introduce CheckerContext and ClassifierUsageCheckerContext
...
To reduce the number of parameters in classifier usage checker
implementations, and to unify the API with call checkers
2018-01-29 12:20:36 +01:00
Alexander Udalov
e2def0c60e
Do not report "invalid type of annotation member" on error types
...
In case the referred type is actually an enum that is not found in
dependencies due to a configuration problem, this usage could be valid.
So we can avoid reporting an error here, to reduce the number of
diagnostics.
Also do not report "default value of annotation parameter must be a
compile-time constant" in the same case for the same reason
2018-01-29 12:20:36 +01:00
Alexander Udalov
245d1de2a2
Remove runtime dependency on projectDist(":kotlin-compiler")
...
This dependency makes IDEA reindex kotlin-compiler.jar after every
Gradle build, which takes time and breaks some key IDE features
2018-01-28 10:14:24 +01:00
Dmitry Savvinov
4d951de616
Propagate nullability changes to enhancement for JSR-305 types
...
Fix TypeUtils.makeNullableAsSpecified for SimpleTypeWithEnhancement and
FlexibleTypeWithEnhancement: change nullability of enhancement too. This
fixes several false-positive warnings, like in KT-20855 and KT-20466.
Note that it removes warning in some cases (see testdata change for
uselessElvisRightIsNull.kt). However, this removes warning about
*unnecessary* elvis, i.e. this fixed introduces weak false-negatives, which
is acceptable for the moment.
#KT-20855 Fixed Target versions 1.2.30
#KT-20466 Fixed Target versions 1.2.30
#KT-21238 Fixed Target versions 1.2.30
2018-01-26 12:49:14 +03:00
Nikolay Krasko
4c76dc7287
Forbid modification for KtLambdaExpression in JavaCodeBlockModificationListener
...
See IDEA-185462 for details
2018-01-26 12:42:17 +03:00
Mikhael Bogdanov
cc346aef64
Support @JvmStatic for interface companion objects in backend
2018-01-26 10:09:21 +01:00
Mikhael Bogdanov
8bfd6d7404
Support JVM_TARGET in diagnostic tests
2018-01-26 10:09:20 +01:00
Mikhael Bogdanov
c4da370b0b
Allow to use @JvmStatic in interface companion object
2018-01-26 10:09:20 +01:00
Mikhael Bogdanov
2340756b88
Minor. Reformat
2018-01-26 10:09:20 +01:00
Dmitry Savvinov
b29a6e48fb
Refactor language features, which control effect system
...
- Introduce new language feature 'ReadDeserializedContracts', which
allows to deserialize contracts from metadata.
- Introduce new language feature 'AllowContractsForCustomFunctions',
which allows reading contracts from sources.
- Use new features instead of combination 'CallsInPlaceEffect ||
ReturnsEffect'
- Rename 'CallsInPlaceEffect' -> 'UseCallsInPlaceEffect',
'ReturnsEffect' -> 'UseReturnsEffect'. As names suggest, they control
if it is allowed to use corresponding effect in analysis.
We have to introduce separate 'ReadDeserializedContracts' to enable
contracts only in some modules of the project, because libraries are
read with project-wide settings (see KT-20692).
2018-01-26 11:30:44 +03:00
Dmitry Savvinov
78850087be
Revert reformatting for OperationsMapGenerated.kt
2018-01-26 11:00:28 +03:00
Dmitry Petrov
5e34f290ce
Reified 'as?' produces nullable result
...
Previously, this was treated as a regular CHECKCAST, causing KT-22410.
#Fixed KT-22410 Target versions 1.2.30
2018-01-26 10:22:59 +03:00
Dmitry Petrov
bd25bf14df
Minor: reformat code in org.jetbrains.kotlin.codegen.optimization
2018-01-26 10:18:17 +03:00
Cuihtlauac ALVARADO
923d9f03fc
Update test results
...
Separated issue reported: KT-22522
#KT-22369 Fixed
2018-01-25 21:15:08 +03:00
Denis Zharkov
31e73e90d6
Explicitly state that PluginDeclarationProviderFactory is source-only
...
Before this change `filesScope` was effectively empty in cases when
module info is a library, thus looking
into PackageIndexUtil.packageExists(name, indexedFilesScope, project)
was kind of redundant since it always returns false for empty scopes
The initial motivation was run by 1716720604
that made PackageIndexUtil::packageExists calls much more frequent
2018-01-25 14:41:28 +03:00
Denis Zharkov
2224f95294
Minor. Avoid wrapping GlobalSearchScope.EMPTY_SCOPE
2018-01-25 14:41:28 +03:00
Denis Zharkov
4d378912bf
Minor. Reformat JVM/JS analyzer facades
2018-01-25 14:41:28 +03:00
Alexander Udalov
543db380d2
Use isJvmInterface in JVM back-end instead of isInterface
...
To support const vals and proper initialization order for companions of
annotations (since 1.3+) as well as interfaces
#KT-16962 Fixed
2018-01-24 15:54:35 +01:00