1 //
2 // Copyright 2017 The ANGLE Project Authors. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5 //
6 // Declarator.cpp:
7 // Declarator type for parsing structure field declarators.
8
9 #include "compiler/translator/Declarator.h"
10
11 namespace sh
12 {
13
TDeclarator(const ImmutableString & name,const TSourceLoc & line)14 TDeclarator::TDeclarator(const ImmutableString &name, const TSourceLoc &line)
15 : mName(name), mArraySizes(nullptr), mLine(line)
16 {
17 ASSERT(mName != "");
18 }
19
TDeclarator(const ImmutableString & name,const TVector<unsigned int> * arraySizes,const TSourceLoc & line)20 TDeclarator::TDeclarator(const ImmutableString &name,
21 const TVector<unsigned int> *arraySizes,
22 const TSourceLoc &line)
23 : mName(name), mArraySizes(arraySizes), mLine(line)
24 {
25 ASSERT(mArraySizes);
26 }
27
isArray() const28 bool TDeclarator::isArray() const
29 {
30 return mArraySizes != nullptr && mArraySizes->size() > 0;
31 }
32
33 } // namespace sh
34