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  }