Commit Graph

13660 Commits

Author SHA1 Message Date
Alexey Sedunov eac0c9b2ed Kotlin Facet: Add "Use project settings" option 2016-12-19 18:27:47 +03:00
Alexey Sedunov 4ed030d7c5 Kotlin Facet: Do not serialize default values of facet configuration 2016-12-19 18:27:46 +03:00
Mikhail Glukhikh 8f57869fc5 Line marker tests for header <----> impl 2016-12-19 17:39:16 +03:00
Mikhail Glukhikh 84ebca06bc AbstractMultiHighlightingTest extracted (to provide both multi file / multi module tests) 2016-12-19 15:46:34 +03:00
Mikhail Glukhikh a846e41b46 Cleanup: KotlinLineMarkerProvider 2016-12-19 15:46:27 +03:00
Mikhail Glukhikh 39ca78f584 Multi-platform navigation fix: from class to type alias & vice versa 2016-12-19 14:56:02 +03:00
Mikhail Glukhikh 5947d49dee Multi-platform fix: no more errors for top-level impl fun / val / var in IDE 2016-12-19 14:55:49 +03:00
Denis Zharkov 5ec62108ee Rename RestrictsSuspendExtensions -> RestrictsSuspension 2016-12-16 18:56:30 +03:00
Dmitry Jemerov 63785b5f66 Migration for JS extension functions and properties marked with @native/external
#KT-15269 Fixed
2016-12-16 15:36:55 +01:00
Dmitry Jemerov ace4407032 Add 1.1 EAP repository when creating a new Gradle project with 1.1 EAP
#KT-15293 Fixed
2016-12-16 14:49:18 +01:00
Mikhael Bogdanov 761aa9df09 Report error when delegation method hides superttype override
#KT-12531 Fixed
2016-12-16 13:17:28 +01:00
Nikolay Krasko 654cecde69 Invalidate Script class finder caches as soon script classpath caches are invalidated (KT-14538)
#KT-14538 Fixed
2016-12-16 13:19:58 +03:00
Nikolay Krasko f7b60e64c9 Run invalidating script caches when reindexing is ready (KT-14538)
Explanation why it leads to red code after new project opening

 1. No script files are found after project initialization.
 2. KotlinScriptDependenciesIndexableSetContributor triggers caching classpath via getAllScriptsClasspath(). Empty classpath is cached.
 3. KotlinScriptDependenciesClassFinder.calcClassRoots() always get empty classpath.

 #KT-14538 In Progress
2016-12-16 13:19:56 +03:00
Stanislav Erokhin d7566d84d0 Fixed testdata. 2016-12-16 02:01:12 +03:00
Stanislav Erokhin ab53978793 Allowed ast access for some tests. 2016-12-16 00:57:04 +03:00
Denis Zharkov f0cda8ac8d Fix indexing of suspend function types 2016-12-15 23:58:27 +03:00
Dmitry Petrov 9fd1ac72a9 Purge remaining traces of @AllowSuspendExtensions. 2016-12-15 23:58:19 +03:00
Stanislav Erokhin 5a353412e4 Fixed KeywordCompletionTests. 2016-12-15 23:58:18 +03:00
Mikhail Zarechenskiy 2ff04f2bc5 Import kotlin.coroutines property from gradle to facet 2016-12-15 23:58:17 +03:00
Dmitry Petrov 8e3fd0efc3 If the last argument of a function is a suspend function,
suggest trailing lambda variant in completion.
2016-12-15 23:58:14 +03:00
Mikhail Zarechenskiy feefe8d6ff Propagate coroutine settings support from facet into the language version settings 2016-12-15 23:58:10 +03:00
Mikhail Zarechenskiy 091756b221 Adapt facet, map coroutine settings on three keys 2016-12-15 23:58:09 +03:00
Alexey Sedunov 9460426d26 Kotlin Facet: Add coroutine support setting 2016-12-15 23:58:08 +03:00
Dmitry Petrov 80bd916f5d 'SuspendFunction$n' should not be visible in member scopes (should be unresolved).
'SuspendFunction$n' class descriptors are created on demand by KotlinBuiltIns (and cached).
On serialization, types constructed with 'SuspendFunction$n' are written as 'Function$n' with extra flag (SUSPEND_TYPE).
On deserialization, corresponding 'SuspendFunction$n' classes are used.
2016-12-15 23:58:05 +03:00
Denis Zharkov 85db356611 Minor. Drop test on coroutine applicability 2016-12-15 23:58:03 +03:00
Denis Zharkov 4737b3dd7f Update stubBuilder/deserialization tests on coroutines 2016-12-15 23:58:02 +03:00
Stanislav Erokhin 6b4cdee887 Fix deserialization for SuspendFunction. 2016-12-15 23:57:57 +03:00
Stanislav Erokhin 42440f50dc Remove soft keyword coroutine & isCoroutine from ValueParameterDescriptor. 2016-12-15 23:57:56 +03:00
Stanislav Erokhin 0132f3eea7 Remove kotlin.coroutine package from default imports. 2016-12-15 23:57:51 +03:00
Dmitry Petrov 9dc458375a Build proper modifier list stubs for 'SuspendFunction$n<...>' types. 2016-12-15 23:57:43 +03:00
Dmitry Petrov cf4fb1eb25 Since '@A R.() -> T' is now parsed as '@A (R.() -> T)',
receiver type with modifiers or annotations should be surrounded in parentheses on rendering: '(@A R).() -> T'

