Introduce 'coroutine'/'suspend' modifiers

This commit is contained in:
Denis Zharkov
2016-05-16 18:39:02 +03:00
parent 38d74a16fe
commit 329fb9d619
62 changed files with 263 additions and 17 deletions
@@ -50,6 +50,7 @@ fun copyValueParameters(
oldParameter.declaresDefaultValue(),
oldParameter.isCrossinline,
oldParameter.isNoinline,
oldParameter.isCoroutine,
if (oldParameter.varargElementType != null) newOwner.module.builtIns.getArrayElementType(newType) else null,
oldParameter.source
)
@@ -617,6 +617,7 @@ class LazyJavaClassMemberScope(
method.hasAnnotationParameterDefaultValue,
/* isCrossinline = */ false,
/* isNoinline = */ false,
/* isCoroutine = */ false,
// Nulls are not allowed in annotation arguments in Java
varargElementType?.let { TypeUtils.makeNotNullable(it) },
c.components.sourceElementFactory.source(method)
@@ -206,6 +206,7 @@ abstract class LazyJavaScope(protected val c: LazyJavaResolverContext) : MemberS
/* declaresDefaultValue = */ false,
/* isCrossinline = */ false,
/* isNoinline = */ false,
/* isCoroutine = */ false,
varargElementType,
c.components.sourceElementFactory.source(javaParameter)
)
@@ -329,7 +330,7 @@ abstract class LazyJavaScope(protected val c: LazyJavaResolverContext) : MemberS
protected abstract fun getClassNames(kindFilter: DescriptorKindFilter, nameFilter: (Name) -> Boolean): Collection<Name>
override fun toString() = "Lazy scope for $ownerDescriptor"
override fun printScopeStructure(p: Printer) {
p.println(javaClass.simpleName, " {")
p.pushIndent()