goprotobuf: Changes for new struct tag format.

Protocol messages have changed their struct tags from
  "PB(...)"
to
  `protobuf:"..."`
The format represented by "..." is unchanged.

Regenerate {descriptor,plugin}.pb.go files at the same time.

R=r, rsc
CC=golang-dev
http://codereview.appspot.com/4654077
diff --git a/proto/testdata/test.pb.go b/proto/testdata/test.pb.go
index eea8b69..9eb7027 100644
--- a/proto/testdata/test.pb.go
+++ b/proto/testdata/test.pb.go
@@ -119,7 +119,7 @@
 }
 
 type GoEnum struct {
-	Foo			*FOO	"PB(varint,1,req,name=foo,enum=test_proto.FOO)"
+	Foo			*FOO	`protobuf:"varint,1,req,name=foo,enum=test_proto.FOO"`
 	XXX_unrecognized	[]byte
 }
 
@@ -127,8 +127,8 @@
 func (this *GoEnum) String() string	{ return proto.CompactTextString(this) }
 
 type GoTestField struct {
-	Label			*string	"PB(bytes,1,req)"
-	Type			*string	"PB(bytes,2,req)"
+	Label			*string	`protobuf:"bytes,1,req"`
+	Type			*string	`protobuf:"bytes,2,req"`
 	XXX_unrecognized	[]byte
 }
 
