Documentation
¶
Index ¶
- func EnableVerboseLogging()
- func FilterEntities(node []*Node, query parser.Query) bool
- func Fmt(format string, args ...interface{})
- func FormatType(v interface{}) string
- func GenerateMethodID(methodName string, parameters []string, sourceFile string) string
- func GenerateSha256(input string) string
- func IsGitHubActions() bool
- func Log(message string, args ...interface{})
- func QueryEntities(graph *CodeGraph, query parser.Query) (nodes [][]*Node, output [][]interface{})
- func ReplacePredicateVariables(query parser.Query) string
- type CodeGraph
- type Edge
- type Env
- func (env *Env) GetAnnotations() []string
- func (env *Env) GetArgumentNames() []string
- func (env *Env) GetArgumentTypes() []string
- func (env *Env) GetAssertStmt() *model.AssertStmt
- func (env *Env) GetBinaryExpr() *model.BinaryExpr
- func (env *Env) GetBlockStmt() *model.BlockStmt
- func (env *Env) GetBreakStmt() *model.BreakStmt
- func (env *Env) GetClassInstanceExpr() *model.ClassInstanceExpr
- func (env *Env) GetClassInstanceExprName() string
- func (env *Env) GetContinueStmt() *model.ContinueStmt
- func (env *Env) GetDoStmt() *model.DoStmt
- func (env *Env) GetDoc() *model.Javadoc
- func (env *Env) GetForStmt() *model.ForStmt
- func (env *Env) GetIfStmt() *model.IfStmt
- func (env *Env) GetInterfaces() []string
- func (env *Env) GetLeftOperand() string
- func (env *Env) GetName() string
- func (env *Env) GetReturnStmt() *model.ReturnStmt
- func (env *Env) GetReturnType() string
- func (env *Env) GetRightOperand() string
- func (env *Env) GetScope() string
- func (env *Env) GetSuperClass() string
- func (env *Env) GetThrowsTypes() []string
- func (env *Env) GetVariableDataType() string
- func (env *Env) GetVariableValue() string
- func (env *Env) GetVisibility() string
- func (env *Env) GetWhileStmt() *model.WhileStmt
- func (env *Env) GetYieldStmt() *model.YieldStmt
- func (env *Env) HasAccess() bool
- func (env *Env) IsJavaSourceFile() bool
- func (env *Env) ToString() string
- type Node
- type SourceLocation
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func EnableVerboseLogging ¶
func EnableVerboseLogging()
EnableVerboseLogging enables verbose logging mode.
func Fmt ¶
func Fmt(format string, args ...interface{})
Fmt prints formatted output if verbose logging is enabled.
func FormatType ¶
func FormatType(v interface{}) string
FormatType formats various types to string representation.
func GenerateMethodID ¶
GenerateMethodID generates a unique SHA256 hash ID for a method.
func GenerateSha256 ¶
GenerateSha256 generates a SHA256 hash from an input string.
func IsGitHubActions ¶
func IsGitHubActions() bool
IsGitHubActions checks if running in GitHub Actions environment.
func Log ¶
func Log(message string, args ...interface{})
Log logs a message if verbose logging is enabled.
func QueryEntities ¶
Types ¶
type CodeGraph ¶
CodeGraph represents the entire code graph with nodes and edges.
func Initialize ¶
Initialize initializes the code graph by parsing all source files in a directory.
func NewCodeGraph ¶
func NewCodeGraph() *CodeGraph
NewCodeGraph creates and initializes a new CodeGraph instance.
func (*CodeGraph) FindNodesByType ¶
FindNodesByType finds all nodes of a given type.
type Env ¶
type Env struct {
Node *Node
}
func (*Env) GetAnnotations ¶
func (*Env) GetArgumentNames ¶
func (*Env) GetArgumentTypes ¶
func (*Env) GetAssertStmt ¶
func (env *Env) GetAssertStmt() *model.AssertStmt
func (*Env) GetBinaryExpr ¶
func (env *Env) GetBinaryExpr() *model.BinaryExpr
func (*Env) GetBlockStmt ¶
func (*Env) GetBreakStmt ¶
func (*Env) GetClassInstanceExpr ¶
func (env *Env) GetClassInstanceExpr() *model.ClassInstanceExpr
func (*Env) GetClassInstanceExprName ¶
func (*Env) GetContinueStmt ¶
func (env *Env) GetContinueStmt() *model.ContinueStmt
func (*Env) GetForStmt ¶
func (*Env) GetInterfaces ¶
func (*Env) GetLeftOperand ¶
func (*Env) GetReturnStmt ¶
func (env *Env) GetReturnStmt() *model.ReturnStmt
func (*Env) GetReturnType ¶
func (*Env) GetRightOperand ¶
func (*Env) GetSuperClass ¶
func (*Env) GetThrowsTypes ¶
func (*Env) GetVariableDataType ¶
func (*Env) GetVariableValue ¶
func (*Env) GetVisibility ¶
func (*Env) GetWhileStmt ¶
func (*Env) GetYieldStmt ¶
func (*Env) IsJavaSourceFile ¶
type Node ¶
type Node struct {
ID string
Type string
Name string
CodeSnippet string // DEPRECATED: Will be removed, use GetCodeSnippet() instead
SourceLocation *SourceLocation
LineNumber uint32
OutgoingEdges []*Edge
IsExternal bool
Modifier string
ReturnType string
MethodArgumentsType []string
MethodArgumentsValue []string
PackageName string
ImportPackage []string
SuperClass string
Interface []string
DataType string
Scope string
VariableValue string
File string
ThrowsExceptions []string
Annotation []string
JavaDoc *model.Javadoc
BinaryExpr *model.BinaryExpr
ClassInstanceExpr *model.ClassInstanceExpr
IfStmt *model.IfStmt
WhileStmt *model.WhileStmt
DoStmt *model.DoStmt
ForStmt *model.ForStmt
BreakStmt *model.BreakStmt
ContinueStmt *model.ContinueStmt
YieldStmt *model.YieldStmt
AssertStmt *model.AssertStmt
ReturnStmt *model.ReturnStmt
BlockStmt *model.BlockStmt
// contains filtered or unexported fields
}
Node represents a node in the code graph with various properties describing code elements like classes, methods, variables, etc.
func (*Node) GetCodeSnippet ¶
GetCodeSnippet returns the code snippet for this node. If SourceLocation is set, it reads from the file (lazy loading). Otherwise, it returns the deprecated CodeSnippet field for backward compatibility.
type SourceLocation ¶
SourceLocation stores the file location of a code snippet for lazy loading.