Alexey Tsvetkov
0be4299c8a
Refactoring: extract JPS specific code from compiler-runner
2016-12-19 22:46:12 +03:00
Alexey Tsvetkov
1f21a0ec90
Add compiler daemon client and runner to maven build
2016-12-19 22:46:12 +03:00
Alexey Tsvetkov
eac76915be
Minor: remove ImmutableMapBuilder reference from CompilerOutputParser
2016-12-19 22:46:12 +03:00
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