function name: Decode
   0.case
     *ast.SelectorExpr 	 [jsoniter NumberValue]
     *ast.DeclStmt -> *ast.GenDecl -> *ast.ValueSpec -> *ast.SelectorExpr 	 [number json Number]
     *ast.ExprStmt -> *ast.CallExpr -> *ast.SelectorExpr 	 [iter ReadVal]
     *ast.UnaryExpr 	 [& number]
     *ast.AssignStmt -> *ast.StarExpr -> *ast.ParenExpr -> *ast.CallExpr -> *ast.ParenExpr -> *ast.StarExpr 	 [= string]
      	 [ptr]
     *ast.CallExpr 	 [string number]
   1.case
     *ast.SelectorExpr 	 [jsoniter StringValue]
     *ast.AssignStmt -> *ast.StarExpr -> *ast.ParenExpr -> *ast.CallExpr -> *ast.ParenExpr -> *ast.StarExpr 	 [= string]
      	 [ptr]
     *ast.CallExpr -> *ast.SelectorExpr 	 [iter ReadString]
   2.case
     *ast.SelectorExpr 	 [jsoniter BoolValue]
     *ast.AssignStmt -> *ast.StarExpr -> *ast.ParenExpr -> *ast.CallExpr -> *ast.ParenExpr -> *ast.StarExpr 	 [= string]
      	 [ptr]
     *ast.CallExpr -> *ast.SelectorExpr 	 [strconv FormatBool]
     *ast.CallExpr -> *ast.SelectorExpr 	 [iter ReadBool]
   3.case
     *ast.SelectorExpr 	 [jsoniter NilValue]
     *ast.ExprStmt -> *ast.CallExpr -> *ast.SelectorExpr 	 [iter ReadNil]
     *ast.AssignStmt -> *ast.StarExpr -> *ast.ParenExpr -> *ast.CallExpr -> *ast.ParenExpr -> *ast.StarExpr 	 [= string]
      	 [ptr]
     *ast.BasicLit 	 [STRING ""]

function name: Decode
   0.case
     *ast.SelectorExpr 	 [jsoniter BoolValue]
     *ast.AssignStmt -> *ast.StarExpr -> *ast.ParenExpr -> *ast.CallExpr -> *ast.ParenExpr -> *ast.StarExpr 	 [= bool]
      	 [ptr]
     *ast.CallExpr -> *ast.SelectorExpr 	 [iter ReadBool]
   1.case
     *ast.SelectorExpr 	 [jsoniter NumberValue]
     *ast.DeclStmt -> *ast.GenDecl -> *ast.ValueSpec -> *ast.SelectorExpr 	 [number json Number]
     *ast.ExprStmt -> *ast.CallExpr -> *ast.SelectorExpr 	 [iter ReadVal]
     *ast.UnaryExpr 	 [& number]
     *ast.AssignStmt -> *ast.CallExpr -> *ast.SelectorExpr 	 [:= num err number Int64]
     *ast.IfStmt -> *ast.BinaryExpr 	 [!= err nil]
     *ast.BlockStmt -> *ast.ExprStmt -> *ast.CallExpr -> *ast.SelectorExpr 	 [iter ReportError]
     *ast.BasicLit -> *ast.BasicLit 	 [STRING "fuzzyBoolDecoder" STRING "get value from json.number failed"]
     *ast.IfStmt -> *ast.BinaryExpr -> *ast.BasicLit 	 [== num INT 0]
     *ast.BlockStmt -> *ast.AssignStmt -> *ast.StarExpr -> *ast.ParenExpr -> *ast.CallExpr -> *ast.ParenExpr -> *ast.StarExpr 	 [= bool]
      	 [ptr]
      	 [false]
     *ast.BlockStmt -> *ast.AssignStmt -> *ast.StarExpr -> *ast.ParenExpr -> *ast.CallExpr -> *ast.ParenExpr -> *ast.StarExpr 	 [= bool]
      	 [ptr]
      	 [true]
   2.case
     *ast.SelectorExpr 	 [jsoniter StringValue]
     *ast.AssignStmt -> *ast.CallExpr -> *ast.SelectorExpr 	 [:= strValue strings ToLower]
     *ast.CallExpr -> *ast.SelectorExpr 	 [iter ReadString]
     *ast.IfStmt -> *ast.BinaryExpr -> *ast.BasicLit 	 [== strValue STRING "true"]
     *ast.BlockStmt -> *ast.AssignStmt -> *ast.StarExpr -> *ast.ParenExpr -> *ast.CallExpr -> *ast.ParenExpr -> *ast.StarExpr 	 [= bool]
      	 [ptr]
      	 [true]
     *ast.IfStmt -> *ast.BinaryExpr -> *ast.BinaryExpr -> *ast.BasicLit 	 [|| == strValue STRING "false"]
     *ast.BinaryExpr -> *ast.BasicLit 	 [== strValue STRING ""]
     *ast.BlockStmt -> *ast.AssignStmt -> *ast.StarExpr -> *ast.ParenExpr -> *ast.CallExpr -> *ast.ParenExpr -> *ast.StarExpr 	 [= bool]
      	 [ptr]
      	 [false]
     *ast.BlockStmt -> *ast.ExprStmt -> *ast.CallExpr -> *ast.SelectorExpr 	 [iter ReportError]
     *ast.BasicLit -> *ast.BinaryExpr -> *ast.BasicLit 	 [STRING "fuzzyBoolDecoder" + STRING "unsupported bool value: " strValue]
   3.case
     *ast.SelectorExpr 	 [jsoniter NilValue]
     *ast.ExprStmt -> *ast.CallExpr -> *ast.SelectorExpr 	 [iter ReadNil]
     *ast.AssignStmt -> *ast.StarExpr -> *ast.ParenExpr -> *ast.CallExpr -> *ast.ParenExpr -> *ast.StarExpr 	 [= bool]
      	 [ptr]
      	 [false]

