mirror of
https://github.com/golang/go
synced 2024-11-20 07:54:39 -07:00
exp/eval, go/printer: fix build
There are some minor irregularities in the printer output (some paren's are present that should be removed), but these are unrelated issues. Will review in a 2nd step. R=rsc CC=golang-dev https://golang.org/cl/4188068
This commit is contained in:
parent
bdbea6e410
commit
cd0f799e65
@ -217,7 +217,7 @@ var stmtTests = []test{
|
||||
Val2("if false { i = 2 } else { i = 3 }; i2 = 4", "i", 3, "i2", 4),
|
||||
Val2("if i == i2 { i = 2 } else { i = 3 }; i2 = 4", "i", 3, "i2", 4),
|
||||
// Omit optional parts
|
||||
Val2("if { i = 2 } else { i = 3 }; i2 = 4", "i", 2, "i2", 4),
|
||||
Val2("if true { i = 2 } else { i = 3 }; i2 = 4", "i", 2, "i2", 4),
|
||||
Val2("if true { i = 2 }; i2 = 4", "i", 2, "i2", 4),
|
||||
Val2("if false { i = 2 }; i2 = 4", "i", 1, "i2", 4),
|
||||
// Init
|
||||
@ -243,11 +243,11 @@ var stmtTests = []test{
|
||||
CErr("fn1 := func() int { if true { return 1 } }", "return"),
|
||||
CErr("fn1 := func() int { if true { } }", "return"),
|
||||
Run("fn1 := func() int { if true { }; return 1 }"),
|
||||
CErr("fn1 := func() int { if { } }", "return"),
|
||||
CErr("fn1 := func() int { if { } else { return 2 } }", "return"),
|
||||
Run("fn1 := func() int { if { return 1 } }"),
|
||||
Run("fn1 := func() int { if { return 1 } else { } }"),
|
||||
Run("fn1 := func() int { if { return 1 } else { } }"),
|
||||
CErr("fn1 := func() int { if true { } }", "return"),
|
||||
CErr("fn1 := func() int { if true { } else { return 2 } }", "return"),
|
||||
Run("fn1 := func() int { if true { return 1 }; return 0 }"),
|
||||
Run("fn1 := func() int { if true { return 1 } else { }; return 0 }"),
|
||||
Run("fn1 := func() int { if true { return 1 } else { }; return 0 }"),
|
||||
|
||||
// Switch
|
||||
Val1("switch { case false: i += 2; case true: i += 4; default: i += 8 }", "i", 1+4),
|
||||
|
22
src/pkg/go/printer/testdata/statements.golden
vendored
22
src/pkg/go/printer/testdata/statements.golden
vendored
@ -10,19 +10,13 @@ func use(x interface{}) {}
|
||||
|
||||
// Formatting of if-statement headers.
|
||||
func _() {
|
||||
if {
|
||||
}
|
||||
if {
|
||||
} // no semicolon printed
|
||||
if expr {
|
||||
if true {
|
||||
}
|
||||
if expr {
|
||||
} // no semicolon printed
|
||||
}
|
||||
if expr {
|
||||
} // no parens printed
|
||||
if expr {
|
||||
} // no semicolon and parens printed
|
||||
if x := expr; {
|
||||
if x := expr; true {
|
||||
use(x)
|
||||
}
|
||||
if x := expr; expr {
|
||||
@ -35,16 +29,10 @@ func _() {
|
||||
func _() {
|
||||
switch {
|
||||
}
|
||||
switch {
|
||||
} // no semicolon printed
|
||||
switch expr {
|
||||
}
|
||||
switch expr {
|
||||
} // no semicolon printed
|
||||
switch expr {
|
||||
} // no parens printed
|
||||
switch expr {
|
||||
} // no semicolon and parens printed
|
||||
switch x := expr; {
|
||||
default:
|
||||
use(
|
||||
@ -354,14 +342,14 @@ func _() {
|
||||
|
||||
|
||||
func _() {
|
||||
if {
|
||||
if true {
|
||||
_ = 0
|
||||
}
|
||||
_ = 0 // the indentation here should not be affected by the long label name
|
||||
AnOverlongLabel:
|
||||
_ = 0
|
||||
|
||||
if {
|
||||
if true {
|
||||
_ = 0
|
||||
}
|
||||
_ = 0
|
||||
|
22
src/pkg/go/printer/testdata/statements.input
vendored
22
src/pkg/go/printer/testdata/statements.input
vendored
@ -10,13 +10,10 @@ func use(x interface{}) {}
|
||||
|
||||
// Formatting of if-statement headers.
|
||||
func _() {
|
||||
if {}
|
||||
if;{} // no semicolon printed
|
||||
if true {}
|
||||
if expr{}
|
||||
if;expr{} // no semicolon printed
|
||||
if (expr){} // no parens printed
|
||||
if;((expr)){} // no semicolon and parens printed
|
||||
if x:=expr;{
|
||||
if x:=expr; true {
|
||||
use(x)}
|
||||
if x:=expr; expr {use(x)}
|
||||
}
|
||||
@ -25,11 +22,8 @@ func _() {
|
||||
// Formatting of switch-statement headers.
|
||||
func _() {
|
||||
switch {}
|
||||
switch;{} // no semicolon printed
|
||||
switch expr {}
|
||||
switch;expr{} // no semicolon printed
|
||||
switch (expr) {} // no parens printed
|
||||
switch;((expr)){} // no semicolon and parens printed
|
||||
switch x := expr; { default:use(
|
||||
x)
|
||||
}
|
||||
@ -118,7 +112,7 @@ func _() {
|
||||
if (((x))) {}
|
||||
if ([]T{}) {}
|
||||
if (([]T{})) {}
|
||||
if ; (((([]T{})))) {}
|
||||
if (((([]T{})))) {}
|
||||
|
||||
for (x) {}
|
||||
for (((x))) {}
|
||||
@ -129,21 +123,21 @@ func _() {
|
||||
switch (x) {}
|
||||
switch (((x))) {}
|
||||
switch ([]T{}) {}
|
||||
switch ; (((([]T{})))) {}
|
||||
switch (((([]T{})))) {}
|
||||
|
||||
for _ = range ((([]T{T{42}}))) {}
|
||||
|
||||
// leave parentheses - composite literals start with a type name
|
||||
if (T{}) {}
|
||||
if ((T{})) {}
|
||||
if ; ((((T{})))) {}
|
||||
if ((((T{})))) {}
|
||||
|
||||
for (T{}) {}
|
||||
for ((T{})) {}
|
||||
for ; ((((T{})))) ; {}
|
||||
|
||||
switch (T{}) {}
|
||||
switch ; ((((T{})))) {}
|
||||
switch ((((T{})))) {}
|
||||
|
||||
for _ = range (((T1{T{42}}))) {}
|
||||
|
||||
@ -271,14 +265,14 @@ func _() {
|
||||
|
||||
|
||||
func _() {
|
||||
if {
|
||||
if true {
|
||||
_ = 0
|
||||
}
|
||||
_ = 0 // the indentation here should not be affected by the long label name
|
||||
AnOverlongLabel:
|
||||
_ = 0
|
||||
|
||||
if {
|
||||
if true {
|
||||
_ = 0
|
||||
}
|
||||
_ = 0
|
||||
|
Loading…
Reference in New Issue
Block a user