Lines Matching refs:Designator
17 #include "clang/Sema/Designator.h"
25 /// of a designator. If we can tell it is impossible that it is a designator,
32 case tok::period: // designator: '.' identifier
35 case tok::l_square: { // designator: array-designator
69 // whether this is a C99 designator or a lambda.
77 // If this can't be a lambda capture list, it's a designator.
83 // token. If it's an '=', this is a designator. Otherwise, it's a
85 // GNU designator syntax, which allows one to omit the '=', but is
96 // If we have exactly one array designator, this used the GNU
97 // 'designation: array-designator' extension, otherwise there should be no
108 /// checking to see if the token stream starts with a designator.
111 /// designator-list '='
112 /// [GNU] array-designator
115 /// designator-list:
116 /// designator
117 /// designator-list designator
119 /// designator:
120 /// array-designator
123 /// array-designator:
135 // Handle it as a field designator. Otherwise, this must be the start of a
154 D.AddDesignator(Designator::getField(FieldName, SourceLocation(), NameLoc));
159 // Desig - This is initialized when we see our first designator. We may have
160 // an objc message send with no designator, so we don't want to create this
164 // Parse each designator in the designator list until we find an initializer.
167 // designator: '.' identifier
175 Desig.AddDesignator(Designator::getField(Tok.getIdentifierInfo(), DotLoc,
181 // We must have either an array designator now or an objc message send.
184 // Handle the two forms of array designator:
185 // array-designator: '[' constant-expression ']'
186 // array-designator: '[' constant-expression '...' constant-expression ']'
189 // designator an an objc message send: '[' objc-message-expr ']'.
192 // [foo] -> array designator
193 // [foo ... bar] -> array designator
198 // attribute. If it is a lambda-expression within an array-designator, then
244 // whether we have a message send or an array designator; just
316 // Given an expression, we could either have a designator (if the next
329 // If this is a normal array designator, remember it.
331 Desig.AddDesignator(Designator::getArray(Idx.get(), StartLoc));
342 Desig.AddDesignator(Designator::getArrayRange(Idx.get(),
352 // Okay, we're done with the designator sequence. We know that there must be
353 // at least one designator, because the only case we can get into this method
354 // without a designator is when we have an objc message send. That case is
356 assert(!Desig.empty() && "Designator is empty?");
358 // Handle a normal designator sequence end, which is an equal.
366 // an initializer. If we have exactly one array designator, this
367 // is the GNU 'designation: array-designator' extension. Otherwise, it is a