Commit Graph

59924 Commits

Author SHA1 Message Date
Natalia Selezneva 31887d2fd1 Scripting: check if affected scripts are changed using file modification stamp instead of mark them out of date in cache
^KT-35205 Fixed
2019-12-16 14:55:47 +03:00
Natalia Selezneva ec04f0059c Scripting: do not threat comments and spaces as modifications inside essential block 2019-12-16 14:55:46 +03:00
Natalia Selezneva 2f35d6d868 Scripting: save inputs stamp and diagnostics to file attributes
Check if they are up to date and initiate configuration update only in case they are out of date

^KT-35205
2019-12-16 14:55:45 +03:00
Natalia Selezneva 13b4e8716c Changes inside initscript and pluginManagement blocks should invalidate script configuration
^KT-35129 Fixed
2019-12-16 14:55:43 +03:00
Natalia Selezneva d68c3584f2 Scripting: add test for loading configuration for gradle scripts 2019-12-16 14:55:42 +03:00
Natalia Selezneva 424a2c72b2 Implement KotlinWordsScanner
This will allow to correctly calculate the file modification crc based on it. this is needed for build.gradle.kts files which show notification about necessity of importing project. Otherwise this notification is shown on every file modification (after virtualFile save)
2019-12-16 14:55:41 +03:00
Natalia Selezneva 886e9613b8 Move script related extensions to separate xml-s 2019-12-16 14:55:40 +03:00
Natalia Selezneva 2e933507c6 Fix duplicated “Kotlin Script” definition for Gradle/Kotlin projects (KT-35096)
^KT-35096 Fixed
2019-12-16 14:55:40 +03:00
Denis Zharkov 153d894afb FIR: Optimize ConeTypeContext::asSimpleType 2019-12-16 13:09:48 +03:00
Denis Zharkov 1790dcf80c FIR: Reorder when entries in ConeTypeContext::typeConstructor
More expected types should be checked first
2019-12-16 13:09:48 +03:00
Denis Zharkov a14852a6ec Minor. Make ConeClassLikeTypeImpl final 2019-12-16 13:09:48 +03:00
Sergey Rostov ac81f046fd gradle.kts importing test: don't run on 191 (including as34) 2019-12-16 12:59:02 +03:00
Leonid Startsev a2d8e2435f Reorder steps in psi2ir so postprocessing goes before unbound symbols stub generating
This is required because currently IR compiler plugins are launched during 'postprocess' step
and for correct work they require unbound symbols for plugin-provided declarations
(see commit message of 3e18350a for detailed explanation)
2019-12-16 12:42:18 +03:00
Mikhail Glukhikh 737eaebee6 FIR resolve: fold flexible types whenever possible #KT-31528 Fixed 2019-12-16 12:06:10 +03:00
Sergey Rostov 9f5a02dc7a gradle.kts importing: fix as36 2019-12-16 11:24:35 +03:00
Mikhail Glukhikh 637e6f5acc FIR: add forgotten test data for old FE test 2019-12-16 11:10:19 +03:00
Mikhail Glukhikh acf48a1af7 Return NONE from FirSuperTypeScope if nothing is found 2019-12-16 10:50:52 +03:00
Mikhail Glukhikh 001af68495 FIR: distinguish lazy/non-lazy nested scopes more clear 2019-12-16 10:50:52 +03:00
Mikhail Glukhikh fea224749b FIR: introduce symbolProvider.getNestedClassifierScope to choose lazy/non-lazy
For some reason this breaks two old FE based tests with member type aliases.
It's not very interesting because member aliases aren't supported.
2019-12-16 10:50:52 +03:00
Mikhail Glukhikh 663d545d79 FIR: get rid of symbolProvider.getClassDeclaredMemberScope at all 2019-12-16 10:50:52 +03:00
Mikhail Glukhikh af87a183c2 FIR: get rid of symbolProvider.getClassDeclaredMemberScope usages in compiler 2019-12-16 10:50:52 +03:00
Mikhail Glukhikh f497231acd FIR: try to use JavaSymbolProvider directly in lazy nested classifier scope 2019-12-16 10:50:52 +03:00
Sergey Rostov 48d60ed4ea revert accidentally changed vcs.xml 2019-12-16 10:38:42 +03:00
Sergey Rostov 039090d2bf gradle.kts importing tests: run gradle 6.0.1 only for that test 2019-12-16 10:31:12 +03:00
Sergey Rostov 1930ab7c38 gradle.kts importing: reduce bunch files 2019-12-16 10:31:11 +03:00
Sergey Rostov c0690ff5f6 gradle.kts importing: move code to dedicated package 2019-12-16 10:31:11 +03:00
Sergey Rostov 6e3e65c490 gradle.kts importing: add support for included builds and fix sub projects 2019-12-16 10:31:11 +03:00
Sergey Rostov fef193be63 gradle.kts: add tests for importing scripts configuration 2019-12-16 10:31:11 +03:00
Sergey Rostov dcd67d79f4 gradle.kts: script models should be imported in ProjectData key, not in GradleSourceSetData
Or it will be fail if there is no source sets (see org.jetbrains.kotlin.idea.codeInsight.gradle.GradleKtsImportTest.testEmpty for reproduction)
2019-12-16 10:31:11 +03:00
Sergey Rostov fd16078a34 gradle.kts: add clearCaches method for testing 2019-12-16 10:31:11 +03:00
Sergey Rostov 559b067f91 gradle.kts: move areSimilar to utils.kt to use in tests 2019-12-16 10:31:11 +03:00
Mikhail Glukhikh 249f72585d Fix test data in FIR old FE diagnostics test
Probably broken by 13 Dec commits of Denis Zharkov
2019-12-16 10:27:05 +03:00
Igor Yakovlev 2639ed2c48 Fix invalid equality for UL methods
Potentially fixed #KT-34796
2019-12-15 23:42:31 +03:00
Anton Bannykh d6fcde7316 JS_IR: fix typecheck corner case
Consider `fun <E : I> foo(a: Any?) = a as? E`, where I is an interface.
This check used to fail, because the `a == null` was missing, and
the `isInterface` stdlib method crashes if the first argument
is null. This change adds the null check.

