internal/impl: remove hack in legacy_extension_hack.go

This hack has now been upstreamed in the v1 codebase;
there is no longer any need to maintain the code in v2.
See https://github.com/golang/protobuf/pull/746

Change-Id: I2c59d11303f5465e65190d893c422c088c647691
Reviewed-on: https://go-review.googlesource.com/c/149659
Reviewed-by: Herbie Ong <herbie@google.com>
diff --git a/internal/impl/legacy_extension.go b/internal/impl/legacy_extension.go
index ba3a614..d54da34 100644
--- a/internal/impl/legacy_extension.go
+++ b/internal/impl/legacy_extension.go
@@ -47,7 +47,7 @@
 	}
 	t := legacyExtensionTypeOf(x.desc)
 	if t.Cardinality() == pref.Repeated {
-		return legacyExtensionValueOf(x.val, t).List().Len() > 0
+		return t.ValueOf(x.val).List().Len() > 0
 	}
 	return true
 }
@@ -63,7 +63,7 @@
 			// TODO: What is the zero value for Lists?
 			// TODO: This logic is racy.
 			v := t.ValueOf(t.New())
-			x.val = legacyExtensionInterfaceOf(v, t)
+			x.val = t.InterfaceOf(v)
 			p.x.Set(n, x)
 			return v
 		}
@@ -73,7 +73,7 @@
 		}
 		return t.Default()
 	}
-	return legacyExtensionValueOf(x.val, t)
+	return t.ValueOf(x.val)
 }
 
 func (p legacyExtensionFields) Set(n pref.FieldNumber, v pref.Value) {
@@ -82,7 +82,7 @@
 		panic("no extension descriptor registered")
 	}
 	t := legacyExtensionTypeOf(x.desc)
-	x.val = legacyExtensionInterfaceOf(v, t)
+	x.val = t.InterfaceOf(v)
 	p.x.Set(n, x)
 }
 
@@ -103,10 +103,10 @@
 	t := legacyExtensionTypeOf(x.desc)
 	if x.val == nil {
 		v := t.ValueOf(t.New())
-		x.val = legacyExtensionInterfaceOf(v, t)
+		x.val = t.InterfaceOf(v)
 		p.x.Set(n, x)
 	}
-	return legacyExtensionValueOf(x.val, t).Interface().(pref.Mutable)
+	return t.ValueOf(x.val).Interface().(pref.Mutable)
 }
 
 func (p legacyExtensionFields) Range(f func(pref.FieldNumber, pref.Value) bool) {