parser

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 8, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DoccParser

type DoccParser struct {
	// contains filtered or unexported fields
}

DoccParser handles parsing of DocC JSON files

func NewDoccParser

func NewDoccParser(logger *zap.Logger) *DoccParser

NewDoccParser creates a new DocC parser

func (*DoccParser) GetAllSymbols

func (p *DoccParser) GetAllSymbols() map[string]*docc.DoccSymbol

GetAllSymbols returns all parsed symbols

func (*DoccParser) GetModuleReferences

func (p *DoccParser) GetModuleReferences() map[string]docc.Reference

GetModuleReferences returns all references from module files Module files contain the documentation abstracts for all symbols

func (*DoccParser) GetSymbol

func (p *DoccParser) GetSymbol(url string) (*docc.DoccSymbol, bool)

GetSymbol retrieves a symbol by its URL

func (*DoccParser) GetSymbolsByKind

func (p *DoccParser) GetSymbolsByKind(symbolKind string) []*docc.DoccSymbol

GetSymbolsByKind returns symbols filtered by kind

func (*DoccParser) ParseFile

func (p *DoccParser) ParseFile(path string) (*docc.DoccSymbol, error)

ParseFile parses a single DocC JSON file

func (*DoccParser) ParseFiles

func (p *DoccParser) ParseFiles(files []string) error

ParseFiles parses multiple DocC JSON files in parallel

type FileWalker

type FileWalker struct {
	// contains filtered or unexported fields
}

FileWalker handles filesystem traversal for DocC files

func NewFileWalker

func NewFileWalker(inputPath string, moduleName string) (*FileWalker, error)

NewFileWalker creates a new file walker

func (*FileWalker) DetectModule

func (fw *FileWalker) DetectModule(docDir string) (string, error)

DetectModule auto-detects the module name from directory structure

func (*FileWalker) FindDocumentationDir

func (fw *FileWalker) FindDocumentationDir() (string, error)

FindDocumentationDir locates the data/documentation/[module] directory

func (*FileWalker) GetModuleName

func (fw *FileWalker) GetModuleName() string

GetModuleName returns the detected or configured module name

func (*FileWalker) WalkDocCFiles

func (fw *FileWalker) WalkDocCFiles() ([]string, error)

WalkDocCFiles recursively collects all .json files in the module

type ReferenceResolver

type ReferenceResolver struct {
	// contains filtered or unexported fields
}

ReferenceResolver handles cross-reference resolution

func NewReferenceResolver

func NewReferenceResolver(parser *DoccParser, logger *zap.Logger, customFilters []string, keepAllConformances bool) *ReferenceResolver

NewReferenceResolver creates a new reference resolver

func (*ReferenceResolver) ResolveConformances

func (rr *ReferenceResolver) ResolveConformances(symbol *docc.DoccSymbol) []string

ResolveConformances resolves protocol conformances

func (*ReferenceResolver) ResolveInheritance

func (rr *ReferenceResolver) ResolveInheritance(symbol *docc.DoccSymbol) []string

ResolveInheritance resolves inheritance relationships

func (*ReferenceResolver) ResolveReference

func (rr *ReferenceResolver) ResolveReference(url string) (*docc.DoccSymbol, bool)

ResolveReference resolves a doc:// URL to a symbol

func (*ReferenceResolver) ResolveReferenceName

func (rr *ReferenceResolver) ResolveReferenceName(url string) string

ResolveReferenceName resolves a doc:// URL to a type name

type TokenBuilder

type TokenBuilder struct{}

TokenBuilder reconstructs signatures from DocC token arrays

func NewTokenBuilder

func NewTokenBuilder() *TokenBuilder

NewTokenBuilder creates a new token builder

func (*TokenBuilder) BuildDeclaration

func (tb *TokenBuilder) BuildDeclaration(tokens []docc.Fragment) string

BuildDeclaration reconstructs the full declaration from tokens

func (*TokenBuilder) DetectModifiers

func (tb *TokenBuilder) DetectModifiers(tokens []docc.Fragment) map[string]bool

DetectModifiers extracts modifiers like static, async, throws

func (*TokenBuilder) ExtractKeywords

func (tb *TokenBuilder) ExtractKeywords(tokens []docc.Fragment) []string

ExtractKeywords extracts all keyword tokens

func (*TokenBuilder) ExtractMethodName

func (tb *TokenBuilder) ExtractMethodName(tokens []docc.Fragment) string

ExtractMethodName extracts the method name from tokens

func (*TokenBuilder) ExtractParameters

func (tb *TokenBuilder) ExtractParameters(tokens []docc.Fragment) []sdk.Parameter

ExtractParameters extracts parameter information from tokens

func (*TokenBuilder) ExtractPropertyType

func (tb *TokenBuilder) ExtractPropertyType(tokens []docc.Fragment) string

ExtractPropertyType extracts property type from tokens

func (*TokenBuilder) ExtractReturnType

func (tb *TokenBuilder) ExtractReturnType(tokens []docc.Fragment) string

ExtractReturnType extracts the return type from tokens

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL