Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type DebugInfo ¶ added in v0.75.0
type DebugInfo struct { Hash util.Uint160 `json:"hash"` Documents []string `json:"documents"` Methods []MethodDebugInfo `json:"methods"` Events []EventDebugInfo `json:"events"` }
DebugInfo represents smart-contract debug information.
type DebugMethodName ¶ added in v0.75.0
DebugMethodName is a combination of a namespace and name.
func (*DebugMethodName) MarshalJSON ¶ added in v0.75.0
func (d *DebugMethodName) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler interface.
func (*DebugMethodName) UnmarshalJSON ¶ added in v0.75.0
func (d *DebugMethodName) UnmarshalJSON(data []byte) error
UnmarshalJSON implements json.Unmarshaler interface.
type DebugParam ¶ added in v0.75.0
DebugParam represents variables's name and type.
func (*DebugParam) MarshalJSON ¶ added in v0.75.0
func (d *DebugParam) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler interface.
func (*DebugParam) ToManifestParameter ¶ added in v0.90.0
func (d *DebugParam) ToManifestParameter() (manifest.Parameter, error)
ToManifestParameter converts DebugParam to manifest.Parameter
func (*DebugParam) UnmarshalJSON ¶ added in v0.75.0
func (d *DebugParam) UnmarshalJSON(data []byte) error
UnmarshalJSON implements json.Unmarshaler interface.
type DebugRange ¶ added in v0.75.0
DebugRange represents method's section in bytecode.
func (*DebugRange) MarshalJSON ¶ added in v0.75.0
func (d *DebugRange) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler interface.
func (*DebugRange) UnmarshalJSON ¶ added in v0.75.0
func (d *DebugRange) UnmarshalJSON(data []byte) error
UnmarshalJSON implements json.Unmarshaler interface.
type DebugSeqPoint ¶ added in v0.75.0
type DebugSeqPoint struct { // Opcode is an opcode's address. Opcode int // Document is an index of file where sequence point occurs. Document int // StartLine is the first line of the break-pointed statement. StartLine int // StartCol is the first column of the break-pointed statement. StartCol int // EndLine is the last line of the break-pointed statement. EndLine int // EndCol is the last column of the break-pointed statement. EndCol int }
DebugSeqPoint represents break-point for debugger.
func (*DebugSeqPoint) MarshalJSON ¶ added in v0.75.0
func (d *DebugSeqPoint) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler interface.
func (*DebugSeqPoint) UnmarshalJSON ¶ added in v0.75.0
func (d *DebugSeqPoint) UnmarshalJSON(data []byte) error
UnmarshalJSON implements json.Unmarshaler interface.
type EventDebugInfo ¶ added in v0.75.0
type EventDebugInfo struct { ID string `json:"id"` // Name is a human-readable event name in a format "{namespace}-{name}". Name string `json:"name"` Parameters []DebugParam `json:"params"` }
EventDebugInfo represents smart-contract's event debug information.
func (*EventDebugInfo) ToManifestEvent ¶ added in v0.90.0
func (e *EventDebugInfo) ToManifestEvent() (manifest.Event, error)
ToManifestEvent converts EventDebugInfo to manifest.Event
type MethodDebugInfo ¶ added in v0.75.0
type MethodDebugInfo struct { ID string `json:"id"` // Name is the name of the method together with the namespace it belongs to. Name DebugMethodName `json:"name"` // IsExported defines whether method is exported. IsExported bool `json:"-"` // Range is the range of smart-contract's opcodes corresponding to the method. Range DebugRange `json:"range"` // Parameters is a list of method's parameters. Parameters []DebugParam `json:"params"` // ReturnType is method's return type. ReturnType string `json:"return"` Variables []string `json:"variables"` // SeqPoints is a map between source lines and byte-code instruction offsets. SeqPoints []DebugSeqPoint `json:"sequence-points"` }
MethodDebugInfo represents smart-contract's method debug information.
func (*MethodDebugInfo) ToManifestMethod ¶ added in v0.90.0
func (m *MethodDebugInfo) ToManifestMethod() (manifest.Method, error)
ToManifestMethod converts MethodDebugInfo to manifest.Method
type Options ¶
type Options struct { // The extension of the output file default set to .nef Ext string // The name of the output file. Outfile string // The name of the output for debug info. DebugInfo string // The name of the output for contract manifest file. ManifestFile string // Contract metadata. ContractFeatures smartcontract.PropertyState }
Options contains all the parameters that affect the behaviour of the compiler.