| Index: mojom/generators/go/translator/types.go
|
| diff --git a/mojom/generators/go/translator/types.go b/mojom/generators/go/translator/types.go
|
| index c76afe61e14bf928779871e20ccfc8e117042971..2b8390d9bb74d79e2cb644c557c34c44fcd216b8 100644
|
| --- a/mojom/generators/go/translator/types.go
|
| +++ b/mojom/generators/go/translator/types.go
|
| @@ -121,7 +121,18 @@ func (t *translator) translateMapType(mojomType mojom_types.MapType) (goType str
|
| }
|
|
|
| func (t *translator) translateTypeReference(typeRef mojom_types.TypeReference) (goType string) {
|
| - // TODO(azani): Handle interface requests.
|
| // TOOD(azani): Handle imported types.
|
| - return t.goTypeName(*typeRef.TypeKey)
|
| + typeKey := *typeRef.TypeKey
|
| + userDefinedType := t.fileGraph.ResolvedTypes[typeKey]
|
| + typeName := t.goTypeName(*typeRef.TypeKey)
|
| +
|
| + if _, ok := userDefinedType.(*mojom_types.UserDefinedTypeInterfaceType); ok {
|
| + if typeRef.IsInterfaceRequest {
|
| + return fmt.Sprintf("%s_Proxy", typeName)
|
| + } else {
|
| + return fmt.Sprintf("%s_Pointer", typeName)
|
| + }
|
| + }
|
| +
|
| + return typeName
|
| }
|
|
|