@@ -136,78 +136,78 @@
 func (this *GoTestField) String() string	{ return proto.CompactTextString(this) }
 
 type GoTest struct {
-	Kind			*int32			"PB(varint,1,req)"
-	Table			*string			"PB(bytes,2,opt)"
-	Param			*int32			"PB(varint,3,opt)"
-	RequiredField		*GoTestField		"PB(bytes,4,req)"
-	RepeatedField		[]*GoTestField		"PB(bytes,5,rep)"
-	OptionalField		*GoTestField		"PB(bytes,6,opt)"
-	F_BoolRequired		*bool			"PB(varint,10,req,name=F_Bool_required)"
-	F_Int32Required		*int32			"PB(varint,11,req,name=F_Int32_required)"
-	F_Int64Required		*int64			"PB(varint,12,req,name=F_Int64_required)"
-	F_Fixed32Required	*uint32			"PB(fixed32,13,req,name=F_Fixed32_required)"
-	F_Fixed64Required	*uint64			"PB(fixed64,14,req,name=F_Fixed64_required)"
-	F_Uint32Required	*uint32			"PB(varint,15,req,name=F_Uint32_required)"
-	F_Uint64Required	*uint64			"PB(varint,16,req,name=F_Uint64_required)"
-	F_FloatRequired		*float32		"PB(fixed32,17,req,name=F_Float_required)"
-	F_DoubleRequired	*float64		"PB(fixed64,18,req,name=F_Double_required)"
-	F_StringRequired	*string			"PB(bytes,19,req,name=F_String_required)"
-	F_BytesRequired		[]byte			"PB(bytes,101,req,name=F_Bytes_required)"
-	F_Sint32Required	*int32			"PB(zigzag32,102,req,name=F_Sint32_required)"
-	F_Sint64Required	*int64			"PB(zigzag64,103,req,name=F_Sint64_required)"
-	F_BoolRepeated		[]bool			"PB(varint,20,rep,name=F_Bool_repeated)"
-	F_Int32Repeated		[]int32			"PB(varint,21,rep,name=F_Int32_repeated)"
-	F_Int64Repeated		[]int64			"PB(varint,22,rep,name=F_Int64_repeated)"
-	F_Fixed32Repeated	[]uint32		"PB(fixed32,23,rep,name=F_Fixed32_repeated)"
-	F_Fixed64Repeated	[]uint64		"PB(fixed64,24,rep,name=F_Fixed64_repeated)"
-	F_Uint32Repeated	[]uint32		"PB(varint,25,rep,name=F_Uint32_repeated)"
-	F_Uint64Repeated	[]uint64		"PB(varint,26,rep,name=F_Uint64_repeated)"
-	F_FloatRepeated		[]float32		"PB(fixed32,27,rep,name=F_Float_repeated)"
-	F_DoubleRepeated	[]float64		"PB(fixed64,28,rep,name=F_Double_repeated)"
-	F_StringRepeated	[]string		"PB(bytes,29,rep,name=F_String_repeated)"
-	F_BytesRepeated		[][]byte		"PB(bytes,201,rep,name=F_Bytes_repeated)"
-	F_Sint32Repeated	[]int32			"PB(zigzag32,202,rep,name=F_Sint32_repeated)"
-	F_Sint64Repeated	[]int64			"PB(zigzag64,203,rep,name=F_Sint64_repeated)"
-	F_BoolOptional		*bool			"PB(varint,30,opt,name=F_Bool_optional)"
-	F_Int32Optional		*int32			"PB(varint,31,opt,name=F_Int32_optional)"
-	F_Int64Optional		*int64			"PB(varint,32,opt,name=F_Int64_optional)"
-	F_Fixed32Optional	*uint32			"PB(fixed32,33,opt,name=F_Fixed32_optional)"
-	F_Fixed64Optional	*uint64			"PB(fixed64,34,opt,name=F_Fixed64_optional)"
-	F_Uint32Optional	*uint32			"PB(varint,35,opt,name=F_Uint32_optional)"
-	F_Uint64Optional	*uint64			"PB(varint,36,opt,name=F_Uint64_optional)"
-	F_FloatOptional		*float32		"PB(fixed32,37,opt,name=F_Float_optional)"
-	F_DoubleOptional	*float64		"PB(fixed64,38,opt,name=F_Double_optional)"
-	F_StringOptional	*string			"PB(bytes,39,opt,name=F_String_optional)"
-	F_BytesOptional		[]byte			"PB(bytes,301,opt,name=F_Bytes_optional)"
-	F_Sint32Optional	*int32			"PB(zigzag32,302,opt,name=F_Sint32_optional)"
-	F_Sint64Optional	*int64			"PB(zigzag64,303,opt,name=F_Sint64_optional)"
-	F_BoolDefaulted		*bool			"PB(varint,40,opt,name=F_Bool_defaulted,def=1)"
-	F_Int32Defaulted	*int32			"PB(varint,41,opt,name=F_Int32_defaulted,def=32)"
-	F_Int64Defaulted	*int64			"PB(varint,42,opt,name=F_Int64_defaulted,def=64)"
-	F_Fixed32Defaulted	*uint32			"PB(fixed32,43,opt,name=F_Fixed32_defaulted,def=320)"
-	F_Fixed64Defaulted	*uint64			"PB(fixed64,44,opt,name=F_Fixed64_defaulted,def=640)"
-	F_Uint32Defaulted	*uint32			"PB(varint,45,opt,name=F_Uint32_defaulted,def=3200)"
-	F_Uint64Defaulted	*uint64			"PB(varint,46,opt,name=F_Uint64_defaulted,def=6400)"
-	F_FloatDefaulted	*float32		"PB(fixed32,47,opt,name=F_Float_defaulted,def=314159)"
-	F_DoubleDefaulted	*float64		"PB(fixed64,48,opt,name=F_Double_defaulted,def=271828)"
-	F_StringDefaulted	*string			"PB(bytes,49,opt,name=F_String_defaulted,def=hello, \\\"world!\\\"\\n)"
-	F_BytesDefaulted	[]byte			"PB(bytes,401,opt,name=F_Bytes_defaulted,def=Bignose)"
-	F_Sint32Defaulted	*int32			"PB(zigzag32,402,opt,name=F_Sint32_defaulted,def=-32)"
-	F_Sint64Defaulted	*int64			"PB(zigzag64,403,opt,name=F_Sint64_defaulted,def=-64)"
-	F_BoolRepeatedPacked	[]bool			"PB(varint,50,rep,packed,name=F_Bool_repeated_packed)"
-	F_Int32RepeatedPacked	[]int32			"PB(varint,51,rep,packed,name=F_Int32_repeated_packed)"
-	F_Int64RepeatedPacked	[]int64			"PB(varint,52,rep,packed,name=F_Int64_repeated_packed)"
-	F_Fixed32RepeatedPacked	[]uint32		"PB(fixed32,53,rep,packed,name=F_Fixed32_repeated_packed)"
-	F_Fixed64RepeatedPacked	[]uint64		"PB(fixed64,54,rep,packed,name=F_Fixed64_repeated_packed)"
-	F_Uint32RepeatedPacked	[]uint32		"PB(varint,55,rep,packed,name=F_Uint32_repeated_packed)"
-	F_Uint64RepeatedPacked	[]uint64		"PB(varint,56,rep,packed,name=F_Uint64_repeated_packed)"
-	F_FloatRepeatedPacked	[]float32		"PB(fixed32,57,rep,packed,name=F_Float_repeated_packed)"
-	F_DoubleRepeatedPacked	[]float64		"PB(fixed64,58,rep,packed,name=F_Double_repeated_packed)"
-	F_Sint32RepeatedPacked	[]int32			"PB(zigzag32,502,rep,packed,name=F_Sint32_repeated_packed)"
-	F_Sint64RepeatedPacked	[]int64			"PB(zigzag64,503,rep,packed,name=F_Sint64_repeated_packed)"
-	Requiredgroup		*GoTest_RequiredGroup	"PB(group,70,req,name=RequiredGroup)"
-	Repeatedgroup		[]*GoTest_RepeatedGroup	"PB(group,80,rep,name=RepeatedGroup)"
-	Optionalgroup		*GoTest_OptionalGroup	"PB(group,90,opt,name=OptionalGroup)"
+	Kind			*int32			`protobuf:"varint,1,req"`
+	Table			*string			`protobuf:"bytes,2,opt"`
+	Param			*int32			`protobuf:"varint,3,opt"`
+	RequiredField		*GoTestField		`protobuf:"bytes,4,req"`
+	RepeatedField		[]*GoTestField		`protobuf:"bytes,5,rep"`
+	OptionalField		*GoTestField		`protobuf:"bytes,6,opt"`
+	F_BoolRequired		*bool			`protobuf:"varint,10,req,name=F_Bool_required"`
+	F_Int32Required		*int32			`protobuf:"varint,11,req,name=F_Int32_required"`
+	F_Int64Required		*int64			`protobuf:"varint,12,req,name=F_Int64_required"`
+	F_Fixed32Required	*uint32			`protobuf:"fixed32,13,req,name=F_Fixed32_required"`
+	F_Fixed64Required	*uint64			`protobuf:"fixed64,14,req,name=F_Fixed64_required"`
+	F_Uint32Required	*uint32			`protobuf:"varint,15,req,name=F_Uint32_required"`
+	F_Uint64Required	*uint64			`protobuf:"varint,16,req,name=F_Uint64_required"`
+	F_FloatRequired		*float32		`protobuf:"fixed32,17,req,name=F_Float_required"`
+	F_DoubleRequired	*float64		`protobuf:"fixed64,18,req,name=F_Double_required"`
+	F_StringRequired	*string			`protobuf:"bytes,19,req,name=F_String_required"`
+	F_BytesRequired		[]byte			`protobuf:"bytes,101,req,name=F_Bytes_required"`
+	F_Sint32Required	*int32			`protobuf:"zigzag32,102,req,name=F_Sint32_required"`
+	F_Sint64Required	*int64			`protobuf:"zigzag64,103,req,name=F_Sint64_required"`
+	F_BoolRepeated		[]bool			`protobuf:"varint,20,rep,name=F_Bool_repeated"`
+	F_Int32Repeated		[]int32			`protobuf:"varint,21,rep,name=F_Int32_repeated"`
+	F_Int64Repeated		[]int64			`protobuf:"varint,22,rep,name=F_Int64_repeated"`
+	F_Fixed32Repeated	[]uint32		`protobuf:"fixed32,23,rep,name=F_Fixed32_repeated"`
+	F_Fixed64Repeated	[]uint64		`protobuf:"fixed64,24,rep,name=F_Fixed64_repeated"`
+	F_Uint32Repeated	[]uint32		`protobuf:"varint,25,rep,name=F_Uint32_repeated"`
+	F_Uint64Repeated	[]uint64		`protobuf:"varint,26,rep,name=F_Uint64_repeated"`
+	F_FloatRepeated		[]float32		`protobuf:"fixed32,27,rep,name=F_Float_repeated"`
+	F_DoubleRepeated	[]float64		`protobuf:"fixed64,28,rep,name=F_Double_repeated"`
+	F_StringRepeated	[]string		`protobuf:"bytes,29,rep,name=F_String_repeated"`
+	F_BytesRepeated		[][]byte		`protobuf:"bytes,201,rep,name=F_Bytes_repeated"`
+	F_Sint32Repeated	[]int32			`protobuf:"zigzag32,202,rep,name=F_Sint32_repeated"`
+	F_Sint64Repeated	[]int64			`protobuf:"zigzag64,203,rep,name=F_Sint64_repeated"`
+	F_BoolOptional		*bool			`protobuf:"varint,30,opt,name=F_Bool_optional"`
+	F_Int32Optional		*int32			`protobuf:"varint,31,opt,name=F_Int32_optional"`
+	F_Int64Optional		*int64			`protobuf:"varint,32,opt,name=F_Int64_optional"`
+	F_Fixed32Optional	*uint32			`protobuf:"fixed32,33,opt,name=F_Fixed32_optional"`
+	F_Fixed64Optional	*uint64			`protobuf:"fixed64,34,opt,name=F_Fixed64_optional"`
+	F_Uint32Optional	*uint32			`protobuf:"varint,35,opt,name=F_Uint32_optional"`
+	F_Uint64Optional	*uint64			`protobuf:"varint,36,opt,name=F_Uint64_optional"`
+	F_FloatOptional		*float32		`protobuf:"fixed32,37,opt,name=F_Float_optional"`
+	F_DoubleOptional	*float64		`protobuf:"fixed64,38,opt,name=F_Double_optional"`
+	F_StringOptional	*string			`protobuf:"bytes,39,opt,name=F_String_optional"`
+	F_BytesOptional		[]byte			`protobuf:"bytes,301,opt,name=F_Bytes_optional"`
+	F_Sint32Optional	*int32			`protobuf:"zigzag32,302,opt,name=F_Sint32_optional"`
+	F_Sint64Optional	*int64			`protobuf:"zigzag64,303,opt,name=F_Sint64_optional"`
+	F_BoolDefaulted		*bool			`protobuf:"varint,40,opt,name=F_Bool_defaulted,def=1"`
+	F_Int32Defaulted	*int32			`protobuf:"varint,41,opt,name=F_Int32_defaulted,def=32"`
+	F_Int64Defaulted	*int64			`protobuf:"varint,42,opt,name=F_Int64_defaulted,def=64"`
+	F_Fixed32Defaulted	*uint32			`protobuf:"fixed32,43,opt,name=F_Fixed32_defaulted,def=320"`
+	F_Fixed64Defaulted	*uint64			`protobuf:"fixed64,44,opt,name=F_Fixed64_defaulted,def=640"`
+	F_Uint32Defaulted	*uint32			`protobuf:"varint,45,opt,name=F_Uint32_defaulted,def=3200"`
+	F_Uint64Defaulted	*uint64			`protobuf:"varint,46,opt,name=F_Uint64_defaulted,def=6400"`
+	F_FloatDefaulted	*float32		`protobuf:"fixed32,47,opt,name=F_Float_defaulted,def=314159"`
+	F_DoubleDefaulted	*float64		`protobuf:"fixed64,48,opt,name=F_Double_defaulted,def=271828"`
+	F_StringDefaulted	*string			`protobuf:"bytes,49,opt,name=F_String_defaulted,def=hello, \\\"world!\\\"\\n"`
+	F_BytesDefaulted	[]byte			`protobuf:"bytes,401,opt,name=F_Bytes_defaulted,def=Bignose"`
+	F_Sint32Defaulted	*int32			`protobuf:"zigzag32,402,opt,name=F_Sint32_defaulted,def=-32"`
+	F_Sint64Defaulted	*int64			`protobuf:"zigzag64,403,opt,name=F_Sint64_defaulted,def=-64"`
+	F_BoolRepeatedPacked	[]bool			`protobuf:"varint,50,rep,packed,name=F_Bool_repeated_packed"`
+	F_Int32RepeatedPacked	[]int32			`protobuf:"varint,51,rep,packed,name=F_Int32_repeated_packed"`
+	F_Int64RepeatedPacked	[]int64			`protobuf:"varint,52,rep,packed,name=F_Int64_repeated_packed"`
+	F_Fixed32RepeatedPacked	[]uint32		`protobuf:"fixed32,53,rep,packed,name=F_Fixed32_repeated_packed"`
+	F_Fixed64RepeatedPacked	[]uint64		`protobuf:"fixed64,54,rep,packed,name=F_Fixed64_repeated_packed"`
+	F_Uint32RepeatedPacked	[]uint32		`protobuf:"varint,55,rep,packed,name=F_Uint32_repeated_packed"`
+	F_Uint64RepeatedPacked	[]uint64		`protobuf:"varint,56,rep,packed,name=F_Uint64_repeated_packed"`
+	F_FloatRepeatedPacked	[]float32		`protobuf:"fixed32,57,rep,packed,name=F_Float_repeated_packed"`
+	F_DoubleRepeatedPacked	[]float64		`protobuf:"fixed64,58,rep,packed,name=F_Double_repeated_packed"`
+	F_Sint32RepeatedPacked	[]int32			`protobuf:"zigzag32,502,rep,packed,name=F_Sint32_repeated_packed"`
+	F_Sint64RepeatedPacked	[]int64			`protobuf:"zigzag64,503,rep,packed,name=F_Sint64_repeated_packed"`
+	Requiredgroup		*GoTest_RequiredGroup	`protobuf:"group,70,req,name=RequiredGroup"`
+	Repeatedgroup		[]*GoTest_RepeatedGroup	`protobuf:"group,80,rep,name=RepeatedGroup"`
+	Optionalgroup		*GoTest_OptionalGroup	`protobuf:"group,90,opt,name=OptionalGroup"`
 	XXX_unrecognized	[]byte
 }
 
