DecodeSourceFile decodes binary-encoded data into an *ast.SourceFile.
(data []byte)
| 31 | |
| 32 | // DecodeSourceFile decodes binary-encoded data into an *ast.SourceFile. |
| 33 | func DecodeSourceFile(data []byte) (*ast.SourceFile, error) { |
| 34 | node, err := DecodeNodes(data) |
| 35 | if err != nil { |
| 36 | return nil, err |
| 37 | } |
| 38 | if node.Kind != ast.KindSourceFile { |
| 39 | return nil, fmt.Errorf("expected SourceFile root, got %v", node.Kind) |
| 40 | } |
| 41 | return node.AsSourceFile(), nil |
| 42 | } |
| 43 | |
| 44 | // DecodeNodes decodes binary-encoded AST data into a tree of *ast.Node objects. |
| 45 | func DecodeNodes(data []byte) (*ast.Node, error) { |