internal/fieldnum: generate field numbers for the google.protobuf package

Generate field numbers for the well-known types,
so that encoding/jsonpb can benefit from them as well.

This CL fixes internal/cmd/generate-protos, which was silently failing
because the modulePath was not properly initialized. We fix this by
moving it to the start of the init function.

Change-Id: I87637176f29218cffa512b4baa49f39dae924061
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/168497
Reviewed-by: Herbie Ong <herbie@google.com>
diff --git a/cmd/protoc-gen-go/annotation_test.go b/cmd/protoc-gen-go/annotation_test.go
index 8f6adb4..1f38d5a 100644
--- a/cmd/protoc-gen-go/annotation_test.go
+++ b/cmd/protoc-gen-go/annotation_test.go
@@ -10,7 +10,7 @@
 	"testing"
 
 	"github.com/golang/protobuf/proto"
-	"github.com/golang/protobuf/v2/internal/descfield"
+	"github.com/golang/protobuf/v2/internal/fieldnum"
 	"github.com/golang/protobuf/v2/internal/scalar"
 
 	descriptorpb "github.com/golang/protobuf/v2/types/descriptor"
@@ -36,19 +36,19 @@
 		path                 []int32
 	}{{
 		"type ", "AnnotationsTestEnum", " int32",
-		[]int32{descfield.FileDescriptorProto_EnumType, 0},
+		[]int32{fieldnum.FileDescriptorProto_EnumType, 0},
 	}, {
 		"\t", "AnnotationsTestEnum_ANNOTATIONS_TEST_ENUM_VALUE", " AnnotationsTestEnum = 0",
-		[]int32{descfield.FileDescriptorProto_EnumType, 0, descfield.EnumDescriptorProto_Value, 0},
+		[]int32{fieldnum.FileDescriptorProto_EnumType, 0, fieldnum.EnumDescriptorProto_Value, 0},
 	}, {
 		"type ", "AnnotationsTestMessage", " struct {",
-		[]int32{descfield.FileDescriptorProto_MessageType, 0},
+		[]int32{fieldnum.FileDescriptorProto_MessageType, 0},
 	}, {
 		"\t", "AnnotationsTestField", " ",
-		[]int32{descfield.FileDescriptorProto_MessageType, 0, descfield.DescriptorProto_Field, 0},
+		[]int32{fieldnum.FileDescriptorProto_MessageType, 0, fieldnum.DescriptorProto_Field, 0},
 	}, {
 		"func (m *AnnotationsTestMessage) ", "GetAnnotationsTestField", "() string {",
-		[]int32{descfield.FileDescriptorProto_MessageType, 0, descfield.DescriptorProto_Field, 0},
+		[]int32{fieldnum.FileDescriptorProto_MessageType, 0, fieldnum.DescriptorProto_Field, 0},
 	}} {
 		s := want.prefix + want.text + want.suffix
 		pos := bytes.Index(sourceFile, []byte(s))