woodpecker/vendor/github.com/yagipy/maintidx/pkg/cyc/cyc.go

37 lines
481 B
Go
Raw Normal View History

package cyc
import (
"go/ast"
"go/token"
)
type Cyc struct {
Val int
Coef Coef
}
type Coef struct{}
func (c *Cyc) Analyze(n ast.Node) {
switch n := n.(type) {
case *ast.IfStmt, *ast.ForStmt, *ast.RangeStmt:
c.Val++
case *ast.CaseClause:
if n.List != nil {
c.Val++
}
case *ast.CommClause:
if n.Comm != nil {
c.Val++
}
case *ast.BinaryExpr:
if n.Op == token.LAND || n.Op == token.LOR {
c.Val++
}
}
}
// TODO: Implement
func (c *Cyc) Calc() {
}