From ba71bbde6abf474cef29120d23f8c148645224eb Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Mon, 24 Sep 2018 14:08:32 +0300 Subject: [PATCH] Extract `InvocationKind` class into separate file --- .../kotlin/contracts/description/Effects.kt | 12 +----------- .../contracts/description/InvocationKind.kt | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 11 deletions(-) create mode 100644 compiler/resolution/src/org/jetbrains/kotlin/contracts/description/InvocationKind.kt diff --git a/compiler/resolution/src/org/jetbrains/kotlin/contracts/description/Effects.kt b/compiler/resolution/src/org/jetbrains/kotlin/contracts/description/Effects.kt index 721336efd39..e445e3f1fab 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/contracts/description/Effects.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/contracts/description/Effects.kt @@ -56,14 +56,4 @@ class ReturnsEffectDeclaration(val value: ConstantReference) : EffectDeclaration class CallsEffectDeclaration(val variableReference: VariableReference, val kind: InvocationKind) : EffectDeclaration { override fun accept(contractDescriptionVisitor: ContractDescriptionVisitor, data: D): R = contractDescriptionVisitor.visitCallsEffectDeclaration(this, data) -} - -enum class InvocationKind { - AT_MOST_ONCE, - EXACTLY_ONCE, - AT_LEAST_ONCE, - UNKNOWN -} - -fun InvocationKind.isDefinitelyVisited(): Boolean = this == InvocationKind.EXACTLY_ONCE || this == InvocationKind.AT_LEAST_ONCE -fun InvocationKind.canBeRevisited(): Boolean = this == InvocationKind.UNKNOWN || this == InvocationKind.AT_LEAST_ONCE \ No newline at end of file +} \ No newline at end of file diff --git a/compiler/resolution/src/org/jetbrains/kotlin/contracts/description/InvocationKind.kt b/compiler/resolution/src/org/jetbrains/kotlin/contracts/description/InvocationKind.kt new file mode 100644 index 00000000000..68e04594d95 --- /dev/null +++ b/compiler/resolution/src/org/jetbrains/kotlin/contracts/description/InvocationKind.kt @@ -0,0 +1,17 @@ +/* + * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.contracts.description + +enum class InvocationKind { + AT_MOST_ONCE, + EXACTLY_ONCE, + AT_LEAST_ONCE, + UNKNOWN +} + +fun InvocationKind.isDefinitelyVisited(): Boolean = this == InvocationKind.EXACTLY_ONCE || this == InvocationKind.AT_LEAST_ONCE +fun InvocationKind.canBeRevisited(): Boolean = this == InvocationKind.UNKNOWN || this == InvocationKind.AT_LEAST_ONCE +