cgen: make >8 indent levels work
parent
ad8ed851d0
commit
63b2d4be99
|
@ -517,8 +517,13 @@ pub fn (g Gen) save() {
|
||||||
|
|
||||||
pub fn (mut g Gen) write(s string) {
|
pub fn (mut g Gen) write(s string) {
|
||||||
if g.indent > 0 && g.empty_line {
|
if g.indent > 0 && g.empty_line {
|
||||||
|
if g.indent < tabs.len {
|
||||||
g.out.write(tabs[g.indent])
|
g.out.write(tabs[g.indent])
|
||||||
// g.line_len += g.indent * 4
|
} else {
|
||||||
|
for _ in 0 .. g.indent {
|
||||||
|
g.out.write('\t')
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
g.out.write(s)
|
g.out.write(s)
|
||||||
g.empty_line = false
|
g.empty_line = false
|
||||||
|
@ -526,7 +531,13 @@ pub fn (mut g Gen) write(s string) {
|
||||||
|
|
||||||
pub fn (mut g Gen) writeln(s string) {
|
pub fn (mut g Gen) writeln(s string) {
|
||||||
if g.indent > 0 && g.empty_line {
|
if g.indent > 0 && g.empty_line {
|
||||||
|
if g.indent < tabs.len {
|
||||||
g.out.write(tabs[g.indent])
|
g.out.write(tabs[g.indent])
|
||||||
|
} else {
|
||||||
|
for _ in 0 .. g.indent {
|
||||||
|
g.out.write('\t')
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
g.out.writeln(s)
|
g.out.writeln(s)
|
||||||
g.empty_line = true
|
g.empty_line = true
|
||||||
|
|
|
@ -128,3 +128,31 @@ fn test_complex_nested_if_expressions() {
|
||||||
}
|
}
|
||||||
assert a == false
|
assert a == false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn test_lots_of_if_expressions() {
|
||||||
|
mut a := 0
|
||||||
|
if true {
|
||||||
|
if true {
|
||||||
|
if true {
|
||||||
|
if true {
|
||||||
|
if true {
|
||||||
|
if true {
|
||||||
|
if true {
|
||||||
|
if true {
|
||||||
|
if true {
|
||||||
|
if true {
|
||||||
|
if true {
|
||||||
|
a = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
assert a == 1
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue