Denis Zharkov
5ec62108ee
Rename RestrictsSuspendExtensions -> RestrictsSuspension
2016-12-16 18:56:30 +03:00
Roman Elizarov
7b079bd1f7
Renaming after DM
2016-12-15 23:58:22 +03:00
Dmitry Petrov
9fd1ac72a9
Purge remaining traces of @AllowSuspendExtensions.
2016-12-15 23:58:19 +03:00
Stanislav Erokhin
b88c8ea2e7
Support checks for annotation RestrictSuspension.
2016-12-15 23:58:12 +03:00
Stanislav Erokhin
42440f50dc
Remove soft keyword coroutine & isCoroutine from ValueParameterDescriptor.
2016-12-15 23:57:56 +03:00
Stanislav Erokhin
642ea81625
Remove annotation Suspend. Use modificator instead.
2016-12-15 23:57:47 +03:00
Denis Zharkov
72401efb9f
Update coroutine related runtime parts
2016-12-15 23:32:08 +03:00
Roman Elizarov
852a5ee064
New coroutine builder convention API
2016-12-15 23:32:07 +03:00
Mikhail Zarechenskiy
62ac91a121
Add operator 'rem' to builtIns
...
Also deprecate operator 'mod'
2016-12-14 15:29:00 +03:00
Mikhael Bogdanov
95a47e56f7
InlineExposed usages are changed to PublishedApi
2016-12-09 11:55:14 +01:00
Denis Zharkov
2c3b0aeddb
Add 'suspendWithCurrentContinuation' and 'Suspend' object in built-ins
...
They are part of the new suspension convention, relevant
support in backends will be added in later commits
#KT-14924 In Progress
2016-11-29 14:14:50 +03:00
Alexander Udalov
eedad9194e
Drop KParameter.isNoinline, KParameter.isCrossinline
...
There seems to be no valuable use cases for them at the moment
2016-11-15 11:01:17 +03:00
Alexander Udalov
7e82d139cf
Drop KFunction.isTailrec
...
The fate of this modifier seems unclear, and there doesn't seem to be any
valuable use cases for it in reflection
2016-11-15 11:01:16 +03:00
Ilya Gorbunov
b96deac09c
Annotate TYPEALIAS annotation target being available since Kotlin 1.1
2016-11-14 01:04:31 +03:00
Ilya Gorbunov
1a471d7f6b
Annotate new enum-related API with SinceKotlin.
2016-11-04 04:18:51 +03:00
Ilya Gorbunov
11bb10e7f7
Annotate new DslMarker annotation with SinceKotlin
2016-11-03 22:34:59 +03:00
Michael Bogdanov
fd6d4c352c
Special enum function support; Fix for KT-10569: Cannot iterate over values of an enum class when it is used as a generic parameter
...
#KT-10569 Fixed
2016-11-03 14:27:13 +03:00
Denis Zharkov
7553d3f72b
Intoduce and support DslMarker annotation
...
#KT-11551 In Progress
2016-11-01 15:58:14 +03:00
Ilya Gorbunov
62fb47d137
Introduce bitwise operations and/or/xor/inv for Byte and Short. #KT-13554
...
Annotate new bitwise operations with SinceKotlin.
2016-10-26 16:35:46 +03:00
Alexander Udalov
035d6156a7
Drop Cloneable in JS, synthesize it at compile-time on JVM
...
Use the same approach that is used for creating function type classes
(Function{0,1,...}) + add Cloneable to supertypes of Array and primitive arrays
#KT-5537 Fixed
2016-10-25 15:42:33 +03:00
Alexander Udalov
3f5d3e5dbc
Fix errors and indent in built-ins sources
2016-10-24 15:30:40 +03:00
Alexander Udalov
6b6ddf5f75
Import classes from kotlin.coroutines by default, add to default imports in JS
2016-10-24 15:30:38 +03:00
Valentin Kipyatkov
2b2042860d
Fixed ParameterName annotation target
2016-10-14 12:24:43 +03:00
Dmitry Petrov
e7ca00d91b
Support @SinceKotlin annotation for type aliases.
2016-10-13 17:52:21 +03:00
Dmitry Petrov
344bb03e8c
Annotations on type aliases: add annotation target TYPEALIAS,
...
use it for @Deprecated and @Suppress.
2016-10-13 17:52:21 +03:00
Ilya Gorbunov
2a7717214b
Annotate new API with @SinceKotlin in kotlin-runtime except reflection and type aliases.
2016-10-13 08:37:31 +03:00
Alexander Udalov
383b7f89a6
Annotate ParameterName with SinceKotlin("1.1")
2016-10-12 17:07:10 +03:00
Alexander Udalov
ed1490dbc4
Add SinceKotlin("1.1") annotation to new reflection API
2016-10-12 17:07:10 +03:00
Valentin Kipyatkov
59269ef1ae
ParameterName annotation on type argument used to hold parameter name
2016-10-11 23:38:51 +03:00
Alexander Udalov
167ab1f860
Introduce "-api-version" CLI option
...
The `@SinceKotlin("X.Y.Z")` annotation now hides a particular declaration from
resolution when the API version specified by the `-api-version` option is
_less_ than X.Y.Z. The comparison is performed as for versions in Maven:
MavenComparableVersion is in fact a copy of
org.apache.maven.artifact.versioning.ComparableVersion.
Also support "!API_VERSION" directive in diagnostic tests
#KT-14298 Fixed
2016-10-11 17:46:01 +03:00
Alexander Udalov
e3df8ed2fe
Introduce SinceKotlin annotation, check validity of its value
...
#KT-14297 Fixed
2016-10-11 17:45:51 +03:00
Ilya Gorbunov
3baf2f8942
Use fully-qualified references to exceptions in kotlin-runtime
2016-10-10 20:14:32 +03:00
Ilya Gorbunov
71af020beb
Use explicit public visibility in kotlin-runtime.
2016-09-20 17:38:51 +03:00
Alexander Udalov
5b1ee13db8
Make KClasses for primitives equal to KClasses for wrapper types
...
Both primitive int and wrapper type java.lang.Integer are represented by the
single type kotlin.Int in Kotlin, so inequality between the corresponding
KClasses was confusing here. To keep the old behavior, one may call 'k1.java ==
k2.java' instead of `k1 == k2`
#KT-13462 Fixed
2016-08-15 19:41:47 +03:00
Alexander Udalov
7f142253bf
Reflection: simplify KTypeProjection
2016-08-08 17:54:11 +03:00
Alexander Udalov
a7f4037206
Reflection: change order of arguments of inner generic type
...
As in KClassifier.createType and everywhere in the compiler, specify arguments
for the innermost type first. This is more convenient to use because generally
the construction/introspection of such type starts from the innermost class
anyway (i.e. something like generateSequence can be used, without the need to
call .reverse() in the end)
2016-08-08 17:54:11 +03:00
Alexander Udalov
d78988a12a
Reflection: add KVisibility, KClass.visibility, KCallable.visibility
2016-08-08 17:54:11 +03:00
Alexander Udalov
7e317f7a7c
Reflection: add API for declaration modifiers
...
#KT-10447 Fixed
2016-08-08 17:54:11 +03:00
Alexander Udalov
ada81923dc
Reflection: add KClass.isInstance, KClass.cast, KClass.safeCast
...
#KT-11284 Fixed
2016-08-08 17:54:11 +03:00
Alexander Udalov
4cd252d9d5
Reflection: add KClass.{supertypes,superclasses,allSupertypes,allSuperclasses}
...
Some things are not implemented yet for allSupertypes, such as KType->Type
mapping of types and generic substitution of built-in types
2016-08-08 17:54:11 +03:00
Alexander Udalov
170ea4dead
Reflection: add KVariance, KTypeParameter.{variance,upperBounds,equals,hashCode}
2016-08-08 17:54:11 +03:00
Alexander Udalov
127e7ab5b7
Reflection: add KClass.typeParameters, KCallable.typeParameters
...
Inheritance from KCallable is removed in kt9078.kt because it was irrelevant to
the test and because it gets in the way of modification of KCallable
2016-08-08 17:54:11 +03:00
Alexander Udalov
f69cc01f8e
Reflection: add KTypeProjection and KType.arguments
...
#KT-8998 In Progress
2016-08-08 17:54:11 +03:00
Alexander Udalov
c1dd831e65
Reflection: add KType.classifier
...
#KT-8998 In Progress
2016-08-08 17:54:11 +03:00
Alexander Udalov
2ab0f489b5
Reflection: add KClassifier, KTypeParameter, KTypeParameter.name
...
The ability to obtain classifier from types is going to be added later
2016-08-08 17:54:11 +03:00
Denis Zharkov
915e36cb02
Add Map.getOrDefault method as PlatformDependent declaration with refined signature
...
- First parameter should have type of K instead of Any
- Special bridge should return second parameter if a key has wrong type
- Special bridge may throw an exception if defaultValue has wrong type
#KT-13209 Fixed
2016-07-27 18:46:13 +03:00
Alexander Udalov
8f33830f29
Suppress UNCHECKED_CAST instead of CAST_NEVER_SUCCEEDS in several places
...
This is related to KT-6611 being fixed recently. Note that not all cases of
incorrect "cast never succeeds" were fixed
2016-07-13 13:42:42 +03:00
Dmitry Jemerov
e492d23d58
more sensible docs for @MustBeDocumented
2016-07-12 16:23:58 +02:00
Denis Zharkov
2cc09f928e
Allow suspend extensions for specially annotated controllers
2016-07-06 15:25:19 +03:00
Alexander Udalov
a48e1680e9
Minor, fix typo in KParameter#isOptional kdoc
2016-07-05 18:18:44 +03:00