@@ -231,7 +231,7 @@
 const Default_GoTest_F_Sint64Defaulted int64 = -64
 
 type GoTest_RequiredGroup struct {
-	RequiredField		*string	"PB(bytes,71,req)"
+	RequiredField		*string	`protobuf:"bytes,71,req"`
 	XXX_unrecognized	[]byte
 }
 
@@ -239,7 +239,7 @@
 func (this *GoTest_RequiredGroup) String() string	{ return proto.CompactTextString(this) }
 
 type GoTest_RepeatedGroup struct {
-	RequiredField		*string	"PB(bytes,81,req)"
+	RequiredField		*string	`protobuf:"bytes,81,req"`
 	XXX_unrecognized	[]byte
 }
 
@@ -247,7 +247,7 @@
 func (this *GoTest_RepeatedGroup) String() string	{ return proto.CompactTextString(this) }
 
 type GoTest_OptionalGroup struct {
-	RequiredField		*string	"PB(bytes,91,req)"
+	RequiredField		*string	`protobuf:"bytes,91,req"`
 	XXX_unrecognized	[]byte
 }
 
@@ -255,11 +255,11 @@
 func (this *GoTest_OptionalGroup) String() string	{ return proto.CompactTextString(this) }
 
 type GoSkipTest struct {
-	SkipInt32		*int32			"PB(varint,11,req,name=skip_int32)"
-	SkipFixed32		*uint32			"PB(fixed32,12,req,name=skip_fixed32)"
-	SkipFixed64		*uint64			"PB(fixed64,13,req,name=skip_fixed64)"
-	SkipString		*string			"PB(bytes,14,req,name=skip_string)"
-	Skipgroup		*GoSkipTest_SkipGroup	"PB(group,15,req,name=SkipGroup)"
+	SkipInt32		*int32			`protobuf:"varint,11,req,name=skip_int32"`
+	SkipFixed32		*uint32			`protobuf:"fixed32,12,req,name=skip_fixed32"`
+	SkipFixed64		*uint64			`protobuf:"fixed64,13,req,name=skip_fixed64"`
+	SkipString		*string			`protobuf:"bytes,14,req,name=skip_string"`
+	Skipgroup		*GoSkipTest_SkipGroup	`protobuf:"group,15,req,name=SkipGroup"`
 	XXX_unrecognized	[]byte
 }
 
