blob: 1d859eac3274a44b956e5d559cb1ed2dd8843ae1 [file] [log] [blame]
Zack Williamse940c7a2019-08-21 14:25:39 -07001package jsoniter
2
3import "fmt"
4
5type invalidAny struct {
6 baseAny
7 err error
8}
9
10func newInvalidAny(path []interface{}) *invalidAny {
11 return &invalidAny{baseAny{}, fmt.Errorf("%v not found", path)}
12}
13
14func (any *invalidAny) LastError() error {
15 return any.err
16}
17
18func (any *invalidAny) ValueType() ValueType {
19 return InvalidValue
20}
21
22func (any *invalidAny) MustBeValid() Any {
23 panic(any.err)
24}
25
26func (any *invalidAny) ToBool() bool {
27 return false
28}
29
30func (any *invalidAny) ToInt() int {
31 return 0
32}
33
34func (any *invalidAny) ToInt32() int32 {
35 return 0
36}
37
38func (any *invalidAny) ToInt64() int64 {
39 return 0
40}
41
42func (any *invalidAny) ToUint() uint {
43 return 0
44}
45
46func (any *invalidAny) ToUint32() uint32 {
47 return 0
48}
49
50func (any *invalidAny) ToUint64() uint64 {
51 return 0
52}
53
54func (any *invalidAny) ToFloat32() float32 {
55 return 0
56}
57
58func (any *invalidAny) ToFloat64() float64 {
59 return 0
60}
61
62func (any *invalidAny) ToString() string {
63 return ""
64}
65
66func (any *invalidAny) WriteTo(stream *Stream) {
67}
68
69func (any *invalidAny) Get(path ...interface{}) Any {
70 if any.err == nil {
71 return &invalidAny{baseAny{}, fmt.Errorf("get %v from invalid", path)}
72 }
73 return &invalidAny{baseAny{}, fmt.Errorf("%v, get %v from invalid", any.err, path)}
74}
75
76func (any *invalidAny) Parse() *Iterator {
77 return nil
78}
79
80func (any *invalidAny) GetInterface() interface{} {
81 return nil
82}