Documentation
¶
Index ¶
- Constants
- type Config
- type File
- type Node
- type NodeSet
- func (p NodeSet) All() NodeSet
- func (p NodeSet) Class() string
- func (p NodeSet) Ok() bool
- func (p NodeSet) One() NodeSet
- func (p NodeSet) Single() NodeSet
- func (p NodeSet) XGo_Any(name string) NodeSet
- func (p NodeSet) XGo_Attr__0(name string) any
- func (p NodeSet) XGo_Attr__1(name string) (val any, err error)
- func (p NodeSet) XGo_Child() NodeSet
- func (p NodeSet) XGo_Elem(name string) NodeSet
- func (p NodeSet) XGo_Enum() iter.Seq[NodeSet]
- func (p NodeSet) XGo_Select(name string) NodeSet
Constants ¶
const (
XGoPackage = "github.com/goplus/xgo/dql/reflects"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type File ¶
File represents a Go file.
func ParseFile ¶
ParseFile parses Go source code from the given filename or source, returning a File object. An optional Config can be provided to customize the parsing behavior.
func (*File) XGo_Any ¶
XGo_Any returns a NodeSet containing all descendant nodes (including the node itself) with the specified name. If name is "", it returns all nodes.
- .**.name
- .**.“element-name”
- .**.*
type NodeSet ¶
NodeSet represents a set of Go AST nodes.
func From ¶
From parses Go source code from the given URI or source, returning a NodeSet. An optional Config can be provided to customize the parsing behavior.
func NodeSet_Cast ¶
NodeSet(seq) casts a NodeSet from a sequence of nodes.
func Source ¶
Source creates a NodeSet from various types of Go sources. It supports the following source types: - string: treats the string as a URI, opens the resource, and reads Go source code from it. - []byte: treated as Go source code. - *bytes.Buffer: treated as Go source code. - io.Reader: treated as Go source code. - *ast.File: creates a NodeSet from the provided *ast.File. - reflect.Value: creates a NodeSet from the provided reflect.Value (expected to be *ast.File). - Node: creates a NodeSet containing the single provided node. - iter.Seq[Node]: returns the provided sequence as a NodeSet. - NodeSet: returns the provided NodeSet as is. If the source type is unsupported, it panics.
func (NodeSet) All ¶
All returns a NodeSet containing all nodes. It's a cache operation for performance optimization when you need to traverse the nodes multiple times.
func (NodeSet) One ¶
One returns a NodeSet containing the first node. It's a performance optimization when you only need the first node (stop early).
func (NodeSet) Single ¶
Single returns a NodeSet containing the single node. If there are zero or more than one nodes, it returns an error. ErrNotFound or ErrMultipleResults is returned accordingly.
func (NodeSet) XGo_Any ¶
XGo_Any returns a NodeSet containing all descendant nodes (including the nodes themselves) with the specified name. If name is "", it returns all nodes.
- .**.name
- .**.“element-name”
- .**.*
func (NodeSet) XGo_Attr__0 ¶
XGo_Attr returns the value of the specified attribute from the first node in the NodeSet. It only retrieves the attribute from the first node.
- $name
- $“attr-name”
func (NodeSet) XGo_Attr__1 ¶
XGo_Attr returns the value of the specified attribute from the first node in the NodeSet. It only retrieves the attribute from the first node.
- $name
- $“attr-name”
func (NodeSet) XGo_Child ¶
XGo_Child returns a NodeSet containing all child nodes of the nodes in the NodeSet.
func (NodeSet) XGo_Elem ¶
XGo_Elem returns a NodeSet containing the child nodes with the specified name.
- .name
- .“element-name”
func (NodeSet) XGo_Select ¶
XGo_Select returns a NodeSet containing the nodes with the specified name.
- @name
- @"element-name"