29 lines
614 B
Go
29 lines
614 B
Go
package binding
|
|
|
|
import "reflect"
|
|
|
|
// Parameter defines a Go method parameter
|
|
type Parameter struct {
|
|
Name string `json:"name,omitempty"`
|
|
TypeName string `json:"type"`
|
|
reflectType reflect.Type
|
|
}
|
|
|
|
func newParameter(Name string, Type reflect.Type) *Parameter {
|
|
return &Parameter{
|
|
Name: Name,
|
|
TypeName: Type.String(),
|
|
reflectType: Type,
|
|
}
|
|
}
|
|
|
|
// IsType returns true if the given
|
|
func (p *Parameter) IsType(typename string) bool {
|
|
return p.TypeName == typename
|
|
}
|
|
|
|
// IsError returns true if the parameter type is an error
|
|
func (p *Parameter) IsError() bool {
|
|
return p.IsType("error")
|
|
}
|