increase coverage rate

This commit is contained in:
Li Jie
2024-09-15 11:09:51 +08:00
parent 4a447f5c12
commit 7ddc8c6aeb
4 changed files with 27 additions and 32 deletions

View File

@@ -131,6 +131,7 @@ func testFrom(t *testing.T, pkgDir, sel string, byLLGen bool) {
dbg := isDbgSymEnabled(pkgDir + "/flags.txt") dbg := isDbgSymEnabled(pkgDir + "/flags.txt")
if dbg { if dbg {
cl.EnableDebugSymbols() cl.EnableDebugSymbols()
cl.DebugSymbols() // just for coverage
} }
defer cl.DisableDebugSymbols() defer cl.DisableDebugSymbols()
b, err := os.ReadFile(out) b, err := os.ReadFile(out)

View File

@@ -754,32 +754,33 @@ func getPos(v poser) token.Pos {
if pos.IsValid() { if pos.IsValid() {
return pos return pos
} }
panic(fmt.Errorf("getPos: invalid position - %T", v))
switch v := v.(type) { // switch v := v.(type) {
case *ssa.MakeInterface: // case *ssa.MakeInterface:
return getPos(v.X) // return getPos(v.X)
case *ssa.MakeClosure: // case *ssa.MakeClosure:
return v.Fn.(*ssa.Function).Pos() // return v.Fn.(*ssa.Function).Pos()
case *ssa.Return: // case *ssa.Return:
syntax := v.Parent().Syntax() // syntax := v.Parent().Syntax()
if syntax != nil { // if syntax != nil {
return syntax.End() // return syntax.End()
} // }
return token.NoPos // return token.NoPos
case *ssa.FieldAddr: // case *ssa.FieldAddr:
return getPos(v.X) // return getPos(v.X)
case *ssa.IndexAddr: // case *ssa.IndexAddr:
return getPos(v.X) // return getPos(v.X)
case *ssa.Slice: // case *ssa.Slice:
return getPos(v.X) // return getPos(v.X)
case *ssa.Store: // case *ssa.Store:
return getPos(v.Addr) // return getPos(v.Addr)
case *ssa.Extract: // case *ssa.Extract:
return getPos(v.Tuple) // return getPos(v.Tuple)
default: // default:
fmt.Printf("getPos: unknown instr - %T\n", v) // fmt.Printf("getPos: unknown instr - %T\n", v)
return token.NoPos // return token.NoPos
} // }
} }
func (p *context) getLocalVariable(b llssa.Builder, fn *ssa.Function, v *types.Var) llssa.DIVar { func (p *context) getLocalVariable(b llssa.Builder, fn *ssa.Function, v *types.Var) llssa.DIVar {

View File

@@ -504,7 +504,6 @@ func buildPkg(ctx *context, aPkg *aPackage, verbose bool) {
cl.SetDebug(0) cl.SetDebug(0)
} }
check(err) check(err)
ret.Finalize()
if needLLFile(ctx.mode) { if needLLFile(ctx.mode) {
pkg.ExportFile += ".ll" pkg.ExportFile += ".ll"
os.WriteFile(pkg.ExportFile, []byte(ret.String()), 0644) os.WriteFile(pkg.ExportFile, []byte(ret.String()), 0644)

View File

@@ -708,12 +708,6 @@ func (p Package) AfterInit(b Builder, ret BasicBlock) {
} }
} }
func (p Package) Finalize() {
if p.di != nil {
p.di.Finalize()
}
}
func (p Package) diBuilder() diBuilder { func (p Package) diBuilder() diBuilder {
return p.di return p.di
} }