@@ -267,8 +267,8 @@
 func (this *GoSkipTest) String() string	{ return proto.CompactTextString(this) }
 
 type GoSkipTest_SkipGroup struct {
-	GroupInt32		*int32	"PB(varint,16,req,name=group_int32)"
-	GroupString		*string	"PB(bytes,17,req,name=group_string)"
+	GroupInt32		*int32	`protobuf:"varint,16,req,name=group_int32"`
+	GroupString		*string	`protobuf:"bytes,17,req,name=group_string"`
 	XXX_unrecognized	[]byte
 }
 
@@ -276,7 +276,7 @@
 func (this *GoSkipTest_SkipGroup) String() string	{ return proto.CompactTextString(this) }
 
 type NonPackedTest struct {
-	A			[]int32	"PB(varint,1,rep,name=a)"
+	A			[]int32	`protobuf:"varint,1,rep,name=a"`
 	XXX_unrecognized	[]byte
 }
 
@@ -284,7 +284,7 @@
 func (this *NonPackedTest) String() string	{ return proto.CompactTextString(this) }
 
 type PackedTest struct {
-	B			[]int32	"PB(varint,1,rep,packed,name=b)"
+	B			[]int32	`protobuf:"varint,1,rep,packed,name=b"`
 	XXX_unrecognized	[]byte
 }
 
