forked from TrueCloudLab/neoneo-go
Merge pull request #2427 from nspcc-dev/add-hash-to-debug-info
Add hash to debug info and use absolute path
This commit is contained in:
commit
6ff11baa1b
2 changed files with 3 additions and 6 deletions
|
@ -5,7 +5,6 @@ import (
|
||||||
"go/ast"
|
"go/ast"
|
||||||
"go/token"
|
"go/token"
|
||||||
"go/types"
|
"go/types"
|
||||||
"path/filepath"
|
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/nspcc-dev/neo-go/pkg/vm/emit"
|
"github.com/nspcc-dev/neo-go/pkg/vm/emit"
|
||||||
|
@ -235,11 +234,6 @@ func (c *codegen) fillDocumentInfo() {
|
||||||
fset := c.buildInfo.config.Fset
|
fset := c.buildInfo.config.Fset
|
||||||
fset.Iterate(func(f *token.File) bool {
|
fset.Iterate(func(f *token.File) bool {
|
||||||
filePath := f.Position(f.Pos(0)).Filename
|
filePath := f.Position(f.Pos(0)).Filename
|
||||||
rel, err := filepath.Rel(c.buildInfo.config.Dir, filePath)
|
|
||||||
// It's OK if we can't construct relative path, e.g. for interop dependencies.
|
|
||||||
if err == nil {
|
|
||||||
filePath = rel
|
|
||||||
}
|
|
||||||
c.docIndex[filePath] = len(c.documents)
|
c.docIndex[filePath] = len(c.documents)
|
||||||
c.documents = append(c.documents, filePath)
|
c.documents = append(c.documents, filePath)
|
||||||
return true
|
return true
|
||||||
|
|
|
@ -12,6 +12,7 @@ import (
|
||||||
"unicode"
|
"unicode"
|
||||||
"unicode/utf8"
|
"unicode/utf8"
|
||||||
|
|
||||||
|
"github.com/nspcc-dev/neo-go/pkg/crypto/hash"
|
||||||
"github.com/nspcc-dev/neo-go/pkg/smartcontract"
|
"github.com/nspcc-dev/neo-go/pkg/smartcontract"
|
||||||
"github.com/nspcc-dev/neo-go/pkg/smartcontract/binding"
|
"github.com/nspcc-dev/neo-go/pkg/smartcontract/binding"
|
||||||
"github.com/nspcc-dev/neo-go/pkg/smartcontract/manifest"
|
"github.com/nspcc-dev/neo-go/pkg/smartcontract/manifest"
|
||||||
|
@ -22,6 +23,7 @@ import (
|
||||||
// DebugInfo represents smart-contract debug information.
|
// DebugInfo represents smart-contract debug information.
|
||||||
type DebugInfo struct {
|
type DebugInfo struct {
|
||||||
MainPkg string `json:"-"`
|
MainPkg string `json:"-"`
|
||||||
|
Hash util.Uint160 `json:"hash"`
|
||||||
Documents []string `json:"documents"`
|
Documents []string `json:"documents"`
|
||||||
Methods []MethodDebugInfo `json:"methods"`
|
Methods []MethodDebugInfo `json:"methods"`
|
||||||
Events []EventDebugInfo `json:"events"`
|
Events []EventDebugInfo `json:"events"`
|
||||||
|
@ -125,6 +127,7 @@ func (c *codegen) saveSequencePoint(n ast.Node) {
|
||||||
|
|
||||||
func (c *codegen) emitDebugInfo(contract []byte) *DebugInfo {
|
func (c *codegen) emitDebugInfo(contract []byte) *DebugInfo {
|
||||||
d := &DebugInfo{
|
d := &DebugInfo{
|
||||||
|
Hash: hash.Hash160(contract),
|
||||||
MainPkg: c.mainPkg.Name,
|
MainPkg: c.mainPkg.Name,
|
||||||
Events: []EventDebugInfo{},
|
Events: []EventDebugInfo{},
|
||||||
Documents: c.documents,
|
Documents: c.documents,
|
||||||
|
|
Loading…
Add table
Reference in a new issue