Also this change prettifies the instance check in case of type parameter
left operand.
2019-12-15 17:36:24 +03:00
Anton Bannykh 9a971172c9 JS: fix object expression constructor delegation to secondary constructors with default arguments (KT-30517 fixed) 2019-12-15 15:21:23 +03:00
Victor Petukhov 419d414681 NI: Update FIR test data after 07269661b4 2019-12-14 17:52:57 +03:00
Georgy Bronnikov 92c2cfa968 JVM_IR: handle property references at class level 2019-12-13 20:44:09 +03:00
Vyacheslav Gerasimov 8d303af395 Build: Add build scan server url setting 2019-12-13 20:11:18 +03:00
Vyacheslav Gerasimov 724884513e Build: Extract build cache setup to kotlin-build-gradle-plugin 2019-12-13 20:11:18 +03:00
Vyacheslav Gerasimov 68ce5dbd90 Build: Use property for disabling/enabling local build cache 2019-12-13 20:11:18 +03:00
Vyacheslav Gerasimov bfcac5b091 Build: Update kotlin-build-gradle-plugin to 0.0.4 2019-12-13 20:11:18 +03:00
Vyacheslav Gerasimov 283933ace5 Build: Add localBuildCacheEnabled property 2019-12-13 20:11:18 +03:00
Vyacheslav Gerasimov 729b4d33cf Build: Replace deprecated compile configuration with implementation in build script of buildSrc 2019-12-13 20:11:18 +03:00
Vyacheslav Gerasimov 85dcc65695 Build: Use kotlin-build-gradle-plugin in build script of buildSrc 2019-12-13 20:11:18 +03:00
Alexander Shustanov c9cba34d67 KT-35454 Weird implementation of KtUltraLightFieldImpl.isEquivalentTo 2019-12-13 20:07:45 +03:00
Dmitry Savvinov f45c11c6f2 Use constantSdkDependencyIfAny in getKeyForSdk as well 2019-12-13 19:11:02 +03:00
Dmitriy Dolovov 5b8be16f13 Kotlin/Native IDE plugin clean-up
- Re-organize classes
2019-12-13 15:52:25 +03:00
Dmitriy Dolovov 36ed29d4d5 Convert KotlinNativeMetaBinary from Java to Kotlin 2019-12-13 15:52:17 +03:00
Dmitriy Dolovov 511a4089ca Kotlin/Native IDE plugin clean-up
- Drop KotlinNativeMetadataVersion in favor of KlibMetadataVersion
- Drop KotlinNativeProtoBasedClassDataFinder in favor of KlibMetadataClassDataFinder
2019-12-13 15:52:10 +03:00
Dmitriy Dolovov 992a702762 Minor: organized imports 2019-12-13 15:52:03 +03:00