]> Cypherpunks repositories - gostls13.git/commitdiff
2nd attempt: no noIndent for string lists
authorRobert Griesemer <gri@golang.org>
Thu, 5 Nov 2009 22:03:56 +0000 (14:03 -0800)
committerRobert Griesemer <gri@golang.org>
Thu, 5 Nov 2009 22:03:56 +0000 (14:03 -0800)
- slightly better output in general
- extra indentation where we could do without
  (however that seems better for now that not having the indentation
  where it is needed)
- no information is lost, so a future better approach can fix these
  places up again

R=rsc
http://go/go-review/1017050

src/pkg/go/printer/nodes.go
src/pkg/go/printer/testdata/expressions.golden
src/pkg/go/printer/testdata/expressions.input
src/pkg/go/printer/testdata/expressions.raw
src/pkg/go/printer/testdata/linebreaks.golden

index 6896348057bfa17e695a19c3a3f6e3a72f2cfcf2..ca01e1c18ecd650fa8f7d2bca2853f148a37690c 100644 (file)
@@ -20,6 +20,7 @@ import (
 const (
        oneLineFuncDecls = false;
        compositeLitBlank = false;
+       stringListMode = exprListMode(0);  // previously: noIndent
 )
 
 
@@ -113,7 +114,7 @@ func (p *printer) stringList(list []*ast.BasicLit, multiLine *bool) {
        for i, x := range list {
                xlist[i] = x;
        }
-       p.exprList(noPos, xlist, noIndent, multiLine);
+       p.exprList(noPos, xlist, stringListMode, multiLine);
 }
 
 
index 8abee9b4c474795d7fb1ba99c9e95677b9a122fc..f9cd03e2b513168b738fa5733b795232ae300667 100644 (file)
@@ -133,17 +133,54 @@ func _() {
        // not not add extra indentation to multi-line string lists
        _ = "foo" "bar";
        _ = "foo"
-       "bar"
-       "bah";
+               "bar"
+               "bah";
        _ = []string{
                "abc"
-               "def",
+                       "def",
                "foo"
-               "bar",
+                       "bar",
        };
 }
 
 
+const _ = F1 +
+       `string = "%s";`
+               `ptr = *;`
+               `datafmt.T2 = s ["-" p "-"];`
+
+
+const _ = `datafmt "datafmt";`
+       `default = "%v";`
+       `array = *;`
+       `datafmt.T3 = s  {" " a a / ","};`
+
+
+const _ = `datafmt "datafmt";`
+       `default = "%v";`
+       `array = *;`
+       `datafmt.T3 = s  {" " a a / ","};`
+
+
+func _() {
+       _ = F1 +
+               `string = "%s";`
+                       `ptr = *;`
+                       `datafmt.T2 = s ["-" p "-"];`;
+
+       _ =
+               `datafmt "datafmt";`
+                       `default = "%v";`
+                       `array = *;`
+                       `datafmt.T3 = s  {" " a a / ","};`;
+
+       _ = `datafmt "datafmt";`
+               `default = "%v";`
+               `array = *;`
+               `datafmt.T3 = s  {" " a a / ","};`;
+}
+
+
 func _() {
        // respect source lines in multi-line expressions
        _ = a +
@@ -152,8 +189,8 @@ func _() {
        _ = a < b ||
                b < a;
        _ = "933262154439441526816992388562667004907159682643816214685929"
-       "638952175999932299156089414639761565182862536979208272237582"
-       "51185210916864000000000000000000000000";       // 100!
+               "638952175999932299156089414639761565182862536979208272237582"
+               "51185210916864000000000000000000000000";       // 100!
        _ = "170141183460469231731687303715884105727";  // prime
 }
 
@@ -163,8 +200,8 @@ const (
        _       = "991";
        _       = "2432902008176640000";        // 20!
        _       = "933262154439441526816992388562667004907159682643816214685929"
-       "638952175999932299156089414639761565182862536979208272237582"
-       "51185210916864000000000000000000000000";       // 100!
+               "638952175999932299156089414639761565182862536979208272237582"
+               "51185210916864000000000000000000000000";       // 100!
        _       = "170141183460469231731687303715884105727";    // prime
 )
 
index c4103ae3f0ca8709d843807c50fa1cde04f9b6a2..0ff4c42ee0eb180508a56776f82357982ddb8ef4 100644 (file)
@@ -152,6 +152,44 @@ func _() {
 }
 
 
+const _ = F1 +
+       `string = "%s";`
+       `ptr = *;`
+       `datafmt.T2 = s ["-" p "-"];`
+
+
+const _ =
+       `datafmt "datafmt";`
+       `default = "%v";`
+       `array = *;`
+       `datafmt.T3 = s  {" " a a / ","};`
+
+
+const _ = `datafmt "datafmt";`
+`default = "%v";`
+`array = *;`
+`datafmt.T3 = s  {" " a a / ","};`
+
+
+func _() {
+       _ = F1 +
+               `string = "%s";`
+               `ptr = *;`
+               `datafmt.T2 = s ["-" p "-"];`;
+
+       _ =
+               `datafmt "datafmt";`
+               `default = "%v";`
+               `array = *;`
+               `datafmt.T3 = s  {" " a a / ","};`;
+
+       _ = `datafmt "datafmt";`
+       `default = "%v";`
+       `array = *;`
+       `datafmt.T3 = s  {" " a a / ","};`
+}
+
+
 func _() {
        // respect source lines in multi-line expressions
        _ = a+
index d60fa25e1881bb58fd2ee4eda779d04ce98fb2a2..20b78552b15fbe9614720e3a50066fdfaea2cbcd 100644 (file)
@@ -133,17 +133,54 @@ func _() {
        // not not add extra indentation to multi-line string lists
        _ = "foo" "bar";
        _ = "foo"
-       "bar"
-       "bah";
+               "bar"
+               "bah";
        _ = []string{
                "abc"
-               "def",
+                       "def",
                "foo"
-               "bar",
+                       "bar",
        };
 }
 
 
+const _ = F1 +
+       `string = "%s";`
+               `ptr = *;`
+               `datafmt.T2 = s ["-" p "-"];`
+
+
+const _ = `datafmt "datafmt";`
+       `default = "%v";`
+       `array = *;`
+       `datafmt.T3 = s  {" " a a / ","};`
+
+
+const _ = `datafmt "datafmt";`
+       `default = "%v";`
+       `array = *;`
+       `datafmt.T3 = s  {" " a a / ","};`
+
+
+func _() {
+       _ = F1 +
+               `string = "%s";`
+                       `ptr = *;`
+                       `datafmt.T2 = s ["-" p "-"];`;
+
+       _ =
+               `datafmt "datafmt";`
+                       `default = "%v";`
+                       `array = *;`
+                       `datafmt.T3 = s  {" " a a / ","};`;
+
+       _ = `datafmt "datafmt";`
+               `default = "%v";`
+               `array = *;`
+               `datafmt.T3 = s  {" " a a / ","};`;
+}
+
+
 func _() {
        // respect source lines in multi-line expressions
        _ = a +
@@ -152,8 +189,8 @@ func _() {
        _ = a < b ||
                b < a;
        _ = "933262154439441526816992388562667004907159682643816214685929"
-       "638952175999932299156089414639761565182862536979208272237582"
-       "51185210916864000000000000000000000000";       // 100!
+               "638952175999932299156089414639761565182862536979208272237582"
+               "51185210916864000000000000000000000000";       // 100!
        _ = "170141183460469231731687303715884105727";  // prime
 }
 
@@ -163,8 +200,8 @@ const (
        _               = "991";
        _               = "2432902008176640000";        // 20!
        _               = "933262154439441526816992388562667004907159682643816214685929"
-       "638952175999932299156089414639761565182862536979208272237582"
-       "51185210916864000000000000000000000000";       // 100!
+               "638952175999932299156089414639761565182862536979208272237582"
+               "51185210916864000000000000000000000000";       // 100!
        _               = "170141183460469231731687303715884105727";    // prime
 )
 
index 9777bd62ebe8c995ac8c244127124dc9c5dc869e..9f92a998ccc2147cd2f7888094deb29a556aef16 100644 (file)
@@ -178,15 +178,15 @@ var facts = map[int]string{
        10: "3628800",
        20: "2432902008176640000",
        100: "933262154439441526816992388562667004907159682643816214685929"
-       "638952175999932299156089414639761565182862536979208272237582"
-       "51185210916864000000000000000000000000",
+               "638952175999932299156089414639761565182862536979208272237582"
+               "51185210916864000000000000000000000000",
 }
 
 func usage() {
        fmt.Fprintf(os.Stderr,
                // TODO(gri): the 2nd string of this string list should not be indented
                "usage: godoc package [name ...]\n"
-               "       godoc -http=:6060\n");
+                       "       godoc -http=:6060\n");
        flag.PrintDefaults();
        os.Exit(2);
 }