function name: Decode
   0.case
     *ast.SelectorExpr 	 [jsoniter NumberValue]
     *ast.DeclStmt -> *ast.GenDecl -> *ast.ValueSpec -> *ast.SelectorExpr 	 [number json Number]
     *ast.ExprStmt -> *ast.CallExpr -> *ast.SelectorExpr 	 [iter ReadVal]
     *ast.UnaryExpr 	 [& number]
     *ast.AssignStmt -> *ast.CallExpr 	 [= str string number]
   1.case
     *ast.SelectorExpr 	 [jsoniter StringValue]
     *ast.AssignStmt -> *ast.CallExpr -> *ast.SelectorExpr 	 [= str iter ReadString]
     *ast.IfStmt -> *ast.BinaryExpr -> *ast.BasicLit 	 [== str STRING ""]
     *ast.BlockStmt -> *ast.AssignStmt -> *ast.BasicLit 	 [= str STRING "0"]
   2.case
     *ast.SelectorExpr 	 [jsoniter BoolValue]
     *ast.IfStmt -> *ast.CallExpr -> *ast.SelectorExpr 	 [iter ReadBool]
     *ast.BlockStmt -> *ast.AssignStmt -> *ast.BasicLit 	 [= str STRING "1"]
     *ast.BlockStmt -> *ast.AssignStmt -> *ast.BasicLit 	 [= str STRING "0"]
   3.case
     *ast.SelectorExpr 	 [jsoniter NilValue]
     *ast.ExprStmt -> *ast.CallExpr -> *ast.SelectorExpr 	 [iter ReadNil]
     *ast.AssignStmt -> *ast.BasicLit 	 [= str STRING "0"]

function name: Decode
   0.case
     *ast.SelectorExpr 	 [jsoniter NumberValue]
     *ast.AssignStmt -> *ast.StarExpr -> *ast.ParenExpr -> *ast.CallExpr -> *ast.ParenExpr -> *ast.StarExpr 	 [= float32]
      	 [ptr]
     *ast.CallExpr -> *ast.SelectorExpr 	 [iter ReadFloat32]
   1.case
     *ast.SelectorExpr 	 [jsoniter StringValue]
     *ast.AssignStmt -> *ast.CallExpr -> *ast.SelectorExpr 	 [= str iter ReadString]
     *ast.IfStmt -> *ast.BinaryExpr -> *ast.BasicLit 	 [== str STRING ""]
     *ast.BlockStmt -> *ast.AssignStmt -> *ast.StarExpr -> *ast.ParenExpr -> *ast.CallExpr -> *ast.ParenExpr -> *ast.StarExpr 	 [= float32]
      	 [ptr]
     *ast.BasicLit 	 [INT 0]
     *ast.ReturnStmt 	 []
     *ast.AssignStmt -> *ast.CallExpr -> *ast.SelectorExpr -> *ast.CallExpr -> *ast.SelectorExpr 	 [:= newIter iter Pool]
      	 [BorrowIterator]
     *ast.CallExpr -> *ast.ArrayType 	 [byte]
      	 [str]
     *ast.DeferStmt -> *ast.CallExpr -> *ast.SelectorExpr -> *ast.CallExpr -> *ast.SelectorExpr 	 [iter Pool]
      	 [ReturnIterator]
      	 [newIter]
     *ast.AssignStmt -> *ast.StarExpr -> *ast.ParenExpr -> *ast.CallExpr -> *ast.ParenExpr -> *ast.StarExpr 	 [= float32]
      	 [ptr]
     *ast.CallExpr -> *ast.SelectorExpr 	 [newIter ReadFloat32]
     *ast.IfStmt -> *ast.BinaryExpr -> *ast.BinaryExpr -> *ast.SelectorExpr 	 [&& != newIter Error]
      	 [nil]
     *ast.BinaryExpr -> *ast.SelectorExpr 	 [!= newIter Error]
     *ast.SelectorExpr 	 [io EOF]
     *ast.BlockStmt -> *ast.AssignStmt -> *ast.SelectorExpr 	 [= iter Error]
     *ast.SelectorExpr 	 [newIter Error]
   2.case
     *ast.SelectorExpr 	 [jsoniter BoolValue]
     *ast.IfStmt -> *ast.CallExpr -> *ast.SelectorExpr 	 [iter ReadBool]
     *ast.BlockStmt -> *ast.AssignStmt -> *ast.StarExpr -> *ast.ParenExpr -> *ast.CallExpr -> *ast.ParenExpr -> *ast.StarExpr 	 [= float32]
      	 [ptr]
     *ast.BasicLit 	 [INT 1]
     *ast.BlockStmt -> *ast.AssignStmt -> *ast.StarExpr -> *ast.ParenExpr -> *ast.CallExpr -> *ast.ParenExpr -> *ast.StarExpr 	 [= float32]
      	 [ptr]
     *ast.BasicLit 	 [INT 0]
   3.case
     *ast.SelectorExpr 	 [jsoniter NilValue]
     *ast.ExprStmt -> *ast.CallExpr -> *ast.SelectorExpr 	 [iter ReadNil]
     *ast.AssignStmt -> *ast.StarExpr -> *ast.ParenExpr -> *ast.CallExpr -> *ast.ParenExpr -> *ast.StarExpr 	 [= float32]
      	 [ptr]
     *ast.BasicLit 	 [INT 0]

