blob: 7b19fdc3273c302b40810b7365d46cc5c729d604 [file]
// RUN_PIPELINE_TILL: BACKEND
sealed class Tree {
object Empty: Tree()
class Leaf(val x: Int): Tree()
class Node(val left: Tree, val right: Tree): Tree()
fun max(): Int {
when(this) {
is Empty -> return -1
is Leaf -> return this.x
is Node -> return this.left.max()
}
}
}
/* GENERATED_FIR_TAGS: classDeclaration, functionDeclaration, integerLiteral, isExpression, nestedClass,
objectDeclaration, primaryConstructor, propertyDeclaration, sealed, smartcast, thisExpression, whenExpression,
whenWithSubject */