@@ -292,9 +292,9 @@
 func (this *PackedTest) String() string	{ return proto.CompactTextString(this) }
 
 type InnerMessage struct {
-	Host			*string	"PB(bytes,1,req,name=host)"
-	Port			*int32	"PB(varint,2,opt,name=port,def=4000)"
-	Connected		*bool	"PB(varint,3,opt,name=connected)"
+	Host			*string	`protobuf:"bytes,1,req,name=host"`
+	Port			*int32	`protobuf:"varint,2,opt,name=port,def=4000"`
+	Connected		*bool	`protobuf:"varint,3,opt,name=connected"`
 	XXX_unrecognized	[]byte
 }
 
@@ -304,10 +304,10 @@
 const Default_InnerMessage_Port int32 = 4000
 
 type OtherMessage struct {
-	Key			*int64		"PB(varint,1,opt,name=key)"
-	Value			[]byte		"PB(bytes,2,opt,name=value)"
-	Weight			*float32	"PB(fixed32,3,opt,name=weight)"
-	Inner			*InnerMessage	"PB(bytes,4,opt,name=inner)"
+	Key			*int64		`protobuf:"varint,1,opt,name=key"`
+	Value			[]byte		`protobuf:"bytes,2,opt,name=value"`
+	Weight			*float32	`protobuf:"fixed32,3,opt,name=weight"`
+	Inner			*InnerMessage	`protobuf:"bytes,4,opt,name=inner"`
 	XXX_unrecognized	[]byte
 }
 