function name: Decode
   0.case
     *ast.SelectorExpr 	 [jsoniter NumberValue]
     *ast.AssignStmt -> *ast.StarExpr -> *ast.ParenExpr -> *ast.CallExpr -> *ast.ParenExpr -> *ast.StarExpr 	 [= float64]
      	 [ptr]
     *ast.CallExpr -> *ast.SelectorExpr 	 [iter ReadFloat64]
   1.case
     *ast.SelectorExpr 	 [jsoniter StringValue]
     *ast.AssignStmt -> *ast.CallExpr -> *ast.SelectorExpr 	 [= str iter ReadString]
     *ast.IfStmt -> *ast.BinaryExpr -> *ast.BasicLit 	 [== str STRING ""]
     *ast.BlockStmt -> *ast.AssignStmt -> *ast.StarExpr -> *ast.ParenExpr -> *ast.CallExpr -> *ast.ParenExpr -> *ast.StarExpr 	 [= float64]
      	 [ptr]
     *ast.BasicLit 	 [INT 0]
     *ast.ReturnStmt 	 []
     *ast.AssignStmt -> *ast.CallExpr -> *ast.SelectorExpr -> *ast.CallExpr -> *ast.SelectorExpr 	 [:= newIter iter Pool]
      	 [BorrowIterator]
     *ast.CallExpr -> *ast.ArrayType 	 [byte]
      	 [str]
     *ast.DeferStmt -> *ast.CallExpr -> *ast.SelectorExpr -> *ast.CallExpr -> *ast.SelectorExpr 	 [iter Pool]
      	 [ReturnIterator]
      	 [newIter]
     *ast.AssignStmt -> *ast.StarExpr -> *ast.ParenExpr -> *ast.CallExpr -> *ast.ParenExpr -> *ast.StarExpr 	 [= float64]
      	 [ptr]
     *ast.CallExpr -> *ast.SelectorExpr 	 [newIter ReadFloat64]
     *ast.IfStmt -> *ast.BinaryExpr -> *ast.BinaryExpr -> *ast.SelectorExpr 	 [&& != newIter Error]
      	 [nil]
     *ast.BinaryExpr -> *ast.SelectorExpr 	 [!= newIter Error]
     *ast.SelectorExpr 	 [io EOF]
     *ast.BlockStmt -> *ast.AssignStmt -> *ast.SelectorExpr 	 [= iter Error]
     *ast.SelectorExpr 	 [newIter Error]
   2.case
     *ast.SelectorExpr 	 [jsoniter BoolValue]
     *ast.IfStmt -> *ast.CallExpr -> *ast.SelectorExpr 	 [iter ReadBool]
     *ast.BlockStmt -> *ast.AssignStmt -> *ast.StarExpr -> *ast.ParenExpr -> *ast.CallExpr -> *ast.ParenExpr -> *ast.StarExpr 	 [= float64]
      	 [ptr]
     *ast.BasicLit 	 [INT 1]
     *ast.BlockStmt -> *ast.AssignStmt -> *ast.StarExpr -> *ast.ParenExpr -> *ast.CallExpr -> *ast.ParenExpr -> *ast.StarExpr 	 [= float64]
      	 [ptr]
     *ast.BasicLit 	 [INT 0]
   3.case
     *ast.SelectorExpr 	 [jsoniter NilValue]
     *ast.ExprStmt -> *ast.CallExpr -> *ast.SelectorExpr 	 [iter ReadNil]
     *ast.AssignStmt -> *ast.StarExpr -> *ast.ParenExpr -> *ast.CallExpr -> *ast.ParenExpr -> *ast.StarExpr 	 [= float64]
      	 [ptr]
     *ast.BasicLit 	 [INT 0]

