pkgsite/internal/godoc/encode_ast.gen.go

4160 строки
76 KiB
Go

// Copyright 2020 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Code generated by the codec package. DO NOT EDIT.
//lint:file-ignore SA1019 go/doc uses *ast.Object, so we must preserve it.
package godoc
import (
"go/ast"
"go/token"
"golang.org/x/pkgsite/internal/godoc/codec"
)
// Fields of ast_ArrayType: Lbrack Len Elt
func encode_ast_ArrayType(e *codec.Encoder, x *ast.ArrayType) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Lbrack != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.Lbrack))
}
if x.Len != nil {
e.EncodeUint(1)
e.EncodeAny(x.Len)
}
if x.Elt != nil {
e.EncodeUint(2)
e.EncodeAny(x.Elt)
}
e.EndStruct()
}
func decode_ast_ArrayType(d *codec.Decoder, p **ast.ArrayType) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.ArrayType)
return
}
var x ast.ArrayType
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Lbrack = token.Pos(d.DecodeInt())
case 1:
x.Len = d.DecodeAny().(ast.Expr)
case 2:
x.Elt = d.DecodeAny().(ast.Expr)
default:
d.UnknownField("ast.ArrayType", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.ArrayType{},
func(e *codec.Encoder, x any) { encode_ast_ArrayType(e, x.(*ast.ArrayType)) },
func(d *codec.Decoder) any {
var x *ast.ArrayType
decode_ast_ArrayType(d, &x)
return x
})
}
// Fields of ast_AssignStmt: Lhs TokPos Tok Rhs
func encode_ast_AssignStmt(e *codec.Encoder, x *ast.AssignStmt) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Lhs != nil {
e.EncodeUint(0)
encode_slice_ast_Expr(e, x.Lhs)
}
if x.TokPos != 0 {
e.EncodeUint(1)
e.EncodeInt(int64(x.TokPos))
}
if x.Tok != 0 {
e.EncodeUint(2)
e.EncodeInt(int64(x.Tok))
}
if x.Rhs != nil {
e.EncodeUint(3)
encode_slice_ast_Expr(e, x.Rhs)
}
e.EndStruct()
}
func decode_ast_AssignStmt(d *codec.Decoder, p **ast.AssignStmt) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.AssignStmt)
return
}
var x ast.AssignStmt
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
decode_slice_ast_Expr(d, &x.Lhs)
case 1:
x.TokPos = token.Pos(d.DecodeInt())
case 2:
x.Tok = token.Token(d.DecodeInt())
case 3:
decode_slice_ast_Expr(d, &x.Rhs)
default:
d.UnknownField("ast.AssignStmt", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.AssignStmt{},
func(e *codec.Encoder, x any) { encode_ast_AssignStmt(e, x.(*ast.AssignStmt)) },
func(d *codec.Decoder) any {
var x *ast.AssignStmt
decode_ast_AssignStmt(d, &x)
return x
})
}
// Fields of ast_BadDecl: From To
func encode_ast_BadDecl(e *codec.Encoder, x *ast.BadDecl) {
if !e.StartStruct(x == nil, x) {
return
}
if x.From != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.From))
}
if x.To != 0 {
e.EncodeUint(1)
e.EncodeInt(int64(x.To))
}
e.EndStruct()
}
func decode_ast_BadDecl(d *codec.Decoder, p **ast.BadDecl) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.BadDecl)
return
}
var x ast.BadDecl
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.From = token.Pos(d.DecodeInt())
case 1:
x.To = token.Pos(d.DecodeInt())
default:
d.UnknownField("ast.BadDecl", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.BadDecl{},
func(e *codec.Encoder, x any) { encode_ast_BadDecl(e, x.(*ast.BadDecl)) },
func(d *codec.Decoder) any {
var x *ast.BadDecl
decode_ast_BadDecl(d, &x)
return x
})
}
// Fields of ast_BadExpr: From To
func encode_ast_BadExpr(e *codec.Encoder, x *ast.BadExpr) {
if !e.StartStruct(x == nil, x) {
return
}
if x.From != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.From))
}
if x.To != 0 {
e.EncodeUint(1)
e.EncodeInt(int64(x.To))
}
e.EndStruct()
}
func decode_ast_BadExpr(d *codec.Decoder, p **ast.BadExpr) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.BadExpr)
return
}
var x ast.BadExpr
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.From = token.Pos(d.DecodeInt())
case 1:
x.To = token.Pos(d.DecodeInt())
default:
d.UnknownField("ast.BadExpr", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.BadExpr{},
func(e *codec.Encoder, x any) { encode_ast_BadExpr(e, x.(*ast.BadExpr)) },
func(d *codec.Decoder) any {
var x *ast.BadExpr
decode_ast_BadExpr(d, &x)
return x
})
}
// Fields of ast_BadStmt: From To
func encode_ast_BadStmt(e *codec.Encoder, x *ast.BadStmt) {
if !e.StartStruct(x == nil, x) {
return
}
if x.From != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.From))
}
if x.To != 0 {
e.EncodeUint(1)
e.EncodeInt(int64(x.To))
}
e.EndStruct()
}
func decode_ast_BadStmt(d *codec.Decoder, p **ast.BadStmt) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.BadStmt)
return
}
var x ast.BadStmt
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.From = token.Pos(d.DecodeInt())
case 1:
x.To = token.Pos(d.DecodeInt())
default:
d.UnknownField("ast.BadStmt", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.BadStmt{},
func(e *codec.Encoder, x any) { encode_ast_BadStmt(e, x.(*ast.BadStmt)) },
func(d *codec.Decoder) any {
var x *ast.BadStmt
decode_ast_BadStmt(d, &x)
return x
})
}
// Fields of ast_BasicLit: ValuePos Kind Value
func encode_ast_BasicLit(e *codec.Encoder, x *ast.BasicLit) {
if !e.StartStruct(x == nil, x) {
return
}
if x.ValuePos != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.ValuePos))
}
if x.Kind != 0 {
e.EncodeUint(1)
e.EncodeInt(int64(x.Kind))
}
if x.Value != "" {
e.EncodeUint(2)
e.EncodeString(x.Value)
}
e.EndStruct()
}
func decode_ast_BasicLit(d *codec.Decoder, p **ast.BasicLit) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.BasicLit)
return
}
var x ast.BasicLit
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.ValuePos = token.Pos(d.DecodeInt())
case 1:
x.Kind = token.Token(d.DecodeInt())
case 2:
x.Value = d.DecodeString()
default:
d.UnknownField("ast.BasicLit", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.BasicLit{},
func(e *codec.Encoder, x any) { encode_ast_BasicLit(e, x.(*ast.BasicLit)) },
func(d *codec.Decoder) any {
var x *ast.BasicLit
decode_ast_BasicLit(d, &x)
return x
})
}
// Fields of ast_BinaryExpr: X OpPos Op Y
func encode_ast_BinaryExpr(e *codec.Encoder, x *ast.BinaryExpr) {
if !e.StartStruct(x == nil, x) {
return
}
if x.X != nil {
e.EncodeUint(0)
e.EncodeAny(x.X)
}
if x.OpPos != 0 {
e.EncodeUint(1)
e.EncodeInt(int64(x.OpPos))
}
if x.Op != 0 {
e.EncodeUint(2)
e.EncodeInt(int64(x.Op))
}
if x.Y != nil {
e.EncodeUint(3)
e.EncodeAny(x.Y)
}
e.EndStruct()
}
func decode_ast_BinaryExpr(d *codec.Decoder, p **ast.BinaryExpr) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.BinaryExpr)
return
}
var x ast.BinaryExpr
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.X = d.DecodeAny().(ast.Expr)
case 1:
x.OpPos = token.Pos(d.DecodeInt())
case 2:
x.Op = token.Token(d.DecodeInt())
case 3:
x.Y = d.DecodeAny().(ast.Expr)
default:
d.UnknownField("ast.BinaryExpr", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.BinaryExpr{},
func(e *codec.Encoder, x any) { encode_ast_BinaryExpr(e, x.(*ast.BinaryExpr)) },
func(d *codec.Decoder) any {
var x *ast.BinaryExpr
decode_ast_BinaryExpr(d, &x)
return x
})
}
// Fields of ast_BlockStmt: Lbrace List Rbrace
func encode_ast_BlockStmt(e *codec.Encoder, x *ast.BlockStmt) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Lbrace != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.Lbrace))
}
if x.List != nil {
e.EncodeUint(1)
encode_slice_ast_Stmt(e, x.List)
}
if x.Rbrace != 0 {
e.EncodeUint(2)
e.EncodeInt(int64(x.Rbrace))
}
e.EndStruct()
}
func decode_ast_BlockStmt(d *codec.Decoder, p **ast.BlockStmt) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.BlockStmt)
return
}
var x ast.BlockStmt
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Lbrace = token.Pos(d.DecodeInt())
case 1:
decode_slice_ast_Stmt(d, &x.List)
case 2:
x.Rbrace = token.Pos(d.DecodeInt())
default:
d.UnknownField("ast.BlockStmt", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.BlockStmt{},
func(e *codec.Encoder, x any) { encode_ast_BlockStmt(e, x.(*ast.BlockStmt)) },
func(d *codec.Decoder) any {
var x *ast.BlockStmt
decode_ast_BlockStmt(d, &x)
return x
})
}
// Fields of ast_BranchStmt: TokPos Tok Label
func encode_ast_BranchStmt(e *codec.Encoder, x *ast.BranchStmt) {
if !e.StartStruct(x == nil, x) {
return
}
if x.TokPos != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.TokPos))
}
if x.Tok != 0 {
e.EncodeUint(1)
e.EncodeInt(int64(x.Tok))
}
if x.Label != nil {
e.EncodeUint(2)
encode_ast_Ident(e, x.Label)
}
e.EndStruct()
}
func decode_ast_BranchStmt(d *codec.Decoder, p **ast.BranchStmt) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.BranchStmt)
return
}
var x ast.BranchStmt
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.TokPos = token.Pos(d.DecodeInt())
case 1:
x.Tok = token.Token(d.DecodeInt())
case 2:
decode_ast_Ident(d, &x.Label)
default:
d.UnknownField("ast.BranchStmt", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.BranchStmt{},
func(e *codec.Encoder, x any) { encode_ast_BranchStmt(e, x.(*ast.BranchStmt)) },
func(d *codec.Decoder) any {
var x *ast.BranchStmt
decode_ast_BranchStmt(d, &x)
return x
})
}
// Fields of ast_CallExpr: Fun Lparen Args Ellipsis Rparen
func encode_ast_CallExpr(e *codec.Encoder, x *ast.CallExpr) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Fun != nil {
e.EncodeUint(0)
e.EncodeAny(x.Fun)
}
if x.Lparen != 0 {
e.EncodeUint(1)
e.EncodeInt(int64(x.Lparen))
}
if x.Args != nil {
e.EncodeUint(2)
encode_slice_ast_Expr(e, x.Args)
}
if x.Ellipsis != 0 {
e.EncodeUint(3)
e.EncodeInt(int64(x.Ellipsis))
}
if x.Rparen != 0 {
e.EncodeUint(4)
e.EncodeInt(int64(x.Rparen))
}
e.EndStruct()
}
func decode_ast_CallExpr(d *codec.Decoder, p **ast.CallExpr) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.CallExpr)
return
}
var x ast.CallExpr
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Fun = d.DecodeAny().(ast.Expr)
case 1:
x.Lparen = token.Pos(d.DecodeInt())
case 2:
decode_slice_ast_Expr(d, &x.Args)
case 3:
x.Ellipsis = token.Pos(d.DecodeInt())
case 4:
x.Rparen = token.Pos(d.DecodeInt())
default:
d.UnknownField("ast.CallExpr", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.CallExpr{},
func(e *codec.Encoder, x any) { encode_ast_CallExpr(e, x.(*ast.CallExpr)) },
func(d *codec.Decoder) any {
var x *ast.CallExpr
decode_ast_CallExpr(d, &x)
return x
})
}
// Fields of ast_CaseClause: Case List Colon Body
func encode_ast_CaseClause(e *codec.Encoder, x *ast.CaseClause) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Case != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.Case))
}
if x.List != nil {
e.EncodeUint(1)
encode_slice_ast_Expr(e, x.List)
}
if x.Colon != 0 {
e.EncodeUint(2)
e.EncodeInt(int64(x.Colon))
}
if x.Body != nil {
e.EncodeUint(3)
encode_slice_ast_Stmt(e, x.Body)
}
e.EndStruct()
}
func decode_ast_CaseClause(d *codec.Decoder, p **ast.CaseClause) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.CaseClause)
return
}
var x ast.CaseClause
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Case = token.Pos(d.DecodeInt())
case 1:
decode_slice_ast_Expr(d, &x.List)
case 2:
x.Colon = token.Pos(d.DecodeInt())
case 3:
decode_slice_ast_Stmt(d, &x.Body)
default:
d.UnknownField("ast.CaseClause", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.CaseClause{},
func(e *codec.Encoder, x any) { encode_ast_CaseClause(e, x.(*ast.CaseClause)) },
func(d *codec.Decoder) any {
var x *ast.CaseClause
decode_ast_CaseClause(d, &x)
return x
})
}
// Fields of ast_ChanType: Begin Arrow Dir Value
func encode_ast_ChanType(e *codec.Encoder, x *ast.ChanType) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Begin != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.Begin))
}
if x.Arrow != 0 {
e.EncodeUint(1)
e.EncodeInt(int64(x.Arrow))
}
if x.Dir != 0 {
e.EncodeUint(2)
e.EncodeInt(int64(x.Dir))
}
if x.Value != nil {
e.EncodeUint(3)
e.EncodeAny(x.Value)
}
e.EndStruct()
}
func decode_ast_ChanType(d *codec.Decoder, p **ast.ChanType) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.ChanType)
return
}
var x ast.ChanType
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Begin = token.Pos(d.DecodeInt())
case 1:
x.Arrow = token.Pos(d.DecodeInt())
case 2:
x.Dir = ast.ChanDir(d.DecodeInt())
case 3:
x.Value = d.DecodeAny().(ast.Expr)
default:
d.UnknownField("ast.ChanType", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.ChanType{},
func(e *codec.Encoder, x any) { encode_ast_ChanType(e, x.(*ast.ChanType)) },
func(d *codec.Decoder) any {
var x *ast.ChanType
decode_ast_ChanType(d, &x)
return x
})
}
// Fields of ast_CommClause: Case Comm Colon Body
func encode_ast_CommClause(e *codec.Encoder, x *ast.CommClause) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Case != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.Case))
}
if x.Comm != nil {
e.EncodeUint(1)
e.EncodeAny(x.Comm)
}
if x.Colon != 0 {
e.EncodeUint(2)
e.EncodeInt(int64(x.Colon))
}
if x.Body != nil {
e.EncodeUint(3)
encode_slice_ast_Stmt(e, x.Body)
}
e.EndStruct()
}
func decode_ast_CommClause(d *codec.Decoder, p **ast.CommClause) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.CommClause)
return
}
var x ast.CommClause
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Case = token.Pos(d.DecodeInt())
case 1:
x.Comm = d.DecodeAny().(ast.Stmt)
case 2:
x.Colon = token.Pos(d.DecodeInt())
case 3:
decode_slice_ast_Stmt(d, &x.Body)
default:
d.UnknownField("ast.CommClause", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.CommClause{},
func(e *codec.Encoder, x any) { encode_ast_CommClause(e, x.(*ast.CommClause)) },
func(d *codec.Decoder) any {
var x *ast.CommClause
decode_ast_CommClause(d, &x)
return x
})
}
// Fields of ast_CommentGroup: List
func encode_ast_CommentGroup(e *codec.Encoder, x *ast.CommentGroup) {
if !e.StartStruct(x == nil, x) {
return
}
if x.List != nil {
e.EncodeUint(0)
encode_slice_ast_Comment(e, x.List)
}
e.EndStruct()
}
func decode_ast_CommentGroup(d *codec.Decoder, p **ast.CommentGroup) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.CommentGroup)
return
}
var x ast.CommentGroup
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
decode_slice_ast_Comment(d, &x.List)
default:
d.UnknownField("ast.CommentGroup", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.CommentGroup{},
func(e *codec.Encoder, x any) { encode_ast_CommentGroup(e, x.(*ast.CommentGroup)) },
func(d *codec.Decoder) any {
var x *ast.CommentGroup
decode_ast_CommentGroup(d, &x)
return x
})
}
// Fields of ast_Comment: Slash Text
func encode_ast_Comment(e *codec.Encoder, x *ast.Comment) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Slash != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.Slash))
}
if x.Text != "" {
e.EncodeUint(1)
e.EncodeString(x.Text)
}
e.EndStruct()
}
func decode_ast_Comment(d *codec.Decoder, p **ast.Comment) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.Comment)
return
}
var x ast.Comment
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Slash = token.Pos(d.DecodeInt())
case 1:
x.Text = d.DecodeString()
default:
d.UnknownField("ast.Comment", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.Comment{},
func(e *codec.Encoder, x any) { encode_ast_Comment(e, x.(*ast.Comment)) },
func(d *codec.Decoder) any {
var x *ast.Comment
decode_ast_Comment(d, &x)
return x
})
}
// Fields of ast_CompositeLit: Type Lbrace Elts Rbrace Incomplete
func encode_ast_CompositeLit(e *codec.Encoder, x *ast.CompositeLit) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Type != nil {
e.EncodeUint(0)
e.EncodeAny(x.Type)
}
if x.Lbrace != 0 {
e.EncodeUint(1)
e.EncodeInt(int64(x.Lbrace))
}
if x.Elts != nil {
e.EncodeUint(2)
encode_slice_ast_Expr(e, x.Elts)
}
if x.Rbrace != 0 {
e.EncodeUint(3)
e.EncodeInt(int64(x.Rbrace))
}
if x.Incomplete != false {
e.EncodeUint(4)
e.EncodeBool(x.Incomplete)
}
e.EndStruct()
}
func decode_ast_CompositeLit(d *codec.Decoder, p **ast.CompositeLit) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.CompositeLit)
return
}
var x ast.CompositeLit
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Type = d.DecodeAny().(ast.Expr)
case 1:
x.Lbrace = token.Pos(d.DecodeInt())
case 2:
decode_slice_ast_Expr(d, &x.Elts)
case 3:
x.Rbrace = token.Pos(d.DecodeInt())
case 4:
x.Incomplete = d.DecodeBool()
default:
d.UnknownField("ast.CompositeLit", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.CompositeLit{},
func(e *codec.Encoder, x any) { encode_ast_CompositeLit(e, x.(*ast.CompositeLit)) },
func(d *codec.Decoder) any {
var x *ast.CompositeLit
decode_ast_CompositeLit(d, &x)
return x
})
}
// Fields of ast_DeclStmt: Decl
func encode_ast_DeclStmt(e *codec.Encoder, x *ast.DeclStmt) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Decl != nil {
e.EncodeUint(0)
e.EncodeAny(x.Decl)
}
e.EndStruct()
}
func decode_ast_DeclStmt(d *codec.Decoder, p **ast.DeclStmt) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.DeclStmt)
return
}
var x ast.DeclStmt
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Decl = d.DecodeAny().(ast.Decl)
default:
d.UnknownField("ast.DeclStmt", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.DeclStmt{},
func(e *codec.Encoder, x any) { encode_ast_DeclStmt(e, x.(*ast.DeclStmt)) },
func(d *codec.Decoder) any {
var x *ast.DeclStmt
decode_ast_DeclStmt(d, &x)
return x
})
}
// Fields of ast_DeferStmt: Defer Call
func encode_ast_DeferStmt(e *codec.Encoder, x *ast.DeferStmt) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Defer != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.Defer))
}
if x.Call != nil {
e.EncodeUint(1)
encode_ast_CallExpr(e, x.Call)
}
e.EndStruct()
}
func decode_ast_DeferStmt(d *codec.Decoder, p **ast.DeferStmt) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.DeferStmt)
return
}
var x ast.DeferStmt
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Defer = token.Pos(d.DecodeInt())
case 1:
decode_ast_CallExpr(d, &x.Call)
default:
d.UnknownField("ast.DeferStmt", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.DeferStmt{},
func(e *codec.Encoder, x any) { encode_ast_DeferStmt(e, x.(*ast.DeferStmt)) },
func(d *codec.Decoder) any {
var x *ast.DeferStmt
decode_ast_DeferStmt(d, &x)
return x
})
}
// Fields of ast_Ellipsis: Ellipsis Elt
func encode_ast_Ellipsis(e *codec.Encoder, x *ast.Ellipsis) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Ellipsis != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.Ellipsis))
}
if x.Elt != nil {
e.EncodeUint(1)
e.EncodeAny(x.Elt)
}
e.EndStruct()
}
func decode_ast_Ellipsis(d *codec.Decoder, p **ast.Ellipsis) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.Ellipsis)
return
}
var x ast.Ellipsis
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Ellipsis = token.Pos(d.DecodeInt())
case 1:
x.Elt = d.DecodeAny().(ast.Expr)
default:
d.UnknownField("ast.Ellipsis", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.Ellipsis{},
func(e *codec.Encoder, x any) { encode_ast_Ellipsis(e, x.(*ast.Ellipsis)) },
func(d *codec.Decoder) any {
var x *ast.Ellipsis
decode_ast_Ellipsis(d, &x)
return x
})
}
// Fields of ast_EmptyStmt: Semicolon Implicit
func encode_ast_EmptyStmt(e *codec.Encoder, x *ast.EmptyStmt) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Semicolon != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.Semicolon))
}
if x.Implicit != false {
e.EncodeUint(1)
e.EncodeBool(x.Implicit)
}
e.EndStruct()
}
func decode_ast_EmptyStmt(d *codec.Decoder, p **ast.EmptyStmt) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.EmptyStmt)
return
}
var x ast.EmptyStmt
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Semicolon = token.Pos(d.DecodeInt())
case 1:
x.Implicit = d.DecodeBool()
default:
d.UnknownField("ast.EmptyStmt", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.EmptyStmt{},
func(e *codec.Encoder, x any) { encode_ast_EmptyStmt(e, x.(*ast.EmptyStmt)) },
func(d *codec.Decoder) any {
var x *ast.EmptyStmt
decode_ast_EmptyStmt(d, &x)
return x
})
}
// Fields of ast_ExprStmt: X
func encode_ast_ExprStmt(e *codec.Encoder, x *ast.ExprStmt) {
if !e.StartStruct(x == nil, x) {
return
}
if x.X != nil {
e.EncodeUint(0)
e.EncodeAny(x.X)
}
e.EndStruct()
}
func decode_ast_ExprStmt(d *codec.Decoder, p **ast.ExprStmt) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.ExprStmt)
return
}
var x ast.ExprStmt
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.X = d.DecodeAny().(ast.Expr)
default:
d.UnknownField("ast.ExprStmt", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.ExprStmt{},
func(e *codec.Encoder, x any) { encode_ast_ExprStmt(e, x.(*ast.ExprStmt)) },
func(d *codec.Decoder) any {
var x *ast.ExprStmt
decode_ast_ExprStmt(d, &x)
return x
})
}
// Fields of ast_FieldList: Opening List Closing
func encode_ast_FieldList(e *codec.Encoder, x *ast.FieldList) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Opening != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.Opening))
}
if x.List != nil {
e.EncodeUint(1)
encode_slice_ast_Field(e, x.List)
}
if x.Closing != 0 {
e.EncodeUint(2)
e.EncodeInt(int64(x.Closing))
}
e.EndStruct()
}
func decode_ast_FieldList(d *codec.Decoder, p **ast.FieldList) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.FieldList)
return
}
var x ast.FieldList
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Opening = token.Pos(d.DecodeInt())
case 1:
decode_slice_ast_Field(d, &x.List)
case 2:
x.Closing = token.Pos(d.DecodeInt())
default:
d.UnknownField("ast.FieldList", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.FieldList{},
func(e *codec.Encoder, x any) { encode_ast_FieldList(e, x.(*ast.FieldList)) },
func(d *codec.Decoder) any {
var x *ast.FieldList
decode_ast_FieldList(d, &x)
return x
})
}
// Fields of ast_Field: Doc Names Type Tag Comment
func encode_ast_Field(e *codec.Encoder, x *ast.Field) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Doc != nil {
e.EncodeUint(0)
encode_ast_CommentGroup(e, x.Doc)
}
if x.Names != nil {
e.EncodeUint(1)
encode_slice_ast_Ident(e, x.Names)
}
if x.Type != nil {
e.EncodeUint(2)
e.EncodeAny(x.Type)
}
if x.Tag != nil {
e.EncodeUint(3)
encode_ast_BasicLit(e, x.Tag)
}
if x.Comment != nil {
e.EncodeUint(4)
encode_ast_CommentGroup(e, x.Comment)
}
e.EndStruct()
}
func decode_ast_Field(d *codec.Decoder, p **ast.Field) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.Field)
return
}
var x ast.Field
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
decode_ast_CommentGroup(d, &x.Doc)
case 1:
decode_slice_ast_Ident(d, &x.Names)
case 2:
x.Type = d.DecodeAny().(ast.Expr)
case 3:
decode_ast_BasicLit(d, &x.Tag)
case 4:
decode_ast_CommentGroup(d, &x.Comment)
default:
d.UnknownField("ast.Field", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.Field{},
func(e *codec.Encoder, x any) { encode_ast_Field(e, x.(*ast.Field)) },
func(d *codec.Decoder) any {
var x *ast.Field
decode_ast_Field(d, &x)
return x
})
}
// Fields of ast_ForStmt: For Init Cond Post Body
func encode_ast_ForStmt(e *codec.Encoder, x *ast.ForStmt) {
if !e.StartStruct(x == nil, x) {
return
}
if x.For != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.For))
}
if x.Init != nil {
e.EncodeUint(1)
e.EncodeAny(x.Init)
}
if x.Cond != nil {
e.EncodeUint(2)
e.EncodeAny(x.Cond)
}
if x.Post != nil {
e.EncodeUint(3)
e.EncodeAny(x.Post)
}
if x.Body != nil {
e.EncodeUint(4)
encode_ast_BlockStmt(e, x.Body)
}
e.EndStruct()
}
func decode_ast_ForStmt(d *codec.Decoder, p **ast.ForStmt) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.ForStmt)
return
}
var x ast.ForStmt
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.For = token.Pos(d.DecodeInt())
case 1:
x.Init = d.DecodeAny().(ast.Stmt)
case 2:
x.Cond = d.DecodeAny().(ast.Expr)
case 3:
x.Post = d.DecodeAny().(ast.Stmt)
case 4:
decode_ast_BlockStmt(d, &x.Body)
default:
d.UnknownField("ast.ForStmt", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.ForStmt{},
func(e *codec.Encoder, x any) { encode_ast_ForStmt(e, x.(*ast.ForStmt)) },
func(d *codec.Decoder) any {
var x *ast.ForStmt
decode_ast_ForStmt(d, &x)
return x
})
}
// Fields of ast_FuncDecl: Doc Recv Name Type Body
func encode_ast_FuncDecl(e *codec.Encoder, x *ast.FuncDecl) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Doc != nil {
e.EncodeUint(0)
encode_ast_CommentGroup(e, x.Doc)
}
if x.Recv != nil {
e.EncodeUint(1)
encode_ast_FieldList(e, x.Recv)
}
if x.Name != nil {
e.EncodeUint(2)
encode_ast_Ident(e, x.Name)
}
if x.Type != nil {
e.EncodeUint(3)
encode_ast_FuncType(e, x.Type)
}
if x.Body != nil {
e.EncodeUint(4)
encode_ast_BlockStmt(e, x.Body)
}
e.EndStruct()
}
func decode_ast_FuncDecl(d *codec.Decoder, p **ast.FuncDecl) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.FuncDecl)
return
}
var x ast.FuncDecl
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
decode_ast_CommentGroup(d, &x.Doc)
case 1:
decode_ast_FieldList(d, &x.Recv)
case 2:
decode_ast_Ident(d, &x.Name)
case 3:
decode_ast_FuncType(d, &x.Type)
case 4:
decode_ast_BlockStmt(d, &x.Body)
default:
d.UnknownField("ast.FuncDecl", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.FuncDecl{},
func(e *codec.Encoder, x any) { encode_ast_FuncDecl(e, x.(*ast.FuncDecl)) },
func(d *codec.Decoder) any {
var x *ast.FuncDecl
decode_ast_FuncDecl(d, &x)
return x
})
}
// Fields of ast_FuncLit: Type Body
func encode_ast_FuncLit(e *codec.Encoder, x *ast.FuncLit) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Type != nil {
e.EncodeUint(0)
encode_ast_FuncType(e, x.Type)
}
if x.Body != nil {
e.EncodeUint(1)
encode_ast_BlockStmt(e, x.Body)
}
e.EndStruct()
}
func decode_ast_FuncLit(d *codec.Decoder, p **ast.FuncLit) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.FuncLit)
return
}
var x ast.FuncLit
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
decode_ast_FuncType(d, &x.Type)
case 1:
decode_ast_BlockStmt(d, &x.Body)
default:
d.UnknownField("ast.FuncLit", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.FuncLit{},
func(e *codec.Encoder, x any) { encode_ast_FuncLit(e, x.(*ast.FuncLit)) },
func(d *codec.Decoder) any {
var x *ast.FuncLit
decode_ast_FuncLit(d, &x)
return x
})
}
// Fields of ast_FuncType: Func Params Results TypeParams
func encode_ast_FuncType(e *codec.Encoder, x *ast.FuncType) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Func != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.Func))
}
if x.Params != nil {
e.EncodeUint(1)
encode_ast_FieldList(e, x.Params)
}
if x.Results != nil {
e.EncodeUint(2)
encode_ast_FieldList(e, x.Results)
}
if x.TypeParams != nil {
e.EncodeUint(3)
encode_ast_FieldList(e, x.TypeParams)
}
e.EndStruct()
}
func decode_ast_FuncType(d *codec.Decoder, p **ast.FuncType) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.FuncType)
return
}
var x ast.FuncType
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Func = token.Pos(d.DecodeInt())
case 1:
decode_ast_FieldList(d, &x.Params)
case 2:
decode_ast_FieldList(d, &x.Results)
case 3:
decode_ast_FieldList(d, &x.TypeParams)
default:
d.UnknownField("ast.FuncType", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.FuncType{},
func(e *codec.Encoder, x any) { encode_ast_FuncType(e, x.(*ast.FuncType)) },
func(d *codec.Decoder) any {
var x *ast.FuncType
decode_ast_FuncType(d, &x)
return x
})
}
// Fields of ast_GenDecl: Doc TokPos Tok Lparen Specs Rparen
func encode_ast_GenDecl(e *codec.Encoder, x *ast.GenDecl) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Doc != nil {
e.EncodeUint(0)
encode_ast_CommentGroup(e, x.Doc)
}
if x.TokPos != 0 {
e.EncodeUint(1)
e.EncodeInt(int64(x.TokPos))
}
if x.Tok != 0 {
e.EncodeUint(2)
e.EncodeInt(int64(x.Tok))
}
if x.Lparen != 0 {
e.EncodeUint(3)
e.EncodeInt(int64(x.Lparen))
}
if x.Specs != nil {
e.EncodeUint(4)
encode_slice_ast_Spec(e, x.Specs)
}
if x.Rparen != 0 {
e.EncodeUint(5)
e.EncodeInt(int64(x.Rparen))
}
e.EndStruct()
}
func decode_ast_GenDecl(d *codec.Decoder, p **ast.GenDecl) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.GenDecl)
return
}
var x ast.GenDecl
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
decode_ast_CommentGroup(d, &x.Doc)
case 1:
x.TokPos = token.Pos(d.DecodeInt())
case 2:
x.Tok = token.Token(d.DecodeInt())
case 3:
x.Lparen = token.Pos(d.DecodeInt())
case 4:
decode_slice_ast_Spec(d, &x.Specs)
case 5:
x.Rparen = token.Pos(d.DecodeInt())
default:
d.UnknownField("ast.GenDecl", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.GenDecl{},
func(e *codec.Encoder, x any) { encode_ast_GenDecl(e, x.(*ast.GenDecl)) },
func(d *codec.Decoder) any {
var x *ast.GenDecl
decode_ast_GenDecl(d, &x)
return x
})
}
// Fields of ast_GoStmt: Go Call
func encode_ast_GoStmt(e *codec.Encoder, x *ast.GoStmt) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Go != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.Go))
}
if x.Call != nil {
e.EncodeUint(1)
encode_ast_CallExpr(e, x.Call)
}
e.EndStruct()
}
func decode_ast_GoStmt(d *codec.Decoder, p **ast.GoStmt) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.GoStmt)
return
}
var x ast.GoStmt
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Go = token.Pos(d.DecodeInt())
case 1:
decode_ast_CallExpr(d, &x.Call)
default:
d.UnknownField("ast.GoStmt", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.GoStmt{},
func(e *codec.Encoder, x any) { encode_ast_GoStmt(e, x.(*ast.GoStmt)) },
func(d *codec.Decoder) any {
var x *ast.GoStmt
decode_ast_GoStmt(d, &x)
return x
})
}
// Fields of ast_Ident: NamePos Name Obj
func encode_ast_Ident(e *codec.Encoder, x *ast.Ident) {
if !e.StartStruct(x == nil, x) {
return
}
if x.NamePos != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.NamePos))
}
if x.Name != "" {
e.EncodeUint(1)
e.EncodeString(x.Name)
}
if x.Obj != nil {
e.EncodeUint(2)
encode_ast_Object(e, x.Obj)
}
e.EndStruct()
}
func decode_ast_Ident(d *codec.Decoder, p **ast.Ident) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.Ident)
return
}
var x ast.Ident
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.NamePos = token.Pos(d.DecodeInt())
case 1:
x.Name = d.DecodeString()
case 2:
decode_ast_Object(d, &x.Obj)
default:
d.UnknownField("ast.Ident", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.Ident{},
func(e *codec.Encoder, x any) { encode_ast_Ident(e, x.(*ast.Ident)) },
func(d *codec.Decoder) any {
var x *ast.Ident
decode_ast_Ident(d, &x)
return x
})
}
// Fields of ast_IfStmt: If Init Cond Body Else
func encode_ast_IfStmt(e *codec.Encoder, x *ast.IfStmt) {
if !e.StartStruct(x == nil, x) {
return
}
if x.If != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.If))
}
if x.Init != nil {
e.EncodeUint(1)
e.EncodeAny(x.Init)
}
if x.Cond != nil {
e.EncodeUint(2)
e.EncodeAny(x.Cond)
}
if x.Body != nil {
e.EncodeUint(3)
encode_ast_BlockStmt(e, x.Body)
}
if x.Else != nil {
e.EncodeUint(4)
e.EncodeAny(x.Else)
}
e.EndStruct()
}
func decode_ast_IfStmt(d *codec.Decoder, p **ast.IfStmt) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.IfStmt)
return
}
var x ast.IfStmt
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.If = token.Pos(d.DecodeInt())
case 1:
x.Init = d.DecodeAny().(ast.Stmt)
case 2:
x.Cond = d.DecodeAny().(ast.Expr)
case 3:
decode_ast_BlockStmt(d, &x.Body)
case 4:
x.Else = d.DecodeAny().(ast.Stmt)
default:
d.UnknownField("ast.IfStmt", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.IfStmt{},
func(e *codec.Encoder, x any) { encode_ast_IfStmt(e, x.(*ast.IfStmt)) },
func(d *codec.Decoder) any {
var x *ast.IfStmt
decode_ast_IfStmt(d, &x)
return x
})
}
// Fields of ast_ImportSpec: Doc Name Path Comment EndPos
func encode_ast_ImportSpec(e *codec.Encoder, x *ast.ImportSpec) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Doc != nil {
e.EncodeUint(0)
encode_ast_CommentGroup(e, x.Doc)
}
if x.Name != nil {
e.EncodeUint(1)
encode_ast_Ident(e, x.Name)
}
if x.Path != nil {
e.EncodeUint(2)
encode_ast_BasicLit(e, x.Path)
}
if x.Comment != nil {
e.EncodeUint(3)
encode_ast_CommentGroup(e, x.Comment)
}
if x.EndPos != 0 {
e.EncodeUint(4)
e.EncodeInt(int64(x.EndPos))
}
e.EndStruct()
}
func decode_ast_ImportSpec(d *codec.Decoder, p **ast.ImportSpec) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.ImportSpec)
return
}
var x ast.ImportSpec
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
decode_ast_CommentGroup(d, &x.Doc)
case 1:
decode_ast_Ident(d, &x.Name)
case 2:
decode_ast_BasicLit(d, &x.Path)
case 3:
decode_ast_CommentGroup(d, &x.Comment)
case 4:
x.EndPos = token.Pos(d.DecodeInt())
default:
d.UnknownField("ast.ImportSpec", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.ImportSpec{},
func(e *codec.Encoder, x any) { encode_ast_ImportSpec(e, x.(*ast.ImportSpec)) },
func(d *codec.Decoder) any {
var x *ast.ImportSpec
decode_ast_ImportSpec(d, &x)
return x
})
}
// Fields of ast_IncDecStmt: X TokPos Tok
func encode_ast_IncDecStmt(e *codec.Encoder, x *ast.IncDecStmt) {
if !e.StartStruct(x == nil, x) {
return
}
if x.X != nil {
e.EncodeUint(0)
e.EncodeAny(x.X)
}
if x.TokPos != 0 {
e.EncodeUint(1)
e.EncodeInt(int64(x.TokPos))
}
if x.Tok != 0 {
e.EncodeUint(2)
e.EncodeInt(int64(x.Tok))
}
e.EndStruct()
}
func decode_ast_IncDecStmt(d *codec.Decoder, p **ast.IncDecStmt) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.IncDecStmt)
return
}
var x ast.IncDecStmt
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.X = d.DecodeAny().(ast.Expr)
case 1:
x.TokPos = token.Pos(d.DecodeInt())
case 2:
x.Tok = token.Token(d.DecodeInt())
default:
d.UnknownField("ast.IncDecStmt", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.IncDecStmt{},
func(e *codec.Encoder, x any) { encode_ast_IncDecStmt(e, x.(*ast.IncDecStmt)) },
func(d *codec.Decoder) any {
var x *ast.IncDecStmt
decode_ast_IncDecStmt(d, &x)
return x
})
}
// Fields of ast_IndexExpr: X Lbrack Index Rbrack
func encode_ast_IndexExpr(e *codec.Encoder, x *ast.IndexExpr) {
if !e.StartStruct(x == nil, x) {
return
}
if x.X != nil {
e.EncodeUint(0)
e.EncodeAny(x.X)
}
if x.Lbrack != 0 {
e.EncodeUint(1)
e.EncodeInt(int64(x.Lbrack))
}
if x.Index != nil {
e.EncodeUint(2)
e.EncodeAny(x.Index)
}
if x.Rbrack != 0 {
e.EncodeUint(3)
e.EncodeInt(int64(x.Rbrack))
}
e.EndStruct()
}
func decode_ast_IndexExpr(d *codec.Decoder, p **ast.IndexExpr) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.IndexExpr)
return
}
var x ast.IndexExpr
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.X = d.DecodeAny().(ast.Expr)
case 1:
x.Lbrack = token.Pos(d.DecodeInt())
case 2:
x.Index = d.DecodeAny().(ast.Expr)
case 3:
x.Rbrack = token.Pos(d.DecodeInt())
default:
d.UnknownField("ast.IndexExpr", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.IndexExpr{},
func(e *codec.Encoder, x any) { encode_ast_IndexExpr(e, x.(*ast.IndexExpr)) },
func(d *codec.Decoder) any {
var x *ast.IndexExpr
decode_ast_IndexExpr(d, &x)
return x
})
}
// Fields of ast_IndexListExpr: X Lbrack Indices Rbrack
func encode_ast_IndexListExpr(e *codec.Encoder, x *ast.IndexListExpr) {
if !e.StartStruct(x == nil, x) {
return
}
if x.X != nil {
e.EncodeUint(0)
e.EncodeAny(x.X)
}
if x.Lbrack != 0 {
e.EncodeUint(1)
e.EncodeInt(int64(x.Lbrack))
}
if x.Indices != nil {
e.EncodeUint(2)
encode_slice_ast_Expr(e, x.Indices)
}
if x.Rbrack != 0 {
e.EncodeUint(3)
e.EncodeInt(int64(x.Rbrack))
}
e.EndStruct()
}
func decode_ast_IndexListExpr(d *codec.Decoder, p **ast.IndexListExpr) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.IndexListExpr)
return
}
var x ast.IndexListExpr
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.X = d.DecodeAny().(ast.Expr)
case 1:
x.Lbrack = token.Pos(d.DecodeInt())
case 2:
decode_slice_ast_Expr(d, &x.Indices)
case 3:
x.Rbrack = token.Pos(d.DecodeInt())
default:
d.UnknownField("ast.IndexListExpr", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.IndexListExpr{},
func(e *codec.Encoder, x any) { encode_ast_IndexListExpr(e, x.(*ast.IndexListExpr)) },
func(d *codec.Decoder) any {
var x *ast.IndexListExpr
decode_ast_IndexListExpr(d, &x)
return x
})
}
// Fields of ast_InterfaceType: Interface Methods Incomplete
func encode_ast_InterfaceType(e *codec.Encoder, x *ast.InterfaceType) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Interface != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.Interface))
}
if x.Methods != nil {
e.EncodeUint(1)
encode_ast_FieldList(e, x.Methods)
}
if x.Incomplete != false {
e.EncodeUint(2)
e.EncodeBool(x.Incomplete)
}
e.EndStruct()
}
func decode_ast_InterfaceType(d *codec.Decoder, p **ast.InterfaceType) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.InterfaceType)
return
}
var x ast.InterfaceType
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Interface = token.Pos(d.DecodeInt())
case 1:
decode_ast_FieldList(d, &x.Methods)
case 2:
x.Incomplete = d.DecodeBool()
default:
d.UnknownField("ast.InterfaceType", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.InterfaceType{},
func(e *codec.Encoder, x any) { encode_ast_InterfaceType(e, x.(*ast.InterfaceType)) },
func(d *codec.Decoder) any {
var x *ast.InterfaceType
decode_ast_InterfaceType(d, &x)
return x
})
}
// Fields of ast_KeyValueExpr: Key Colon Value
func encode_ast_KeyValueExpr(e *codec.Encoder, x *ast.KeyValueExpr) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Key != nil {
e.EncodeUint(0)
e.EncodeAny(x.Key)
}
if x.Colon != 0 {
e.EncodeUint(1)
e.EncodeInt(int64(x.Colon))
}
if x.Value != nil {
e.EncodeUint(2)
e.EncodeAny(x.Value)
}
e.EndStruct()
}
func decode_ast_KeyValueExpr(d *codec.Decoder, p **ast.KeyValueExpr) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.KeyValueExpr)
return
}
var x ast.KeyValueExpr
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Key = d.DecodeAny().(ast.Expr)
case 1:
x.Colon = token.Pos(d.DecodeInt())
case 2:
x.Value = d.DecodeAny().(ast.Expr)
default:
d.UnknownField("ast.KeyValueExpr", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.KeyValueExpr{},
func(e *codec.Encoder, x any) { encode_ast_KeyValueExpr(e, x.(*ast.KeyValueExpr)) },
func(d *codec.Decoder) any {
var x *ast.KeyValueExpr
decode_ast_KeyValueExpr(d, &x)
return x
})
}
// Fields of ast_LabeledStmt: Label Colon Stmt
func encode_ast_LabeledStmt(e *codec.Encoder, x *ast.LabeledStmt) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Label != nil {
e.EncodeUint(0)
encode_ast_Ident(e, x.Label)
}
if x.Colon != 0 {
e.EncodeUint(1)
e.EncodeInt(int64(x.Colon))
}
if x.Stmt != nil {
e.EncodeUint(2)
e.EncodeAny(x.Stmt)
}
e.EndStruct()
}
func decode_ast_LabeledStmt(d *codec.Decoder, p **ast.LabeledStmt) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.LabeledStmt)
return
}
var x ast.LabeledStmt
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
decode_ast_Ident(d, &x.Label)
case 1:
x.Colon = token.Pos(d.DecodeInt())
case 2:
x.Stmt = d.DecodeAny().(ast.Stmt)
default:
d.UnknownField("ast.LabeledStmt", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.LabeledStmt{},
func(e *codec.Encoder, x any) { encode_ast_LabeledStmt(e, x.(*ast.LabeledStmt)) },
func(d *codec.Decoder) any {
var x *ast.LabeledStmt
decode_ast_LabeledStmt(d, &x)
return x
})
}
// Fields of ast_MapType: Map Key Value
func encode_ast_MapType(e *codec.Encoder, x *ast.MapType) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Map != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.Map))
}
if x.Key != nil {
e.EncodeUint(1)
e.EncodeAny(x.Key)
}
if x.Value != nil {
e.EncodeUint(2)
e.EncodeAny(x.Value)
}
e.EndStruct()
}
func decode_ast_MapType(d *codec.Decoder, p **ast.MapType) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.MapType)
return
}
var x ast.MapType
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Map = token.Pos(d.DecodeInt())
case 1:
x.Key = d.DecodeAny().(ast.Expr)
case 2:
x.Value = d.DecodeAny().(ast.Expr)
default:
d.UnknownField("ast.MapType", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.MapType{},
func(e *codec.Encoder, x any) { encode_ast_MapType(e, x.(*ast.MapType)) },
func(d *codec.Decoder) any {
var x *ast.MapType
decode_ast_MapType(d, &x)
return x
})
}
// Fields of ast_ParenExpr: Lparen X Rparen
func encode_ast_ParenExpr(e *codec.Encoder, x *ast.ParenExpr) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Lparen != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.Lparen))
}
if x.X != nil {
e.EncodeUint(1)
e.EncodeAny(x.X)
}
if x.Rparen != 0 {
e.EncodeUint(2)
e.EncodeInt(int64(x.Rparen))
}
e.EndStruct()
}
func decode_ast_ParenExpr(d *codec.Decoder, p **ast.ParenExpr) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.ParenExpr)
return
}
var x ast.ParenExpr
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Lparen = token.Pos(d.DecodeInt())
case 1:
x.X = d.DecodeAny().(ast.Expr)
case 2:
x.Rparen = token.Pos(d.DecodeInt())
default:
d.UnknownField("ast.ParenExpr", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.ParenExpr{},
func(e *codec.Encoder, x any) { encode_ast_ParenExpr(e, x.(*ast.ParenExpr)) },
func(d *codec.Decoder) any {
var x *ast.ParenExpr
decode_ast_ParenExpr(d, &x)
return x
})
}
// Fields of ast_RangeStmt: For Key Value TokPos Tok X Body Range
func encode_ast_RangeStmt(e *codec.Encoder, x *ast.RangeStmt) {
if !e.StartStruct(x == nil, x) {
return
}
if x.For != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.For))
}
if x.Key != nil {
e.EncodeUint(1)
e.EncodeAny(x.Key)
}
if x.Value != nil {
e.EncodeUint(2)
e.EncodeAny(x.Value)
}
if x.TokPos != 0 {
e.EncodeUint(3)
e.EncodeInt(int64(x.TokPos))
}
if x.Tok != 0 {
e.EncodeUint(4)
e.EncodeInt(int64(x.Tok))
}
if x.X != nil {
e.EncodeUint(5)
e.EncodeAny(x.X)
}
if x.Body != nil {
e.EncodeUint(6)
encode_ast_BlockStmt(e, x.Body)
}
if x.Range != 0 {
e.EncodeUint(7)
e.EncodeInt(int64(x.Range))
}
e.EndStruct()
}
func decode_ast_RangeStmt(d *codec.Decoder, p **ast.RangeStmt) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.RangeStmt)
return
}
var x ast.RangeStmt
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.For = token.Pos(d.DecodeInt())
case 1:
x.Key = d.DecodeAny().(ast.Expr)
case 2:
x.Value = d.DecodeAny().(ast.Expr)
case 3:
x.TokPos = token.Pos(d.DecodeInt())
case 4:
x.Tok = token.Token(d.DecodeInt())
case 5:
x.X = d.DecodeAny().(ast.Expr)
case 6:
decode_ast_BlockStmt(d, &x.Body)
case 7:
x.Range = token.Pos(d.DecodeInt())
default:
d.UnknownField("ast.RangeStmt", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.RangeStmt{},
func(e *codec.Encoder, x any) { encode_ast_RangeStmt(e, x.(*ast.RangeStmt)) },
func(d *codec.Decoder) any {
var x *ast.RangeStmt
decode_ast_RangeStmt(d, &x)
return x
})
}
// Fields of ast_ReturnStmt: Return Results
func encode_ast_ReturnStmt(e *codec.Encoder, x *ast.ReturnStmt) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Return != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.Return))
}
if x.Results != nil {
e.EncodeUint(1)
encode_slice_ast_Expr(e, x.Results)
}
e.EndStruct()
}
func decode_ast_ReturnStmt(d *codec.Decoder, p **ast.ReturnStmt) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.ReturnStmt)
return
}
var x ast.ReturnStmt
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Return = token.Pos(d.DecodeInt())
case 1:
decode_slice_ast_Expr(d, &x.Results)
default:
d.UnknownField("ast.ReturnStmt", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.ReturnStmt{},
func(e *codec.Encoder, x any) { encode_ast_ReturnStmt(e, x.(*ast.ReturnStmt)) },
func(d *codec.Decoder) any {
var x *ast.ReturnStmt
decode_ast_ReturnStmt(d, &x)
return x
})
}
// Fields of ast_Scope: Outer Objects
func encode_ast_Scope(e *codec.Encoder, x *ast.Scope) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Outer != nil {
e.EncodeUint(0)
encode_ast_Scope(e, x.Outer)
}
if x.Objects != nil {
e.EncodeUint(1)
encode_map_string_ast_Object(e, x.Objects)
}
e.EndStruct()
}
func decode_ast_Scope(d *codec.Decoder, p **ast.Scope) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.Scope)
return
}
var x ast.Scope
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
decode_ast_Scope(d, &x.Outer)
case 1:
decode_map_string_ast_Object(d, &x.Objects)
default:
d.UnknownField("ast.Scope", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.Scope{},
func(e *codec.Encoder, x any) { encode_ast_Scope(e, x.(*ast.Scope)) },
func(d *codec.Decoder) any {
var x *ast.Scope
decode_ast_Scope(d, &x)
return x
})
}
// Fields of ast_SelectStmt: Select Body
func encode_ast_SelectStmt(e *codec.Encoder, x *ast.SelectStmt) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Select != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.Select))
}
if x.Body != nil {
e.EncodeUint(1)
encode_ast_BlockStmt(e, x.Body)
}
e.EndStruct()
}
func decode_ast_SelectStmt(d *codec.Decoder, p **ast.SelectStmt) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.SelectStmt)
return
}
var x ast.SelectStmt
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Select = token.Pos(d.DecodeInt())
case 1:
decode_ast_BlockStmt(d, &x.Body)
default:
d.UnknownField("ast.SelectStmt", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.SelectStmt{},
func(e *codec.Encoder, x any) { encode_ast_SelectStmt(e, x.(*ast.SelectStmt)) },
func(d *codec.Decoder) any {
var x *ast.SelectStmt
decode_ast_SelectStmt(d, &x)
return x
})
}
// Fields of ast_SelectorExpr: X Sel
func encode_ast_SelectorExpr(e *codec.Encoder, x *ast.SelectorExpr) {
if !e.StartStruct(x == nil, x) {
return
}
if x.X != nil {
e.EncodeUint(0)
e.EncodeAny(x.X)
}
if x.Sel != nil {
e.EncodeUint(1)
encode_ast_Ident(e, x.Sel)
}
e.EndStruct()
}
func decode_ast_SelectorExpr(d *codec.Decoder, p **ast.SelectorExpr) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.SelectorExpr)
return
}
var x ast.SelectorExpr
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.X = d.DecodeAny().(ast.Expr)
case 1:
decode_ast_Ident(d, &x.Sel)
default:
d.UnknownField("ast.SelectorExpr", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.SelectorExpr{},
func(e *codec.Encoder, x any) { encode_ast_SelectorExpr(e, x.(*ast.SelectorExpr)) },
func(d *codec.Decoder) any {
var x *ast.SelectorExpr
decode_ast_SelectorExpr(d, &x)
return x
})
}
// Fields of ast_SendStmt: Chan Arrow Value
func encode_ast_SendStmt(e *codec.Encoder, x *ast.SendStmt) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Chan != nil {
e.EncodeUint(0)
e.EncodeAny(x.Chan)
}
if x.Arrow != 0 {
e.EncodeUint(1)
e.EncodeInt(int64(x.Arrow))
}
if x.Value != nil {
e.EncodeUint(2)
e.EncodeAny(x.Value)
}
e.EndStruct()
}
func decode_ast_SendStmt(d *codec.Decoder, p **ast.SendStmt) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.SendStmt)
return
}
var x ast.SendStmt
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Chan = d.DecodeAny().(ast.Expr)
case 1:
x.Arrow = token.Pos(d.DecodeInt())
case 2:
x.Value = d.DecodeAny().(ast.Expr)
default:
d.UnknownField("ast.SendStmt", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.SendStmt{},
func(e *codec.Encoder, x any) { encode_ast_SendStmt(e, x.(*ast.SendStmt)) },
func(d *codec.Decoder) any {
var x *ast.SendStmt
decode_ast_SendStmt(d, &x)
return x
})
}
// Fields of ast_SliceExpr: X Lbrack Low High Max Slice3 Rbrack
func encode_ast_SliceExpr(e *codec.Encoder, x *ast.SliceExpr) {
if !e.StartStruct(x == nil, x) {
return
}
if x.X != nil {
e.EncodeUint(0)
e.EncodeAny(x.X)
}
if x.Lbrack != 0 {
e.EncodeUint(1)
e.EncodeInt(int64(x.Lbrack))
}
if x.Low != nil {
e.EncodeUint(2)
e.EncodeAny(x.Low)
}
if x.High != nil {
e.EncodeUint(3)
e.EncodeAny(x.High)
}
if x.Max != nil {
e.EncodeUint(4)
e.EncodeAny(x.Max)
}
if x.Slice3 != false {
e.EncodeUint(5)
e.EncodeBool(x.Slice3)
}
if x.Rbrack != 0 {
e.EncodeUint(6)
e.EncodeInt(int64(x.Rbrack))
}
e.EndStruct()
}
func decode_ast_SliceExpr(d *codec.Decoder, p **ast.SliceExpr) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.SliceExpr)
return
}
var x ast.SliceExpr
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.X = d.DecodeAny().(ast.Expr)
case 1:
x.Lbrack = token.Pos(d.DecodeInt())
case 2:
x.Low = d.DecodeAny().(ast.Expr)
case 3:
x.High = d.DecodeAny().(ast.Expr)
case 4:
x.Max = d.DecodeAny().(ast.Expr)
case 5:
x.Slice3 = d.DecodeBool()
case 6:
x.Rbrack = token.Pos(d.DecodeInt())
default:
d.UnknownField("ast.SliceExpr", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.SliceExpr{},
func(e *codec.Encoder, x any) { encode_ast_SliceExpr(e, x.(*ast.SliceExpr)) },
func(d *codec.Decoder) any {
var x *ast.SliceExpr
decode_ast_SliceExpr(d, &x)
return x
})
}
// Fields of ast_StarExpr: Star X
func encode_ast_StarExpr(e *codec.Encoder, x *ast.StarExpr) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Star != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.Star))
}
if x.X != nil {
e.EncodeUint(1)
e.EncodeAny(x.X)
}
e.EndStruct()
}
func decode_ast_StarExpr(d *codec.Decoder, p **ast.StarExpr) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.StarExpr)
return
}
var x ast.StarExpr
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Star = token.Pos(d.DecodeInt())
case 1:
x.X = d.DecodeAny().(ast.Expr)
default:
d.UnknownField("ast.StarExpr", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.StarExpr{},
func(e *codec.Encoder, x any) { encode_ast_StarExpr(e, x.(*ast.StarExpr)) },
func(d *codec.Decoder) any {
var x *ast.StarExpr
decode_ast_StarExpr(d, &x)
return x
})
}
// Fields of ast_StructType: Struct Fields Incomplete
func encode_ast_StructType(e *codec.Encoder, x *ast.StructType) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Struct != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.Struct))
}
if x.Fields != nil {
e.EncodeUint(1)
encode_ast_FieldList(e, x.Fields)
}
if x.Incomplete != false {
e.EncodeUint(2)
e.EncodeBool(x.Incomplete)
}
e.EndStruct()
}
func decode_ast_StructType(d *codec.Decoder, p **ast.StructType) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.StructType)
return
}
var x ast.StructType
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Struct = token.Pos(d.DecodeInt())
case 1:
decode_ast_FieldList(d, &x.Fields)
case 2:
x.Incomplete = d.DecodeBool()
default:
d.UnknownField("ast.StructType", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.StructType{},
func(e *codec.Encoder, x any) { encode_ast_StructType(e, x.(*ast.StructType)) },
func(d *codec.Decoder) any {
var x *ast.StructType
decode_ast_StructType(d, &x)
return x
})
}
// Fields of ast_SwitchStmt: Switch Init Tag Body
func encode_ast_SwitchStmt(e *codec.Encoder, x *ast.SwitchStmt) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Switch != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.Switch))
}
if x.Init != nil {
e.EncodeUint(1)
e.EncodeAny(x.Init)
}
if x.Tag != nil {
e.EncodeUint(2)
e.EncodeAny(x.Tag)
}
if x.Body != nil {
e.EncodeUint(3)
encode_ast_BlockStmt(e, x.Body)
}
e.EndStruct()
}
func decode_ast_SwitchStmt(d *codec.Decoder, p **ast.SwitchStmt) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.SwitchStmt)
return
}
var x ast.SwitchStmt
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Switch = token.Pos(d.DecodeInt())
case 1:
x.Init = d.DecodeAny().(ast.Stmt)
case 2:
x.Tag = d.DecodeAny().(ast.Expr)
case 3:
decode_ast_BlockStmt(d, &x.Body)
default:
d.UnknownField("ast.SwitchStmt", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.SwitchStmt{},
func(e *codec.Encoder, x any) { encode_ast_SwitchStmt(e, x.(*ast.SwitchStmt)) },
func(d *codec.Decoder) any {
var x *ast.SwitchStmt
decode_ast_SwitchStmt(d, &x)
return x
})
}
// Fields of ast_TypeAssertExpr: X Lparen Type Rparen
func encode_ast_TypeAssertExpr(e *codec.Encoder, x *ast.TypeAssertExpr) {
if !e.StartStruct(x == nil, x) {
return
}
if x.X != nil {
e.EncodeUint(0)
e.EncodeAny(x.X)
}
if x.Lparen != 0 {
e.EncodeUint(1)
e.EncodeInt(int64(x.Lparen))
}
if x.Type != nil {
e.EncodeUint(2)
e.EncodeAny(x.Type)
}
if x.Rparen != 0 {
e.EncodeUint(3)
e.EncodeInt(int64(x.Rparen))
}
e.EndStruct()
}
func decode_ast_TypeAssertExpr(d *codec.Decoder, p **ast.TypeAssertExpr) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.TypeAssertExpr)
return
}
var x ast.TypeAssertExpr
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.X = d.DecodeAny().(ast.Expr)
case 1:
x.Lparen = token.Pos(d.DecodeInt())
case 2:
x.Type = d.DecodeAny().(ast.Expr)
case 3:
x.Rparen = token.Pos(d.DecodeInt())
default:
d.UnknownField("ast.TypeAssertExpr", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.TypeAssertExpr{},
func(e *codec.Encoder, x any) { encode_ast_TypeAssertExpr(e, x.(*ast.TypeAssertExpr)) },
func(d *codec.Decoder) any {
var x *ast.TypeAssertExpr
decode_ast_TypeAssertExpr(d, &x)
return x
})
}
// Fields of ast_TypeSpec: Doc Name Assign Type Comment TypeParams
func encode_ast_TypeSpec(e *codec.Encoder, x *ast.TypeSpec) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Doc != nil {
e.EncodeUint(0)
encode_ast_CommentGroup(e, x.Doc)
}
if x.Name != nil {
e.EncodeUint(1)
encode_ast_Ident(e, x.Name)
}
if x.Assign != 0 {
e.EncodeUint(2)
e.EncodeInt(int64(x.Assign))
}
if x.Type != nil {
e.EncodeUint(3)
e.EncodeAny(x.Type)
}
if x.Comment != nil {
e.EncodeUint(4)
encode_ast_CommentGroup(e, x.Comment)
}
if x.TypeParams != nil {
e.EncodeUint(5)
encode_ast_FieldList(e, x.TypeParams)
}
e.EndStruct()
}
func decode_ast_TypeSpec(d *codec.Decoder, p **ast.TypeSpec) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.TypeSpec)
return
}
var x ast.TypeSpec
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
decode_ast_CommentGroup(d, &x.Doc)
case 1:
decode_ast_Ident(d, &x.Name)
case 2:
x.Assign = token.Pos(d.DecodeInt())
case 3:
x.Type = d.DecodeAny().(ast.Expr)
case 4:
decode_ast_CommentGroup(d, &x.Comment)
case 5:
decode_ast_FieldList(d, &x.TypeParams)
default:
d.UnknownField("ast.TypeSpec", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.TypeSpec{},
func(e *codec.Encoder, x any) { encode_ast_TypeSpec(e, x.(*ast.TypeSpec)) },
func(d *codec.Decoder) any {
var x *ast.TypeSpec
decode_ast_TypeSpec(d, &x)
return x
})
}
// Fields of ast_TypeSwitchStmt: Switch Init Assign Body
func encode_ast_TypeSwitchStmt(e *codec.Encoder, x *ast.TypeSwitchStmt) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Switch != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.Switch))
}
if x.Init != nil {
e.EncodeUint(1)
e.EncodeAny(x.Init)
}
if x.Assign != nil {
e.EncodeUint(2)
e.EncodeAny(x.Assign)
}
if x.Body != nil {
e.EncodeUint(3)
encode_ast_BlockStmt(e, x.Body)
}
e.EndStruct()
}
func decode_ast_TypeSwitchStmt(d *codec.Decoder, p **ast.TypeSwitchStmt) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.TypeSwitchStmt)
return
}
var x ast.TypeSwitchStmt
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Switch = token.Pos(d.DecodeInt())
case 1:
x.Init = d.DecodeAny().(ast.Stmt)
case 2:
x.Assign = d.DecodeAny().(ast.Stmt)
case 3:
decode_ast_BlockStmt(d, &x.Body)
default:
d.UnknownField("ast.TypeSwitchStmt", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.TypeSwitchStmt{},
func(e *codec.Encoder, x any) { encode_ast_TypeSwitchStmt(e, x.(*ast.TypeSwitchStmt)) },
func(d *codec.Decoder) any {
var x *ast.TypeSwitchStmt
decode_ast_TypeSwitchStmt(d, &x)
return x
})
}
// Fields of ast_UnaryExpr: OpPos Op X
func encode_ast_UnaryExpr(e *codec.Encoder, x *ast.UnaryExpr) {
if !e.StartStruct(x == nil, x) {
return
}
if x.OpPos != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.OpPos))
}
if x.Op != 0 {
e.EncodeUint(1)
e.EncodeInt(int64(x.Op))
}
if x.X != nil {
e.EncodeUint(2)
e.EncodeAny(x.X)
}
e.EndStruct()
}
func decode_ast_UnaryExpr(d *codec.Decoder, p **ast.UnaryExpr) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.UnaryExpr)
return
}
var x ast.UnaryExpr
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.OpPos = token.Pos(d.DecodeInt())
case 1:
x.Op = token.Token(d.DecodeInt())
case 2:
x.X = d.DecodeAny().(ast.Expr)
default:
d.UnknownField("ast.UnaryExpr", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.UnaryExpr{},
func(e *codec.Encoder, x any) { encode_ast_UnaryExpr(e, x.(*ast.UnaryExpr)) },
func(d *codec.Decoder) any {
var x *ast.UnaryExpr
decode_ast_UnaryExpr(d, &x)
return x
})
}
// Fields of ast_ValueSpec: Doc Names Type Values Comment
func encode_ast_ValueSpec(e *codec.Encoder, x *ast.ValueSpec) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Doc != nil {
e.EncodeUint(0)
encode_ast_CommentGroup(e, x.Doc)
}
if x.Names != nil {
e.EncodeUint(1)
encode_slice_ast_Ident(e, x.Names)
}
if x.Type != nil {
e.EncodeUint(2)
e.EncodeAny(x.Type)
}
if x.Values != nil {
e.EncodeUint(3)
encode_slice_ast_Expr(e, x.Values)
}
if x.Comment != nil {
e.EncodeUint(4)
encode_ast_CommentGroup(e, x.Comment)
}
e.EndStruct()
}
func decode_ast_ValueSpec(d *codec.Decoder, p **ast.ValueSpec) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.ValueSpec)
return
}
var x ast.ValueSpec
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
decode_ast_CommentGroup(d, &x.Doc)
case 1:
decode_slice_ast_Ident(d, &x.Names)
case 2:
x.Type = d.DecodeAny().(ast.Expr)
case 3:
decode_slice_ast_Expr(d, &x.Values)
case 4:
decode_ast_CommentGroup(d, &x.Comment)
default:
d.UnknownField("ast.ValueSpec", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.ValueSpec{},
func(e *codec.Encoder, x any) { encode_ast_ValueSpec(e, x.(*ast.ValueSpec)) },
func(d *codec.Decoder) any {
var x *ast.ValueSpec
decode_ast_ValueSpec(d, &x)
return x
})
}
// Fields of encPackage: GOOS GOARCH Files ModulePackagePaths
func encode_encPackage(e *codec.Encoder, x *encPackage) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Files != nil {
e.EncodeUint(2)
encode_slice_File(e, x.Files)
}
if x.ModulePackagePaths != nil {
e.EncodeUint(3)
encode_map_string_bool(e, x.ModulePackagePaths)
}
e.EndStruct()
}
func decode_encPackage(d *codec.Decoder, p **encPackage) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*encPackage)
return
}
var x encPackage
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 2:
decode_slice_File(d, &x.Files)
case 3:
decode_map_string_bool(d, &x.ModulePackagePaths)
default:
d.UnknownField("encPackage", n)
}
*p = &x
}
}
func init() {
codec.Register(&encPackage{},
func(e *codec.Encoder, x any) { encode_encPackage(e, x.(*encPackage)) },
func(d *codec.Decoder) any {
var x *encPackage
decode_encPackage(d, &x)
return x
})
}
func encode_slice_ast_Expr(e *codec.Encoder, s []ast.Expr) {
if s == nil {
e.EncodeNil()
return
}
e.StartList(len(s))
for _, x := range s {
e.EncodeAny(x)
}
}
func decode_slice_ast_Expr(d *codec.Decoder, p *[]ast.Expr) {
n := d.StartList()
if n < 0 {
return
}
s := make([]ast.Expr, n)
for i := 0; i < n; i++ {
s[i] = d.DecodeAny().(ast.Expr)
}
*p = s
}
func init() {
codec.Register([]ast.Expr(nil),
func(e *codec.Encoder, x any) { encode_slice_ast_Expr(e, x.([]ast.Expr)) },
func(d *codec.Decoder) any { var x []ast.Expr; decode_slice_ast_Expr(d, &x); return x })
}
func encode_slice_ast_Stmt(e *codec.Encoder, s []ast.Stmt) {
if s == nil {
e.EncodeNil()
return
}
e.StartList(len(s))
for _, x := range s {
e.EncodeAny(x)
}
}
func decode_slice_ast_Stmt(d *codec.Decoder, p *[]ast.Stmt) {
n := d.StartList()
if n < 0 {
return
}
s := make([]ast.Stmt, n)
for i := 0; i < n; i++ {
s[i] = d.DecodeAny().(ast.Stmt)
}
*p = s
}
func init() {
codec.Register([]ast.Stmt(nil),
func(e *codec.Encoder, x any) { encode_slice_ast_Stmt(e, x.([]ast.Stmt)) },
func(d *codec.Decoder) any { var x []ast.Stmt; decode_slice_ast_Stmt(d, &x); return x })
}
func encode_slice_ast_Comment(e *codec.Encoder, s []*ast.Comment) {
if s == nil {
e.EncodeNil()
return
}
e.StartList(len(s))
for _, x := range s {
encode_ast_Comment(e, x)
}
}
func decode_slice_ast_Comment(d *codec.Decoder, p *[]*ast.Comment) {
n := d.StartList()
if n < 0 {
return
}
s := make([]*ast.Comment, n)
for i := 0; i < n; i++ {
decode_ast_Comment(d, &s[i])
}
*p = s
}
func init() {
codec.Register([]*ast.Comment(nil),
func(e *codec.Encoder, x any) { encode_slice_ast_Comment(e, x.([]*ast.Comment)) },
func(d *codec.Decoder) any { var x []*ast.Comment; decode_slice_ast_Comment(d, &x); return x })
}
func encode_slice_ast_Field(e *codec.Encoder, s []*ast.Field) {
if s == nil {
e.EncodeNil()
return
}
e.StartList(len(s))
for _, x := range s {
encode_ast_Field(e, x)
}
}
func decode_slice_ast_Field(d *codec.Decoder, p *[]*ast.Field) {
n := d.StartList()
if n < 0 {
return
}
s := make([]*ast.Field, n)
for i := 0; i < n; i++ {
decode_ast_Field(d, &s[i])
}
*p = s
}
func init() {
codec.Register([]*ast.Field(nil),
func(e *codec.Encoder, x any) { encode_slice_ast_Field(e, x.([]*ast.Field)) },
func(d *codec.Decoder) any { var x []*ast.Field; decode_slice_ast_Field(d, &x); return x })
}
func encode_slice_ast_Ident(e *codec.Encoder, s []*ast.Ident) {
if s == nil {
e.EncodeNil()
return
}
e.StartList(len(s))
for _, x := range s {
encode_ast_Ident(e, x)
}
}
func decode_slice_ast_Ident(d *codec.Decoder, p *[]*ast.Ident) {
n := d.StartList()
if n < 0 {
return
}
s := make([]*ast.Ident, n)
for i := 0; i < n; i++ {
decode_ast_Ident(d, &s[i])
}
*p = s
}
func init() {
codec.Register([]*ast.Ident(nil),
func(e *codec.Encoder, x any) { encode_slice_ast_Ident(e, x.([]*ast.Ident)) },
func(d *codec.Decoder) any { var x []*ast.Ident; decode_slice_ast_Ident(d, &x); return x })
}
func encode_slice_ast_Spec(e *codec.Encoder, s []ast.Spec) {
if s == nil {
e.EncodeNil()
return
}
e.StartList(len(s))
for _, x := range s {
e.EncodeAny(x)
}
}
func decode_slice_ast_Spec(d *codec.Decoder, p *[]ast.Spec) {
n := d.StartList()
if n < 0 {
return
}
s := make([]ast.Spec, n)
for i := 0; i < n; i++ {
s[i] = d.DecodeAny().(ast.Spec)
}
*p = s
}
func init() {
codec.Register([]ast.Spec(nil),
func(e *codec.Encoder, x any) { encode_slice_ast_Spec(e, x.([]ast.Spec)) },
func(d *codec.Decoder) any { var x []ast.Spec; decode_slice_ast_Spec(d, &x); return x })
}
// Fields of ast_Object: Kind Name Decl Data Type
func encode_ast_Object(e *codec.Encoder, x *ast.Object) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Kind != 0 {
e.EncodeUint(0)
e.EncodeInt(int64(x.Kind))
}
if x.Name != "" {
e.EncodeUint(1)
e.EncodeString(x.Name)
}
if x.Decl != nil {
e.EncodeUint(2)
e.EncodeAny(x.Decl)
}
if x.Data != nil {
e.EncodeUint(3)
e.EncodeAny(x.Data)
}
if x.Type != nil {
e.EncodeUint(4)
e.EncodeAny(x.Type)
}
e.EndStruct()
}
func decode_ast_Object(d *codec.Decoder, p **ast.Object) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.Object)
return
}
var x ast.Object
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Kind = ast.ObjKind(d.DecodeInt())
case 1:
x.Name = d.DecodeString()
case 2:
x.Decl = d.DecodeAny()
case 3:
x.Data = d.DecodeAny()
case 4:
x.Type = d.DecodeAny()
default:
d.UnknownField("ast.Object", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.Object{},
func(e *codec.Encoder, x any) { encode_ast_Object(e, x.(*ast.Object)) },
func(d *codec.Decoder) any {
var x *ast.Object
decode_ast_Object(d, &x)
return x
})
}
func encode_map_string_ast_Object(e *codec.Encoder, m map[string]*ast.Object) {
if m == nil {
e.EncodeNil()
return
}
e.StartList(2 * len(m))
for k, v := range m {
e.EncodeString(k)
encode_ast_Object(e, v)
}
}
func decode_map_string_ast_Object(d *codec.Decoder, p *map[string]*ast.Object) {
n2 := d.StartList()
if n2 < 0 {
return
}
n := n2 / 2
m := make(map[string]*ast.Object, n)
var k string
var v *ast.Object
for i := 0; i < n; i++ {
k = d.DecodeString()
decode_ast_Object(d, &v)
m[k] = v
}
*p = m
}
func init() {
codec.Register(map[string]*ast.Object(nil),
func(e *codec.Encoder, x any) { encode_map_string_ast_Object(e, x.(map[string]*ast.Object)) },
func(d *codec.Decoder) any {
var x map[string]*ast.Object
decode_map_string_ast_Object(d, &x)
return x
})
}
func encode_slice_File(e *codec.Encoder, s []*File) {
if s == nil {
e.EncodeNil()
return
}
e.StartList(len(s))
for _, x := range s {
encode_File(e, x)
}
}
func decode_slice_File(d *codec.Decoder, p *[]*File) {
n := d.StartList()
if n < 0 {
return
}
s := make([]*File, n)
for i := 0; i < n; i++ {
decode_File(d, &s[i])
}
*p = s
}
func init() {
codec.Register([]*File(nil),
func(e *codec.Encoder, x any) { encode_slice_File(e, x.([]*File)) },
func(d *codec.Decoder) any { var x []*File; decode_slice_File(d, &x); return x })
}
func encode_map_string_bool(e *codec.Encoder, m map[string]bool) {
if m == nil {
e.EncodeNil()
return
}
e.StartList(2 * len(m))
for k, v := range m {
e.EncodeString(k)
e.EncodeBool(v)
}
}
func decode_map_string_bool(d *codec.Decoder, p *map[string]bool) {
n2 := d.StartList()
if n2 < 0 {
return
}
n := n2 / 2
m := make(map[string]bool, n)
var k string
var v bool
for i := 0; i < n; i++ {
k = d.DecodeString()
v = d.DecodeBool()
m[k] = v
}
*p = m
}
func init() {
codec.Register(map[string]bool(nil),
func(e *codec.Encoder, x any) { encode_map_string_bool(e, x.(map[string]bool)) },
func(d *codec.Decoder) any { var x map[string]bool; decode_map_string_bool(d, &x); return x })
}
// Fields of File: Name AST
func encode_File(e *codec.Encoder, x *File) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Name != "" {
e.EncodeUint(0)
e.EncodeString(x.Name)
}
if x.AST != nil {
e.EncodeUint(1)
encode_ast_File(e, x.AST)
}
e.EndStruct()
}
func decode_File(d *codec.Decoder, p **File) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*File)
return
}
var x File
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
x.Name = d.DecodeString()
case 1:
decode_ast_File(d, &x.AST)
default:
d.UnknownField("File", n)
}
*p = &x
}
}
func init() {
codec.Register(&File{},
func(e *codec.Encoder, x any) { encode_File(e, x.(*File)) },
func(d *codec.Decoder) any {
var x *File
decode_File(d, &x)
return x
})
}
// Fields of ast_File: Doc Package Name Decls Scope Imports Unresolved Comments FileStart FileEnd GoVersion
func encode_ast_File(e *codec.Encoder, x *ast.File) {
if !e.StartStruct(x == nil, x) {
return
}
if x.Doc != nil {
e.EncodeUint(0)
encode_ast_CommentGroup(e, x.Doc)
}
if x.Package != 0 {
e.EncodeUint(1)
e.EncodeInt(int64(x.Package))
}
if x.Name != nil {
e.EncodeUint(2)
encode_ast_Ident(e, x.Name)
}
if x.Decls != nil {
e.EncodeUint(3)
encode_slice_ast_Decl(e, x.Decls)
}
if x.Scope != nil {
e.EncodeUint(4)
encode_ast_Scope(e, x.Scope)
}
if x.Imports != nil {
e.EncodeUint(5)
encode_slice_ast_ImportSpec(e, x.Imports)
}
if x.Unresolved != nil {
e.EncodeUint(6)
encode_slice_ast_Ident(e, x.Unresolved)
}
if x.Comments != nil {
e.EncodeUint(7)
encode_slice_ast_CommentGroup(e, x.Comments)
}
if x.FileStart != 0 {
e.EncodeUint(8)
e.EncodeInt(int64(x.FileStart))
}
if x.FileEnd != 0 {
e.EncodeUint(9)
e.EncodeInt(int64(x.FileEnd))
}
if x.GoVersion != "" {
e.EncodeUint(10)
e.EncodeString(x.GoVersion)
}
e.EndStruct()
}
func decode_ast_File(d *codec.Decoder, p **ast.File) {
proceed, ref := d.StartStruct()
if !proceed {
return
}
if ref != nil {
*p = ref.(*ast.File)
return
}
var x ast.File
d.StoreRef(&x)
for {
n := d.NextStructField()
if n < 0 {
break
}
switch n {
case 0:
decode_ast_CommentGroup(d, &x.Doc)
case 1:
x.Package = token.Pos(d.DecodeInt())
case 2:
decode_ast_Ident(d, &x.Name)
case 3:
decode_slice_ast_Decl(d, &x.Decls)
case 4:
decode_ast_Scope(d, &x.Scope)
case 5:
decode_slice_ast_ImportSpec(d, &x.Imports)
case 6:
decode_slice_ast_Ident(d, &x.Unresolved)
case 7:
decode_slice_ast_CommentGroup(d, &x.Comments)
case 8:
x.FileStart = token.Pos(d.DecodeInt())
case 9:
x.FileEnd = token.Pos(d.DecodeInt())
case 10:
x.GoVersion = d.DecodeString()
default:
d.UnknownField("ast.File", n)
}
*p = &x
}
}
func init() {
codec.Register(&ast.File{},
func(e *codec.Encoder, x any) { encode_ast_File(e, x.(*ast.File)) },
func(d *codec.Decoder) any {
var x *ast.File
decode_ast_File(d, &x)
return x
})
}
func encode_slice_ast_Decl(e *codec.Encoder, s []ast.Decl) {
if s == nil {
e.EncodeNil()
return
}
e.StartList(len(s))
for _, x := range s {
e.EncodeAny(x)
}
}
func decode_slice_ast_Decl(d *codec.Decoder, p *[]ast.Decl) {
n := d.StartList()
if n < 0 {
return
}
s := make([]ast.Decl, n)
for i := 0; i < n; i++ {
s[i] = d.DecodeAny().(ast.Decl)
}
*p = s
}
func init() {
codec.Register([]ast.Decl(nil),
func(e *codec.Encoder, x any) { encode_slice_ast_Decl(e, x.([]ast.Decl)) },
func(d *codec.Decoder) any { var x []ast.Decl; decode_slice_ast_Decl(d, &x); return x })
}
func encode_slice_ast_ImportSpec(e *codec.Encoder, s []*ast.ImportSpec) {
if s == nil {
e.EncodeNil()
return
}
e.StartList(len(s))
for _, x := range s {
encode_ast_ImportSpec(e, x)
}
}
func decode_slice_ast_ImportSpec(d *codec.Decoder, p *[]*ast.ImportSpec) {
n := d.StartList()
if n < 0 {
return
}
s := make([]*ast.ImportSpec, n)
for i := 0; i < n; i++ {
decode_ast_ImportSpec(d, &s[i])
}
*p = s
}
func init() {
codec.Register([]*ast.ImportSpec(nil),
func(e *codec.Encoder, x any) { encode_slice_ast_ImportSpec(e, x.([]*ast.ImportSpec)) },
func(d *codec.Decoder) any { var x []*ast.ImportSpec; decode_slice_ast_ImportSpec(d, &x); return x })
}
func encode_slice_ast_CommentGroup(e *codec.Encoder, s []*ast.CommentGroup) {
if s == nil {
e.EncodeNil()
return
}
e.StartList(len(s))
for _, x := range s {
encode_ast_CommentGroup(e, x)
}
}
func decode_slice_ast_CommentGroup(d *codec.Decoder, p *[]*ast.CommentGroup) {
n := d.StartList()
if n < 0 {
return
}
s := make([]*ast.CommentGroup, n)
for i := 0; i < n; i++ {
decode_ast_CommentGroup(d, &s[i])
}
*p = s
}
func init() {
codec.Register([]*ast.CommentGroup(nil),
func(e *codec.Encoder, x any) { encode_slice_ast_CommentGroup(e, x.([]*ast.CommentGroup)) },
func(d *codec.Decoder) any { var x []*ast.CommentGroup; decode_slice_ast_CommentGroup(d, &x); return x })
}