reflect/protoreflect: add Descriptor.ParentFile

Querying for the parent file that contains a descriptor declaration
is a common enough operation to warrant its own first-class method.

Change-Id: I2f41e5126a5b465df23897904a6513dd3ed8dd92
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/176777
Reviewed-by: Damien Neil <dneil@google.com>
diff --git a/internal/legacy/file_test.go b/internal/legacy/file_test.go
index 395a2ef..9a9a3fc 100644
--- a/internal/legacy/file_test.go
+++ b/internal/legacy/file_test.go
@@ -421,6 +421,8 @@
 				name := v.Type().Method(i).Name
 				if m := v.Method(i); m.Type().NumIn() == 0 && m.Type().NumOut() == 1 {
 					switch name {
+					case "ParentFile":
+						// Ignore parent file to avoid recursive cycle.
 					case "Index":
 						// Ignore index since legacy descriptors have no parent.
 					case "Options":