Extract InvocationKind class into separate file
This commit is contained in:
@@ -56,14 +56,4 @@ class ReturnsEffectDeclaration(val value: ConstantReference) : EffectDeclaration
|
|||||||
class CallsEffectDeclaration(val variableReference: VariableReference, val kind: InvocationKind) : EffectDeclaration {
|
class CallsEffectDeclaration(val variableReference: VariableReference, val kind: InvocationKind) : EffectDeclaration {
|
||||||
override fun <R, D> accept(contractDescriptionVisitor: ContractDescriptionVisitor<R, D>, data: D): R =
|
override fun <R, D> accept(contractDescriptionVisitor: ContractDescriptionVisitor<R, D>, data: D): R =
|
||||||
contractDescriptionVisitor.visitCallsEffectDeclaration(this, data)
|
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
|
|
||||||
@@ -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
|
||||||
|
|
||||||
Reference in New Issue
Block a user