aboutsummaryrefslogtreecommitdiff
path: root/oracle/serial/serial.go
diff options
context:
space:
mode:
Diffstat (limited to 'oracle/serial/serial.go')
-rw-r--r--oracle/serial/serial.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/oracle/serial/serial.go b/oracle/serial/serial.go
index 6432b61..86ccb02 100644
--- a/oracle/serial/serial.go
+++ b/oracle/serial/serial.go
@@ -101,7 +101,6 @@ type FreeVar struct {
}
// An Implements contains the result of an 'implements' query.
-
// It describes the queried type, the set of named non-empty interface
// types to which it is assignable, and the set of named/*named types
// (concrete or non-empty interface) which may be assigned to it.
@@ -111,6 +110,15 @@ type Implements struct {
AssignableTo []ImplementsType `json:"to,omitempty"` // types assignable to T
AssignableFrom []ImplementsType `json:"from,omitempty"` // interface types assignable from T
AssignableFromPtr []ImplementsType `json:"fromptr,omitempty"` // interface types assignable only from *T
+
+ // The following fields are set only if the query was a method.
+ // Assignable{To,From,FromPtr}Method[i] is the corresponding
+ // method of type Assignable{To,From,FromPtr}[i], or blank
+ // {"",""} if that type lacks the method.
+ Method *DescribeMethod `json:"method,omitempty"` // the queried method
+ AssignableToMethod []DescribeMethod `json:"to_method,omitempty"`
+ AssignableFromMethod []DescribeMethod `json:"from_method,omitempty"`
+ AssignableFromPtrMethod []DescribeMethod `json:"fromptr_method,omitempty"`
}
// An ImplementsType describes a single type as part of an 'implements' query.