49 lines
637 B
Plaintext
Vendored
49 lines
637 B
Plaintext
Vendored
sealed class Expr {
|
|
protected constructor() /* primary */ {
|
|
super/*Any*/()
|
|
/* <init>() */
|
|
|
|
}
|
|
|
|
class Const : Expr {
|
|
constructor(number: Double) /* primary */ {
|
|
super/*Expr*/()
|
|
/* <init>() */
|
|
|
|
}
|
|
|
|
val number: Double
|
|
field = number
|
|
get
|
|
|
|
}
|
|
|
|
class Sum : Expr {
|
|
constructor(e1: Expr, e2: Expr) /* primary */ {
|
|
super/*Expr*/()
|
|
/* <init>() */
|
|
|
|
}
|
|
|
|
val e1: Expr
|
|
field = e1
|
|
get
|
|
|
|
val e2: Expr
|
|
field = e2
|
|
get
|
|
|
|
}
|
|
|
|
object NotANumber : Expr {
|
|
private constructor() /* primary */ {
|
|
super/*Expr*/()
|
|
/* <init>() */
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|