github.com/goplus/gossa@v0.3.25/pkg/go/ast/go115_export.go (about)

     1  // export by github.com/goplus/gossa/cmd/qexp
     2  
     3  //+build go1.15,!go1.16
     4  
     5  package ast
     6  
     7  import (
     8  	q "go/ast"
     9  
    10  	"go/constant"
    11  	"reflect"
    12  
    13  	"github.com/goplus/gossa"
    14  )
    15  
    16  func init() {
    17  	gossa.RegisterPackage(&gossa.Package{
    18  		Name: "ast",
    19  		Path: "go/ast",
    20  		Deps: map[string]string{
    21  			"bytes":      "bytes",
    22  			"fmt":        "fmt",
    23  			"go/scanner": "scanner",
    24  			"go/token":   "token",
    25  			"io":         "io",
    26  			"os":         "os",
    27  			"reflect":    "reflect",
    28  			"sort":       "sort",
    29  			"strconv":    "strconv",
    30  			"strings":    "strings",
    31  		},
    32  		Interfaces: map[string]reflect.Type{
    33  			"Decl":    reflect.TypeOf((*q.Decl)(nil)).Elem(),
    34  			"Expr":    reflect.TypeOf((*q.Expr)(nil)).Elem(),
    35  			"Node":    reflect.TypeOf((*q.Node)(nil)).Elem(),
    36  			"Spec":    reflect.TypeOf((*q.Spec)(nil)).Elem(),
    37  			"Stmt":    reflect.TypeOf((*q.Stmt)(nil)).Elem(),
    38  			"Visitor": reflect.TypeOf((*q.Visitor)(nil)).Elem(),
    39  		},
    40  		NamedTypes: map[string]gossa.NamedType{
    41  			"ArrayType":      {reflect.TypeOf((*q.ArrayType)(nil)).Elem(), "", "End,Pos,exprNode"},
    42  			"AssignStmt":     {reflect.TypeOf((*q.AssignStmt)(nil)).Elem(), "", "End,Pos,stmtNode"},
    43  			"BadDecl":        {reflect.TypeOf((*q.BadDecl)(nil)).Elem(), "", "End,Pos,declNode"},
    44  			"BadExpr":        {reflect.TypeOf((*q.BadExpr)(nil)).Elem(), "", "End,Pos,exprNode"},
    45  			"BadStmt":        {reflect.TypeOf((*q.BadStmt)(nil)).Elem(), "", "End,Pos,stmtNode"},
    46  			"BasicLit":       {reflect.TypeOf((*q.BasicLit)(nil)).Elem(), "", "End,Pos,exprNode"},
    47  			"BinaryExpr":     {reflect.TypeOf((*q.BinaryExpr)(nil)).Elem(), "", "End,Pos,exprNode"},
    48  			"BlockStmt":      {reflect.TypeOf((*q.BlockStmt)(nil)).Elem(), "", "End,Pos,stmtNode"},
    49  			"BranchStmt":     {reflect.TypeOf((*q.BranchStmt)(nil)).Elem(), "", "End,Pos,stmtNode"},
    50  			"CallExpr":       {reflect.TypeOf((*q.CallExpr)(nil)).Elem(), "", "End,Pos,exprNode"},
    51  			"CaseClause":     {reflect.TypeOf((*q.CaseClause)(nil)).Elem(), "", "End,Pos,stmtNode"},
    52  			"ChanDir":        {reflect.TypeOf((*q.ChanDir)(nil)).Elem(), "", ""},
    53  			"ChanType":       {reflect.TypeOf((*q.ChanType)(nil)).Elem(), "", "End,Pos,exprNode"},
    54  			"CommClause":     {reflect.TypeOf((*q.CommClause)(nil)).Elem(), "", "End,Pos,stmtNode"},
    55  			"Comment":        {reflect.TypeOf((*q.Comment)(nil)).Elem(), "", "End,Pos"},
    56  			"CommentGroup":   {reflect.TypeOf((*q.CommentGroup)(nil)).Elem(), "", "End,Pos,Text"},
    57  			"CommentMap":     {reflect.TypeOf((*q.CommentMap)(nil)).Elem(), "Comments,Filter,String,Update,addComment", ""},
    58  			"CompositeLit":   {reflect.TypeOf((*q.CompositeLit)(nil)).Elem(), "", "End,Pos,exprNode"},
    59  			"DeclStmt":       {reflect.TypeOf((*q.DeclStmt)(nil)).Elem(), "", "End,Pos,stmtNode"},
    60  			"DeferStmt":      {reflect.TypeOf((*q.DeferStmt)(nil)).Elem(), "", "End,Pos,stmtNode"},
    61  			"Ellipsis":       {reflect.TypeOf((*q.Ellipsis)(nil)).Elem(), "", "End,Pos,exprNode"},
    62  			"EmptyStmt":      {reflect.TypeOf((*q.EmptyStmt)(nil)).Elem(), "", "End,Pos,stmtNode"},
    63  			"ExprStmt":       {reflect.TypeOf((*q.ExprStmt)(nil)).Elem(), "", "End,Pos,stmtNode"},
    64  			"Field":          {reflect.TypeOf((*q.Field)(nil)).Elem(), "", "End,Pos"},
    65  			"FieldFilter":    {reflect.TypeOf((*q.FieldFilter)(nil)).Elem(), "", ""},
    66  			"FieldList":      {reflect.TypeOf((*q.FieldList)(nil)).Elem(), "", "End,NumFields,Pos"},
    67  			"File":           {reflect.TypeOf((*q.File)(nil)).Elem(), "", "End,Pos"},
    68  			"Filter":         {reflect.TypeOf((*q.Filter)(nil)).Elem(), "", ""},
    69  			"ForStmt":        {reflect.TypeOf((*q.ForStmt)(nil)).Elem(), "", "End,Pos,stmtNode"},
    70  			"FuncDecl":       {reflect.TypeOf((*q.FuncDecl)(nil)).Elem(), "", "End,Pos,declNode"},
    71  			"FuncLit":        {reflect.TypeOf((*q.FuncLit)(nil)).Elem(), "", "End,Pos,exprNode"},
    72  			"FuncType":       {reflect.TypeOf((*q.FuncType)(nil)).Elem(), "", "End,Pos,exprNode"},
    73  			"GenDecl":        {reflect.TypeOf((*q.GenDecl)(nil)).Elem(), "", "End,Pos,declNode"},
    74  			"GoStmt":         {reflect.TypeOf((*q.GoStmt)(nil)).Elem(), "", "End,Pos,stmtNode"},
    75  			"Ident":          {reflect.TypeOf((*q.Ident)(nil)).Elem(), "", "End,IsExported,Pos,String,exprNode"},
    76  			"IfStmt":         {reflect.TypeOf((*q.IfStmt)(nil)).Elem(), "", "End,Pos,stmtNode"},
    77  			"ImportSpec":     {reflect.TypeOf((*q.ImportSpec)(nil)).Elem(), "", "End,Pos,specNode"},
    78  			"Importer":       {reflect.TypeOf((*q.Importer)(nil)).Elem(), "", ""},
    79  			"IncDecStmt":     {reflect.TypeOf((*q.IncDecStmt)(nil)).Elem(), "", "End,Pos,stmtNode"},
    80  			"IndexExpr":      {reflect.TypeOf((*q.IndexExpr)(nil)).Elem(), "", "End,Pos,exprNode"},
    81  			"InterfaceType":  {reflect.TypeOf((*q.InterfaceType)(nil)).Elem(), "", "End,Pos,exprNode"},
    82  			"KeyValueExpr":   {reflect.TypeOf((*q.KeyValueExpr)(nil)).Elem(), "", "End,Pos,exprNode"},
    83  			"LabeledStmt":    {reflect.TypeOf((*q.LabeledStmt)(nil)).Elem(), "", "End,Pos,stmtNode"},
    84  			"MapType":        {reflect.TypeOf((*q.MapType)(nil)).Elem(), "", "End,Pos,exprNode"},
    85  			"MergeMode":      {reflect.TypeOf((*q.MergeMode)(nil)).Elem(), "", ""},
    86  			"ObjKind":        {reflect.TypeOf((*q.ObjKind)(nil)).Elem(), "String", ""},
    87  			"Object":         {reflect.TypeOf((*q.Object)(nil)).Elem(), "", "Pos"},
    88  			"Package":        {reflect.TypeOf((*q.Package)(nil)).Elem(), "", "End,Pos"},
    89  			"ParenExpr":      {reflect.TypeOf((*q.ParenExpr)(nil)).Elem(), "", "End,Pos,exprNode"},
    90  			"RangeStmt":      {reflect.TypeOf((*q.RangeStmt)(nil)).Elem(), "", "End,Pos,stmtNode"},
    91  			"ReturnStmt":     {reflect.TypeOf((*q.ReturnStmt)(nil)).Elem(), "", "End,Pos,stmtNode"},
    92  			"Scope":          {reflect.TypeOf((*q.Scope)(nil)).Elem(), "", "Insert,Lookup,String"},
    93  			"SelectStmt":     {reflect.TypeOf((*q.SelectStmt)(nil)).Elem(), "", "End,Pos,stmtNode"},
    94  			"SelectorExpr":   {reflect.TypeOf((*q.SelectorExpr)(nil)).Elem(), "", "End,Pos,exprNode"},
    95  			"SendStmt":       {reflect.TypeOf((*q.SendStmt)(nil)).Elem(), "", "End,Pos,stmtNode"},
    96  			"SliceExpr":      {reflect.TypeOf((*q.SliceExpr)(nil)).Elem(), "", "End,Pos,exprNode"},
    97  			"StarExpr":       {reflect.TypeOf((*q.StarExpr)(nil)).Elem(), "", "End,Pos,exprNode"},
    98  			"StructType":     {reflect.TypeOf((*q.StructType)(nil)).Elem(), "", "End,Pos,exprNode"},
    99  			"SwitchStmt":     {reflect.TypeOf((*q.SwitchStmt)(nil)).Elem(), "", "End,Pos,stmtNode"},
   100  			"TypeAssertExpr": {reflect.TypeOf((*q.TypeAssertExpr)(nil)).Elem(), "", "End,Pos,exprNode"},
   101  			"TypeSpec":       {reflect.TypeOf((*q.TypeSpec)(nil)).Elem(), "", "End,Pos,specNode"},
   102  			"TypeSwitchStmt": {reflect.TypeOf((*q.TypeSwitchStmt)(nil)).Elem(), "", "End,Pos,stmtNode"},
   103  			"UnaryExpr":      {reflect.TypeOf((*q.UnaryExpr)(nil)).Elem(), "", "End,Pos,exprNode"},
   104  			"ValueSpec":      {reflect.TypeOf((*q.ValueSpec)(nil)).Elem(), "", "End,Pos,specNode"},
   105  		},
   106  		AliasTypes: map[string]reflect.Type{},
   107  		Vars:       map[string]reflect.Value{},
   108  		Funcs: map[string]reflect.Value{
   109  			"FileExports":       reflect.ValueOf(q.FileExports),
   110  			"FilterDecl":        reflect.ValueOf(q.FilterDecl),
   111  			"FilterFile":        reflect.ValueOf(q.FilterFile),
   112  			"FilterPackage":     reflect.ValueOf(q.FilterPackage),
   113  			"Fprint":            reflect.ValueOf(q.Fprint),
   114  			"Inspect":           reflect.ValueOf(q.Inspect),
   115  			"IsExported":        reflect.ValueOf(q.IsExported),
   116  			"MergePackageFiles": reflect.ValueOf(q.MergePackageFiles),
   117  			"NewCommentMap":     reflect.ValueOf(q.NewCommentMap),
   118  			"NewIdent":          reflect.ValueOf(q.NewIdent),
   119  			"NewObj":            reflect.ValueOf(q.NewObj),
   120  			"NewPackage":        reflect.ValueOf(q.NewPackage),
   121  			"NewScope":          reflect.ValueOf(q.NewScope),
   122  			"NotNilFilter":      reflect.ValueOf(q.NotNilFilter),
   123  			"PackageExports":    reflect.ValueOf(q.PackageExports),
   124  			"Print":             reflect.ValueOf(q.Print),
   125  			"SortImports":       reflect.ValueOf(q.SortImports),
   126  			"Walk":              reflect.ValueOf(q.Walk),
   127  		},
   128  		TypedConsts: map[string]gossa.TypedConst{
   129  			"Bad":                        {reflect.TypeOf(q.Bad), constant.MakeInt64(int64(q.Bad))},
   130  			"Con":                        {reflect.TypeOf(q.Con), constant.MakeInt64(int64(q.Con))},
   131  			"FilterFuncDuplicates":       {reflect.TypeOf(q.FilterFuncDuplicates), constant.MakeInt64(int64(q.FilterFuncDuplicates))},
   132  			"FilterImportDuplicates":     {reflect.TypeOf(q.FilterImportDuplicates), constant.MakeInt64(int64(q.FilterImportDuplicates))},
   133  			"FilterUnassociatedComments": {reflect.TypeOf(q.FilterUnassociatedComments), constant.MakeInt64(int64(q.FilterUnassociatedComments))},
   134  			"Fun":                        {reflect.TypeOf(q.Fun), constant.MakeInt64(int64(q.Fun))},
   135  			"Lbl":                        {reflect.TypeOf(q.Lbl), constant.MakeInt64(int64(q.Lbl))},
   136  			"Pkg":                        {reflect.TypeOf(q.Pkg), constant.MakeInt64(int64(q.Pkg))},
   137  			"RECV":                       {reflect.TypeOf(q.RECV), constant.MakeInt64(int64(q.RECV))},
   138  			"SEND":                       {reflect.TypeOf(q.SEND), constant.MakeInt64(int64(q.SEND))},
   139  			"Typ":                        {reflect.TypeOf(q.Typ), constant.MakeInt64(int64(q.Typ))},
   140  			"Var":                        {reflect.TypeOf(q.Var), constant.MakeInt64(int64(q.Var))},
   141  		},
   142  		UntypedConsts: map[string]gossa.UntypedConst{},
   143  	})
   144  }