@@ -315,14 +315,14 @@
 func (this *OtherMessage) String() string	{ return proto.CompactTextString(this) }
 
 type MyMessage struct {
-	Count			*int32			"PB(varint,1,req,name=count)"
-	Name			*string			"PB(bytes,2,opt,name=name)"
-	Quote			*string			"PB(bytes,3,opt,name=quote)"
-	Pet			[]string		"PB(bytes,4,rep,name=pet)"
-	Inner			*InnerMessage		"PB(bytes,5,opt,name=inner)"
-	Others			[]*OtherMessage		"PB(bytes,6,rep,name=others)"
-	Bikeshed		*MyMessage_Color	"PB(varint,7,opt,name=bikeshed,enum=test_proto.MyMessage_Color)"
-	Somegroup		*MyMessage_SomeGroup	"PB(group,8,opt,name=SomeGroup)"
+	Count			*int32			`protobuf:"varint,1,req,name=count"`
+	Name			*string			`protobuf:"bytes,2,opt,name=name"`
+	Quote			*string			`protobuf:"bytes,3,opt,name=quote"`
+	Pet			[]string		`protobuf:"bytes,4,rep,name=pet"`
+	Inner			*InnerMessage		`protobuf:"bytes,5,opt,name=inner"`
+	Others			[]*OtherMessage		`protobuf:"bytes,6,rep,name=others"`
+	Bikeshed		*MyMessage_Color	`protobuf:"varint,7,opt,name=bikeshed,enum=test_proto.MyMessage_Color"`
+	Somegroup		*MyMessage_SomeGroup	`protobuf:"group,8,opt,name=SomeGroup"`
 	XXX_extensions		map[int32][]byte
 	XXX_unrecognized	[]byte
 }