This also fixes stub builder tests (which check that stubs are consistent with rendered descriptors).
2016-12-15 23:57:42 +03:00
Dmitry Petrov a15d423db4 Support modifiers on types in parser
(required for 'suspend' on functional types).

TYPE_REFERENCE element now has MODIFIER_LIST child, which hosts annotations and modifiers for the corresponding type reference.

Annotations and modifiers written before an extension function type are now parsed as annotations and modifiers for the functional type, not the receiver type.
So, '@Ann A.(B) -> C' was '(@Ann A).(B) -> C', and became '@Ann (A.(B) -> C)'.
NB: DSL_SCOPE_VIOLATION testData updated accordingly.

Type projection variance modifiers ('in', 'out') belong to a separate modifier list under corresponding type projection (not under a type reference).
'A<in suspend T>' is 'A<(in (suspend T))>', 'A<suspend in T>' is an error.

In stub builder, create a modifier list node to host annotations and modifiers (none so far; TODO properly serialize/deserialize types with modifiers).
2016-12-15 23:57:41 +03:00
Denis Zharkov b1d1128466 Minor. Move createFunctionType to core
As it will be used in the type mapper soon
2016-12-15 23:32:09 +03:00
Dmitry Jemerov b4af532cf0 Remove "experimental" tag from JS features in the UI
#KT-15175 Fixed
2016-12-15 18:03:00 +01:00
Mikhail Glukhikh 295360ad3e Navigation from header to implementation and vice versa #KT-15204 Fixed 2016-12-15 15:50:19 +03:00
Nikolay Krasko d0d583e8ee Do indent adjustment on the fly only for the first element in the line (KT-15123)
Don't interfere spacing for dot in range operator.

 #KT-15123 Fixed
2016-12-15 14:33:18 +03:00
Nikolay Krasko ab04f900df Add name of script file to script module info 2016-12-15 14:33:16 +03:00
Nikolay Krasko e359b9b6de Remove the code for idea 144 2016-12-15 14:33:13 +03:00
Nikolay Krasko 88b3d9ff3f Make sdk info and library info difference more clear in debugger 2016-12-15 14:33:11 +03:00
Alexander Udalov 6393ac5871 Check language version for deprecation via SinceKotlinInfo 2016-12-15 11:46:17 +03:00
Alexander Udalov 122c631fcf Refactor getDeprecation() -> getDeprecations()
In subsequent commits, another kind of deprecation is introduced which should
be reported alongside with deprecation by the `@Deprecated` annotation
2016-12-15 11:46:16 +03:00
Mikhail Glukhikh 3540bc008b Build fix: testPlatform3 from MultiModuleHighlightingTest 2016-12-15 11:07:33 +03:00
Ilya Chernikov 038491399b Copy (partly) context classpath extraction code from script-util to JSR223 4 Idea, use it there 2016-12-15 07:26:08 +01:00
Ilya Chernikov cb7f22ffec Refactor JSR223 to support Compilable interface, drop daemon eval engine and sample, simplify 2016-12-15 07:26:07 +01:00
Ilya Chernikov 28b01126d9 Improve type boundaries for KotlinScriptDefinition interface 2016-12-15 07:26:07 +01:00
Ilya Chernikov 7a79fff9d6 Put lines history into all data structures returned by repl, refactor storage and passing of the history for that 2016-12-15 07:26:06 +01:00
Stanislav Erokhin 3600b51d90 Minor. fix test data. 2016-12-14 23:59:38 +03:00
Nikolay Krasko 2bb48fc802 Allow empty single-line bodies in property accessors 2016-12-14 13:40:44 +03:00
Nikolay Krasko 2841931ffa Do not force new line in body for empty functions and function expressions (KT-10828)
#KT-10828 Fixed
2016-12-14 13:35:31 +03:00
Stanislav Erokhin 653d589f98 FIx tests after renaming platform to header. 2016-12-13 23:08:47 +03:00