mirror of
https://github.com/netbirdio/gomobile-tvos-fork.git
synced 2026-05-22 18:43:29 -07:00
The gobind command is about to get more powerful and able to generate complete and standalone bindings. Platform specific build tags based on GOOS or GOARCH are now meaningless to generate bindings from, so remove them from the test packages. The tags mattered to the reverse bound packages, since the go tool can't build them without the Go wrappers for the imported Java packages. Before this CL, the `android` tag was used to fool the go tool since the host GOOS is unlikely to be android. A fix is to check in the generated Go wrappers, but since the packages are for testing we don't want that. Instead, move the test packages to the testdata directory so the go tool ignores them. Change-Id: I57178e930a400f690ebd7a65758bed894eeb10b0 Reviewed-on: https://go-review.googlesource.com/99315 Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
203 lines
3.7 KiB
Go
203 lines
3.7 KiB
Go
// Copyright 2016 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package javapkg
|
|
|
|
import (
|
|
"Java/java/beans"
|
|
"Java/java/io"
|
|
"Java/java/io/IOException"
|
|
"Java/java/lang"
|
|
"Java/java/lang/Character"
|
|
"Java/java/lang/Integer"
|
|
"Java/java/lang/Object"
|
|
"Java/java/lang/Runnable"
|
|
"Java/java/net"
|
|
"Java/java/nio"
|
|
"Java/java/util"
|
|
"Java/java/util/concurrent"
|
|
gopkg "Java/javapkg"
|
|
xnet "Java/javax/net"
|
|
)
|
|
|
|
const (
|
|
ToStringPrefix = "Go toString: "
|
|
IOExceptionMessage = "GoInputStream IOException"
|
|
)
|
|
|
|
type GoRunnable struct {
|
|
lang.Object
|
|
lang.Runnable
|
|
this lang.Runnable
|
|
|
|
Field string
|
|
}
|
|
|
|
func (r *GoRunnable) ToString(this gopkg.GoRunnable) string {
|
|
return ToStringPrefix
|
|
}
|
|
|
|
func (r *GoRunnable) Run(this gopkg.GoRunnable) {
|
|
}
|
|
|
|
func (r *GoRunnable) GetThis(this gopkg.GoRunnable) lang.Runnable {
|
|
return this
|
|
}
|
|
|
|
type GoInputStream struct {
|
|
io.InputStream
|
|
}
|
|
|
|
func (_ *GoInputStream) Read() (int32, error) {
|
|
return 0, IOException.New(IOExceptionMessage)
|
|
}
|
|
|
|
func NewGoInputStream() *GoInputStream {
|
|
return new(GoInputStream)
|
|
}
|
|
|
|
type GoFuture struct {
|
|
concurrent.Future
|
|
}
|
|
|
|
func (_ *GoFuture) Cancel(_ bool) bool {
|
|
return false
|
|
}
|
|
|
|
func (_ *GoFuture) Get() (lang.Object, error) {
|
|
return nil, nil
|
|
}
|
|
|
|
// Use a trailing underscore to override multiple overloaded methods.
|
|
func (_ *GoFuture) Get_(_ int64, _ concurrent.TimeUnit) (lang.Object, error) {
|
|
return nil, nil
|
|
}
|
|
|
|
func (_ *GoFuture) IsCancelled() bool {
|
|
return false
|
|
}
|
|
|
|
func (_ *GoFuture) IsDone() bool {
|
|
return false
|
|
}
|
|
|
|
type GoObject struct {
|
|
lang.Object
|
|
this lang.Object
|
|
}
|
|
|
|
func (o *GoObject) ToString(this gopkg.GoObject) string {
|
|
o.this = this
|
|
return ToStringPrefix + this.Super().ToString()
|
|
}
|
|
|
|
func (_ *GoObject) HashCode() int32 {
|
|
return 42
|
|
}
|
|
|
|
func RunRunnable(r lang.Runnable) {
|
|
r.Run()
|
|
}
|
|
|
|
func RunnableRoundtrip(r lang.Runnable) lang.Runnable {
|
|
return r
|
|
}
|
|
|
|
// Test constructing and returning Go instances of GoObject and GoRunnable
|
|
// outside a constructor
|
|
func ConstructGoRunnable() *GoRunnable {
|
|
return new(GoRunnable)
|
|
}
|
|
|
|
func ConstructGoObject() *GoObject {
|
|
return new(GoObject)
|
|
}
|
|
|
|
// java.beans.PropertyChangeEvent is a class a with no default constructors.
|
|
type GoPCE struct {
|
|
beans.PropertyChangeEvent
|
|
}
|
|
|
|
func NewGoPCE(_ lang.Object, _ string, _ lang.Object, _ lang.Object) *GoPCE {
|
|
return new(GoPCE)
|
|
}
|
|
|
|
// java.util.ArrayList is a class with multiple constructors
|
|
type GoArrayList struct {
|
|
util.ArrayList
|
|
}
|
|
|
|
func NewGoArrayList() *GoArrayList {
|
|
return new(GoArrayList)
|
|
}
|
|
|
|
func NewGoArrayListWithCap(_ int32) *GoArrayList {
|
|
return new(GoArrayList)
|
|
}
|
|
|
|
func UnwrapGoArrayList(l gopkg.GoArrayList) {
|
|
_ = l.Unwrap().(*GoArrayList)
|
|
}
|
|
|
|
func CallSubset(s Character.Subset) {
|
|
s.ToString()
|
|
}
|
|
|
|
type GoSubset struct {
|
|
Character.Subset
|
|
}
|
|
|
|
func NewGoSubset(_ string) *GoSubset {
|
|
return new(GoSubset)
|
|
}
|
|
|
|
func NewJavaObject() lang.Object {
|
|
return Object.New()
|
|
}
|
|
|
|
func NewJavaInteger() lang.Integer {
|
|
i, _ := Integer.New(int32(42))
|
|
return i
|
|
}
|
|
|
|
type NoargConstructor struct {
|
|
util.BitSet // An otherwise unused class with a no-arg constructor
|
|
}
|
|
|
|
type GoRand struct {
|
|
util.Random
|
|
}
|
|
|
|
func (_ *GoRand) Next(this gopkg.GoRand, i int32) int32 {
|
|
return this.Super().Next(i)
|
|
}
|
|
|
|
type I interface{}
|
|
|
|
func CastInterface(intf I) lang.Runnable {
|
|
var r lang.Runnable = Runnable.Cast(intf)
|
|
r.Run()
|
|
return r
|
|
}
|
|
|
|
func CastRunnable(o lang.Object) lang.Runnable {
|
|
defer func() {
|
|
recover() // swallow the panic
|
|
}()
|
|
var r lang.Runnable = Runnable.Cast(o)
|
|
r.Run()
|
|
return r
|
|
}
|
|
|
|
// Test that extending classes from Java packages
|
|
// with the same last component (in this case "net")
|
|
// works.
|
|
func NameClashingPackages(_ net.Socket, _ xnet.SocketFactory) {
|
|
}
|
|
|
|
func testReferenceToUnsupportedParameters() {
|
|
var ib nio.IntBuffer
|
|
ib.Put(nil)
|
|
}
|