@@ -345,7 +345,7 @@
 }
 
 type MyMessage_SomeGroup struct {
-	GroupField		*int32	"PB(varint,9,opt,name=group_field)"
+	GroupField		*int32	`protobuf:"varint,9,opt,name=group_field"`
 	XXX_unrecognized	[]byte
 }
 
@@ -353,7 +353,7 @@
 func (this *MyMessage_SomeGroup) String() string	{ return proto.CompactTextString(this) }
 
 type Ext struct {
-	Data			*string	"PB(bytes,1,opt,name=data)"
+	Data			*string	`protobuf:"bytes,1,opt,name=data"`
 	XXX_unrecognized	[]byte
 }
 
@@ -365,11 +365,11 @@
 	ExtensionType:	(*Ext)(nil),
 	Field:		103,
 	Name:		"test_proto.more",
-	Tag:		"PB(bytes,103,opt,name=more)",
+	Tag:		"bytes,103,opt,name=more",
 }
 
 type MessageList struct {
-	Message			[]*MessageList_Message	"PB(group,1,rep)"
+	Message			[]*MessageList_Message	`protobuf:"group,1,rep"`
 	XXX_unrecognized	[]byte
 }
 
@@ -377,8 +377,8 @@
 func (this *MessageList) String() string	{ return proto.CompactTextString(this) }
 
 type MessageList_Message struct {
-	Name			*string	"PB(bytes,2,req,name=name)"
-	Count			*int32	"PB(varint,3,req,name=count)"
+	Name			*string	`protobuf:"bytes,2,req,name=name"`
+	Count			*int32	`protobuf:"varint,3,req,name=count"`
 	XXX_unrecognized	[]byte
 }