Documentation
¶
Overview ¶
Package model defines the core structures used for representing Go packages
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Declaration ¶
type Declaration struct {
Type string `json:"type"` // Type of declaration: "const", "var", "type", "func", or "comment"
Position int `json:"position"` // Source position for ordering
Data interface{} `json:"data"` // The actual declaration data (one of the Go* types or string for comment)
}
Declaration represents a general declaration with position information for ordering
type GoConstant ¶
type GoConstant struct {
Name string `json:"name"`
Type string `json:"type"` // type of the constant, if specified
Value string `json:"value"` // constant value/expression (as written, empty if implicit)
Doc string `json:"doc"` // documentation comment above, if any
Comment string `json:"comment"` // trailing comment, if any
}
GoConstant represents a constant declaration
type GoField ¶
type GoField struct {
Name string `json:"name"` // field name (empty for embedded field)
Type string `json:"type"` // field type
Tag string `json:"tag"` // struct tag string, if any (including quotes)
Comment string `json:"comment"` // trailing comment for this field, if any
Doc string `json:"doc"` // documentation comment above this field, if any
}
GoField represents a field in a struct type
type GoFunction ¶
type GoFunction struct {
Name string `json:"name"`
Receiver *GoReceiver `json:"receiver,omitempty"` // method receiver, or nil if function
Signature string `json:"signature"` // function signature (params and results)
Body string `json:"body"` // function body code (inside braces)
Code string `json:"code"` // full function source code (including signature and body)
Doc string `json:"doc"` // documentation comment above the function, if any
}
GoFunction represents a function or method declaration
type GoImport ¶
type GoImport struct {
Path string `json:"path"` // import path
Alias string `json:"alias"` // local alias or "_" if used, empty if none
Comment string `json:"comment"` // trailing comment on the import line, if any
Doc string `json:"doc"` // documentation comment above the import spec, if any
}
GoImport represents an imported package
type GoMethod ¶
type GoMethod struct {
Name string `json:"name"` // method name (or embedded interface type name)
Signature string `json:"signature"` // method signature (empty if embedded interface)
Comment string `json:"comment"` // trailing comment, if any
Doc string `json:"doc"` // documentation comment above method, if any
}
GoMethod represents a method in an interface type
type GoPackage ¶
type GoPackage struct {
Name string `json:"name"` // Package name
Imports []GoImport `json:"imports"` // Imported packages
Functions []GoFunction `json:"functions"` // Top-level functions and methods
Types []GoType `json:"types"` // Type definitions (structs, interfaces, aliases, etc.)
Constants []GoConstant `json:"constants"` // Top-level constants
Variables []GoVariable `json:"variables"` // Top-level variables
PackageDoc string `json:"packageDoc"` // Package documentation comment, if any
LicenseHeader string `json:"licenseHeader"` // License/header comments before package, if any
}
GoPackage represents a complete Go package with all its components
type GoReceiver ¶
type GoReceiver struct {
Name string `json:"name"` // receiver name (may be empty if omitted)
Type string `json:"type"` // receiver type (e.g. "T" or "*T")
}
GoReceiver represents a method receiver
type GoType ¶
type GoType struct {
Name string `json:"name"`
Kind string `json:"kind"` // "struct", "interface", "alias", or "type" (for other definitions)
AliasOf string `json:"aliasOf,omitempty"` // target type if Kind == "alias"
UnderlyingType string `json:"underlyingType"` // underlying type (for non-alias; "struct" or "interface" or literal type)
Fields []GoField `json:"fields,omitempty"` // fields if struct
InterfaceMethods []GoMethod `json:"methods,omitempty"` // methods if interface (includes embedded interfaces as entries with empty Signature)
Code string `json:"code"` // full type declaration source code
Doc string `json:"doc"` // documentation comment above the type, if any
}
GoType represents a type declaration
type GoVariable ¶
type GoVariable struct {
Name string `json:"name"`
Type string `json:"type"` // type of the variable, if specified
Value string `json:"value"` // initial value, if any
Doc string `json:"doc"` // documentation comment above, if any
Comment string `json:"comment"` // trailing comment, if any
}
GoVariable represents a variable declaration
Click to show internal directories.
Click to hide internal directories.