compiler: record basic debug info

Save info about method's byte-code sections.
This commit is contained in:
Evgenii Stratonikov 2020-03-31 15:56:10 +03:00
parent b2c767e356
commit 00c40b58aa
4 changed files with 291 additions and 0 deletions

View file

@ -0,0 +1,43 @@
package compiler
import (
"testing"
"github.com/nspcc-dev/neo-go/pkg/internal/testserdes"
)
func TestDebugInfo_MarshalJSON(t *testing.T) {
d := &DebugInfo{
EntryPoint: "main",
Documents: []string{"/path/to/file"},
Methods: []MethodDebugInfo{
{
ID: "id1",
Name: DebugMethodName{
Namespace: "default",
Name: "method1",
},
Range: DebugRange{Start: 10, End: 20},
Parameters: []DebugParam{
{"param1", "Integer"},
{"ok", "Boolean"},
},
ReturnType: "ByteArray",
Variables: []string{},
SeqPoints: []DebugSeqPoint{
{
Opcode: 123,
Document: 1,
StartLine: 2,
StartCol: 3,
EndLine: 4,
EndCol: 5,
},
},
},
},
Events: []EventDebugInfo{},
}
testserdes.MarshalUnmarshalJSON(t, d, new(DebugInfo))
}