xref: /aosp_15_r20/external/angle/src/compiler/preprocessor/SourceLocation.h (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1 //
2 // Copyright 2012 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 
7 #ifndef COMPILER_PREPROCESSOR_SOURCELOCATION_H_
8 #define COMPILER_PREPROCESSOR_SOURCELOCATION_H_
9 
10 namespace angle
11 {
12 
13 namespace pp
14 {
15 
16 struct SourceLocation
17 {
SourceLocationSourceLocation18     SourceLocation() : file(0), line(0) {}
SourceLocationSourceLocation19     SourceLocation(int f, int l) : file(f), line(l) {}
20 
equalsSourceLocation21     bool equals(const SourceLocation &other) const
22     {
23         return (file == other.file) && (line == other.line);
24     }
25 
26     int file;
27     int line;
28 };
29 
30 inline bool operator==(const SourceLocation &lhs, const SourceLocation &rhs)
31 {
32     return lhs.equals(rhs);
33 }
34 
35 inline bool operator!=(const SourceLocation &lhs, const SourceLocation &rhs)
36 {
37     return !lhs.equals(rhs);
38 }
39 
40 }  // namespace pp
41 
42 }  // namespace angle
43 
44 #endif  // COMPILER_PREPROCESSOR_SOURCELOCATION_H_
45