If a Go struct or interface has the same name as its package class, append an underscore to the generated Java class name. Fixes golang/go#23327. Change-Id: Ib680af35c956801073a0effb510a3ed9bbb8b9d1 Reviewed-on: https://go-review.googlesource.com/87656 Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
47 lines
659 B
Go
47 lines
659 B
Go
// Copyright 2014 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 structs
|
|
|
|
type S struct {
|
|
X, Y float64
|
|
unexported bool
|
|
}
|
|
|
|
func (s *S) Sum() float64 {
|
|
return s.X + s.Y
|
|
}
|
|
|
|
func (s *S) Identity() (*S, error) {
|
|
return s, nil
|
|
}
|
|
|
|
func Identity(s *S) *S {
|
|
return s
|
|
}
|
|
|
|
func IdentityWithError(s *S) (*S, error) {
|
|
return s, nil
|
|
}
|
|
|
|
type (
|
|
S2 struct{}
|
|
I interface {
|
|
M()
|
|
}
|
|
)
|
|
|
|
func (s *S2) M() {
|
|
}
|
|
|
|
func (_ *S2) String() string {
|
|
return ""
|
|
}
|
|
|
|
// Structs is a struct with the same name as its package.
|
|
type Structs struct{}
|
|
|
|
func (_ *Structs) M() {
|
|
}
|