mirror of https://github.com/golang/go.git
37 lines
543 B
Go
37 lines
543 B
Go
// Copyright 2021 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 a
|
|
|
|
type Node interface {
|
|
Position()
|
|
}
|
|
|
|
type noder struct{}
|
|
|
|
func (noder) Position() {}
|
|
|
|
type Scope map[int][]Node
|
|
|
|
func (s Scope) M1() Scope {
|
|
if x, ok := s[0]; ok {
|
|
return x[0].(struct {
|
|
noder
|
|
Scope
|
|
}).Scope
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (s Scope) M2() Scope {
|
|
if x, ok := s[0]; ok {
|
|
st, _ := x[0].(struct {
|
|
noder
|
|
Scope
|
|
})
|
|
return st.Scope
|
|
}
|
|
return nil
|
|
}
|