FmtLong // "l"
FmtComma // ","
FmtByte // "hh"
- FmtBody // for printing export bodies
)
//
var fmtpkgpfx int // %uT stickyness
-var fmtbody bool
-
//
// E.g. for %S: %+S %#S %-S print an identifier properly qualified for debug/export/internal mode.
//
// %-uT type identifiers with package name instead of prefix (typesym, dcommontype, typehash)
//
-func setfmode(flags *FmtFlag) (fm int, fb bool) {
+func setfmode(flags *FmtFlag) (fm int) {
fm = fmtmode
- fb = fmtbody
if *flags&FmtSign != 0 {
fmtmode = FDbg
} else if *flags&FmtSharp != 0 {
fmtmode = FTypeId
}
- if *flags&FmtBody != 0 {
- fmtbody = true
- }
-
- *flags &^= (FmtSharp | FmtLeft | FmtSign | FmtBody)
+ *flags &^= (FmtSharp | FmtLeft | FmtSign)
return
}
p.f(" %#v ", Op(n.Etype))
p.exprfmt(n.Right, nprec+1)
return p
-
- case ODCLCONST:
- // if exporting, DCLCONST should just be removed as its usage
- // has already been replaced with literals
- if fmtbody {
- return p.s("")
- }
}
return p.f("<node %v>", n.Op)
}
sf := flag
- sm, sb := setfmode(&flag)
+ sm := setfmode(&flag)
p.symfmt(s, flag)
flag = sf
fmtmode = sm
- fmtbody = sb
return p
}
}
sf := flag
- sm, sb := setfmode(&flag)
+ sm := setfmode(&flag)
if fmtmode == FTypeId && (sf&FmtUnsigned != 0) {
fmtpkgpfx++
str = name + " " + typ
}
- // The fmtbody flag is intended to suppress escape analysis annotations
- // when printing a function type used in a function body.
- // (The escape analysis tags do not apply to func vars.)
- // But it must not suppress struct field tags.
- // See golang.org/issue/13777 and golang.org/issue/14331.
- if flag&FmtShort == 0 && (!fmtbody || f.Funarg == FunargNone) && f.Note != "" {
+ if flag&FmtShort == 0 && f.Funarg == FunargNone && f.Note != "" {
str += " " + strconv.Quote(f.Note)
}
}
flag = sf
- fmtbody = sb
fmtmode = sm
return str
}
t.Trecur++
sf := flag
- sm, sb := setfmode(&flag)
+ sm := setfmode(&flag)
if fmtmode == FTypeId && (sf&FmtUnsigned != 0) {
fmtpkgpfx++
}
flag = sf
- fmtbody = sb
fmtmode = sm
t.Trecur--
return p.s("<N>")
}
sf := flag
- sm, sb := setfmode(&flag)
+ sm := setfmode(&flag)
switch fmtmode {
case FErr:
}
flag = sf
- fmtbody = sb
fmtmode = sm
return p
}
sf := flag
- sm, sb := setfmode(&flag)
+ sm := setfmode(&flag)
sep := "; "
if fmtmode == FDbg {
sep = "\n"
}
flag = sf
- fmtbody = sb
fmtmode = sm
return p