Corrected compiler warning for simple Expr visitor

main
oabrivard 2 years ago
parent b52de314f0
commit 72b2edcf07

@ -3,7 +3,7 @@ import java.util.*
val types = listOf( val types = listOf(
"Binary : Expr left, Token operator, Expr right", "Binary : Expr left, Token operator, Expr right",
"Grouping : Expr expression", "Grouping : Expr expression",
"Literal : Any value", "Literal : Any? value",
"Unary : Token operator, Expr right" "Unary : Token operator, Expr right"
) )
@ -32,11 +32,11 @@ for (type in types) {
println() println()
println("data class $name(") println("data class $name(")
for (field in fields) { for (field in fields) {
val parts = field.split(" ") val fparts = field.split(" ")
val type = parts[0] val ftype = fparts[0]
val name = parts[1] val fname = fparts[1]
val sep = if (field == fields.last()) "" else "," val sep = if (field == fields.last()) "" else ","
println(" val $name: $type$sep") println(" val $fname: $ftype$sep")
} }
println(") : Expr() {") println(") : Expr() {")
println(" override fun <R> accept(visitor: ExprVisitor<R>): R {") println(" override fun <R> accept(visitor: ExprVisitor<R>): R {")

@ -32,7 +32,7 @@ data class Grouping(
} }
data class Literal( data class Literal(
val value: Any val value: Any?
) : Expr() { ) : Expr() {
override fun <R> accept(visitor: ExprVisitor<R>): R { override fun <R> accept(visitor: ExprVisitor<R>): R {
return visitor.visitLiteral(this) return visitor.visitLiteral(this)

@ -48,7 +48,7 @@ class Lox {
report(line, "", s) report(line, "", s)
} }
fun report(line: Int, where: String, message: String) { private fun report(line: Int, where: String, message: String) {
System.err.println("[line $line] Error$where: $message") System.err.println("[line $line] Error$where: $message")
} }
} }

Loading…
Cancel
Save