Commit Graph

36166 Commits

Author SHA1 Message Date
Alexey Tsvetkov c8394cd0cc Convert CompilerOutputParser: convert to kotlin 2016-12-19 22:46:12 +03:00
Alexey Tsvetkov d587c3091c Convert CompilerOutputParser: rename file 2016-12-19 22:46:12 +03:00
Alexey Tsvetkov 896d81143c Introduce compiler-runner module 2016-12-19 22:46:12 +03:00
Alexey Tsvetkov e3550c5ea2 Convert CompilerEnvironment to Kotlin: actual conversion 2016-12-19 22:46:12 +03:00
Alexey Tsvetkov f98dde4543 Convert CompilerEnvironment to Kotlin: rename file 2016-12-19 22:46:12 +03:00
Stanislav Erokhin 04fddc7139 Discriminate header classes in member scope.
We made it because of non-stable name resolution when project is multi platform. For such projects in platform module we have two classifiers with the same name, but impl class or type alias should win!
2016-12-19 22:43:10 +03:00
Dmitry Jemerov 5f124e9781 Don't show "Kotlin not configured" notification for projects that have Kotlin common runtime in scope
#KT-15331 Fixed
2016-12-19 19:21:10 +01:00
Yan Zhulanow 568523b065 Kapt3: Set correct compiler options when the annotation processing classpath is empty (KT-15146). Disable annotation processing in Javac task a bit earlier 2016-12-19 21:18:17 +03:00
Yan Zhulanow f8edf51c1b Allopen, Noarg: Support transitive meta-annotations 2016-12-19 21:18:11 +03:00
Yan Zhulanow 82dbba838a Allopen, minor: Add test for anonymous object 2016-12-19 21:18:06 +03:00
Dmitry Jemerov bc22b67995 Index and locate .kotlin_metadata files in IDE 2016-12-19 17:40:13 +01:00
Ilya Gorbunov 2209631f1a Add SinceKotlin to new coerceIn method. 2016-12-19 18:36:52 +03:00
Ilya Gorbunov 10f8e70322 Rename ClosedComparableRange to ClosedFloatingPointRange 2016-12-19 18:36:52 +03:00
Ilya Gorbunov 919c77b950 Minor: run configuration for binary compatibility tests, clean build 2016-12-19 18:36:52 +03:00
Alexey Sedunov a84275b057 Minor: Rename "Default" platform to "Common" 2016-12-19 18:31:46 +03:00
Alexey Sedunov 332d1f6405 Multi-platform Projects: Enable multi-platform projects for platform modules which depend on common modules 2016-12-19 18:27:49 +03:00
Alexey Sedunov df33455b95 Kotlin Facet: Detect module platform using Gradle plugin id/stdlib
artifact id (Gradle import)
2016-12-19 18:27:48 +03:00
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 b363d34fd7 MemberDescriptor ancestor extracted to ClassifierDescriptorWithTypeParameters 2016-12-19 14:55:56 +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
Alexander Udalov 63cc5d872d Minor, fix test data 2016-12-19 12:15:59 +03:00
Alexander Udalov da6c3c3231 Support header/impl enum classes
- prohibit constructors for header enum classes
- prohibit bodies for header enum entries
- all entries from header enum must be present in impl enum
2016-12-19 11:54:40 +03:00
Alexander Udalov 56d4ff0cad Support nested header/impl classes 2016-12-19 11:54:38 +03:00
Alexander Udalov a57455ce62 Relax requirements on function modifiers in multiplatform projects
Allow to implement header functions with external/tailrec/inline/infix/operator
functions
2016-12-19 11:53:39 +03:00
Alexander Udalov 64867409b7 Do not report errors on 'impl' declarations with -Xno-check-impl
Allow 'impl' modifier on a declaration even if it's not an implementation of
any header declaration
2016-12-19 11:50:54 +03:00
Alexander Udalov 0634782e47 Allow open impl class for final header class 2016-12-19 11:50:49 +03:00
Alexander Udalov 546e47dc44 Allow fake overrides and delegates to be impl for header declarations
Also fix a bug with matching supertype lists of header/impl classes
2016-12-19 11:50:40 +03:00
Alexander Udalov 7deaf8cc41 Allow impl class to be data class, allow impl constructor properties 2016-12-19 11:50:30 +03:00
Alexander Udalov 3e97c9fff9 Rename platform->header, definition->impl in test data 2016-12-19 11:50:21 +03:00
Denis Zharkov a1ac77d382 Support async iterator case with coroutines
Not all the `hasNext` operators return types is exactly Z,
suspend operators return boxed versions.

So the fix is just coercing result value after invoked function to Z
2016-12-19 11:07:33 +03:00
Denis Zharkov 1076397530 Minor. Simplify suspension point processing
Move type coercing logic from transformer to ExpressionCodegen.

For suspension points it's always guaranteed that values
returned from suspension points are always can be successfully casted
to appropriate type, because they cannot return SUSPENDED marker
(it gets processed via CoroutineTransformerMethodVisitor).
2016-12-19 11:07:32 +03:00
Denis Zharkov 5dbc04abbb Refine returns codegen for suspend functions
This change should make the logic a bit more simple.
For all suspend functions/coroutines treat them in expression codegen
like they return boxed version of the original type.

Everything works fine then, except Unit type functions:
their bodies must be generated just like they're VOID and then load
Unit on stack manually.
2016-12-19 11:07:32 +03:00
Dmitry Petrov 33ed98a0d3 Update typing rules for class literal expressions.
C::class : KClass<C>
expr: T => expr::class : KClass<out T>

NB: this means Obj::class : KClass<out Obj> for object Obj.
2016-12-19 10:41:49 +03:00
Alexey Tsvetkov 9fc3d0838e Fix references from test to main in Gradle JS plugin with default output file 2016-12-17 21:46:13 +03:00
Alexey Tsvetkov b14a0d543f Add references from test to main in multiplatform test project 2016-12-17 21:32:36 +03:00
Alexey Tsvetkov 6974cdf167 Avoid adding common sources to platform source set
If common sources are added to a platform source set,
then IDE sees common src dir as a source root in a platform project,
which is incorrect.
2016-12-17 21:32:32 +03:00
Alexey Tsvetkov c6586f2ac8 Fix mapping kotlin properties in JS plugin 2016-12-17 21:32:28 +03:00
Alexander Udalov f57bbeed58 Disable runtime versions consistency checker temporarily
It should be enabled back as soon as Kotlin-Version attribute is written to
manifests of runtime jars in the Maven build
2016-12-17 20:57:05 +03:00
Alexey Andreev 22ff7c6c45 JS: when translating content of js() function, rename all free references if they point to Kotlin local variable with the same name. See KT-15212 2016-12-17 12:12:36 +03:00
Ilya Gorbunov 5ee61702ee Do not deploy examples as artifacts to maven 2016-12-17 02:25:28 +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 0949f55921 Uast update due to new diagnostic for delegation by 2016-12-16 13:17:29 +01:00
Mikhael Bogdanov 547704c179 'SubpackagesImportingScope' class update due to new diagnostic 2016-12-16 13:17:29 +01:00