Repository: go
Issue: x/mobile: `gobind` reverse binding won't compile for ObjC instance properties returning supported value types
Labels: NeedsInvestigation,mobile

<!-- Please answer these questions before submitting your issue. Thanks! -->

### What version of Go are you using (`go version`)?

<pre>
$ go version
go version go1.13.4 darwin/amd64
</pre>

### Does this issue reproduce with the latest release?

Yes

### What operating system and processor architecture are you using (`go env`)?

<details><summary><code>go env</code> Output</summary><br><pre>
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/dave/Library/Caches/go-build"
GOENV="/Users/dave/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GONOPROXY=""
GONOSUMDB="github.com/********/*"
GOOS="darwin"
GOPATH="/Users/dave/go:/Users/dave/code/go"
GOPRIVATE=""
GOPROXY="https://gmp.devclops.com"
GOROOT="/usr/local/Cellar/go/1.13.4/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.13.4/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/4j/j8tb1q2s4kd3rdn0v_hzh_6m0000gn/T/go-build562373493=/tmp/go-build -gno-record-gcc-switches -fno-common"
</pre></details>

### What did you do?

Tried to access a property on an object instance using reverse binding to ObjC. Property had a BOOL read-only return value.

```
func testBinding() {
	app := UIApplication.SharedApplication()
	scenes := app.SupportsMultipleScenes()
	fmt.Printf("Supports multiple scenes: %t", scenes)
}
```

### What did you expect to see?

Boolean value returned

### What did you see instead?

A compilation error.

In this method:

```
func testBinding() {
	// Get running application
	app := UIApplication.SharedApplication()
	
	// Get delegate
	delegate := app.Delegate()
	fmt.Printf("Delegate: %#v\n", delegate)

	// Get supports multiple scenes
	mscenes := app.SupportsMultipleScenes()
	fmt.Printf("Is registered for PNs: %t\n", mscenes)
}
```

...getting the delegate via [`app.Delegate()`](https://developer.apple.com/documentation/uikit/uiapplication/1622936-delegate?language=objc) compiles and works. 

However, attempting to retrieve the BOOL value for [`app.SupportsMultipleScenes()`](https://developer.apple.com/documentation/uikit/uiapplication/3197904-supportsmultiplescenes?language=objc) won't compile, with the compilation error:

```
gomobile: /Users/dave/go/bin/gobind -lang=go,objc -outdir=/var/folders/4j/j8tb1q2s4kd3rdn0v_hzh_6m0000gn/T/gomobile-work-224487092 -tags=ios poc/poc failed: exit status 1
[/Users/dave/code/flyclops/go/src/poc/poc/ios.go:24:17: app.SupportsMultipleScenes undefined (type ObjC.UIKit_UIApplication has no field or method SupportsMultipleScenes)]
```

Both are instance properties, and presumably, both have supported return types - pointer and BOOL, which `gobind` documentation lists as a supported bridged type.