xref: /aosp_15_r20/external/angle/src/compiler/preprocessor/SourceLocation.h (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker //
2*8975f5c5SAndroid Build Coastguard Worker // Copyright 2012 The ANGLE Project Authors. All rights reserved.
3*8975f5c5SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
4*8975f5c5SAndroid Build Coastguard Worker // found in the LICENSE file.
5*8975f5c5SAndroid Build Coastguard Worker //
6*8975f5c5SAndroid Build Coastguard Worker 
7*8975f5c5SAndroid Build Coastguard Worker #ifndef COMPILER_PREPROCESSOR_SOURCELOCATION_H_
8*8975f5c5SAndroid Build Coastguard Worker #define COMPILER_PREPROCESSOR_SOURCELOCATION_H_
9*8975f5c5SAndroid Build Coastguard Worker 
10*8975f5c5SAndroid Build Coastguard Worker namespace angle
11*8975f5c5SAndroid Build Coastguard Worker {
12*8975f5c5SAndroid Build Coastguard Worker 
13*8975f5c5SAndroid Build Coastguard Worker namespace pp
14*8975f5c5SAndroid Build Coastguard Worker {
15*8975f5c5SAndroid Build Coastguard Worker 
16*8975f5c5SAndroid Build Coastguard Worker struct SourceLocation
17*8975f5c5SAndroid Build Coastguard Worker {
SourceLocationSourceLocation18*8975f5c5SAndroid Build Coastguard Worker     SourceLocation() : file(0), line(0) {}
SourceLocationSourceLocation19*8975f5c5SAndroid Build Coastguard Worker     SourceLocation(int f, int l) : file(f), line(l) {}
20*8975f5c5SAndroid Build Coastguard Worker 
equalsSourceLocation21*8975f5c5SAndroid Build Coastguard Worker     bool equals(const SourceLocation &other) const
22*8975f5c5SAndroid Build Coastguard Worker     {
23*8975f5c5SAndroid Build Coastguard Worker         return (file == other.file) && (line == other.line);
24*8975f5c5SAndroid Build Coastguard Worker     }
25*8975f5c5SAndroid Build Coastguard Worker 
26*8975f5c5SAndroid Build Coastguard Worker     int file;
27*8975f5c5SAndroid Build Coastguard Worker     int line;
28*8975f5c5SAndroid Build Coastguard Worker };
29*8975f5c5SAndroid Build Coastguard Worker 
30*8975f5c5SAndroid Build Coastguard Worker inline bool operator==(const SourceLocation &lhs, const SourceLocation &rhs)
31*8975f5c5SAndroid Build Coastguard Worker {
32*8975f5c5SAndroid Build Coastguard Worker     return lhs.equals(rhs);
33*8975f5c5SAndroid Build Coastguard Worker }
34*8975f5c5SAndroid Build Coastguard Worker 
35*8975f5c5SAndroid Build Coastguard Worker inline bool operator!=(const SourceLocation &lhs, const SourceLocation &rhs)
36*8975f5c5SAndroid Build Coastguard Worker {
37*8975f5c5SAndroid Build Coastguard Worker     return !lhs.equals(rhs);
38*8975f5c5SAndroid Build Coastguard Worker }
39*8975f5c5SAndroid Build Coastguard Worker 
40*8975f5c5SAndroid Build Coastguard Worker }  // namespace pp
41*8975f5c5SAndroid Build Coastguard Worker 
42*8975f5c5SAndroid Build Coastguard Worker }  // namespace angle
43*8975f5c5SAndroid Build Coastguard Worker 
44*8975f5c5SAndroid Build Coastguard Worker #endif  // COMPILER_PREPROCESSOR_SOURCELOCATION_H_
45