github.com/jhump/protoreflect@v1.16.0/desc/protoparse/ast/no_source.go (about) 1 package ast 2 3 // UnknownPos is a placeholder position when only the source file 4 // name is known. 5 func UnknownPos(filename string) *SourcePos { 6 return &SourcePos{Filename: filename} 7 } 8 9 // NoSourceNode is a placeholder AST node that implements numerous 10 // interfaces in this package. It can be used to represent an AST 11 // element for a file whose source is not available. 12 type NoSourceNode struct { 13 pos *SourcePos 14 } 15 16 // NewNoSourceNode creates a new NoSourceNode for the given filename. 17 func NewNoSourceNode(filename string) NoSourceNode { 18 return NoSourceNode{pos: UnknownPos(filename)} 19 } 20 21 func (n NoSourceNode) Start() *SourcePos { 22 return n.pos 23 } 24 25 func (n NoSourceNode) End() *SourcePos { 26 return n.pos 27 } 28 29 func (n NoSourceNode) LeadingComments() []Comment { 30 return nil 31 } 32 33 func (n NoSourceNode) TrailingComments() []Comment { 34 return nil 35 } 36 37 func (n NoSourceNode) GetSyntax() Node { 38 return n 39 } 40 41 func (n NoSourceNode) GetName() Node { 42 return n 43 } 44 45 func (n NoSourceNode) GetValue() ValueNode { 46 return n 47 } 48 49 func (n NoSourceNode) FieldLabel() Node { 50 return n 51 } 52 53 func (n NoSourceNode) FieldName() Node { 54 return n 55 } 56 57 func (n NoSourceNode) FieldType() Node { 58 return n 59 } 60 61 func (n NoSourceNode) FieldTag() Node { 62 return n 63 } 64 65 func (n NoSourceNode) FieldExtendee() Node { 66 return n 67 } 68 69 func (n NoSourceNode) GetGroupKeyword() Node { 70 return n 71 } 72 73 func (n NoSourceNode) GetOptions() *CompactOptionsNode { 74 return nil 75 } 76 77 func (n NoSourceNode) RangeStart() Node { 78 return n 79 } 80 81 func (n NoSourceNode) RangeEnd() Node { 82 return n 83 } 84 85 func (n NoSourceNode) GetNumber() Node { 86 return n 87 } 88 89 func (n NoSourceNode) MessageName() Node { 90 return n 91 } 92 93 func (n NoSourceNode) GetInputType() Node { 94 return n 95 } 96 97 func (n NoSourceNode) GetOutputType() Node { 98 return n 99 } 100 101 func (n NoSourceNode) Value() interface{} { 102 return nil 103 }