xref: /aosp_15_r20/frameworks/base/tools/aapt/SourcePos.h (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1*d57664e9SAndroid Build Coastguard Worker #ifndef SOURCEPOS_H
2*d57664e9SAndroid Build Coastguard Worker #define SOURCEPOS_H
3*d57664e9SAndroid Build Coastguard Worker 
4*d57664e9SAndroid Build Coastguard Worker #include <utils/String8.h>
5*d57664e9SAndroid Build Coastguard Worker #include <stdio.h>
6*d57664e9SAndroid Build Coastguard Worker 
7*d57664e9SAndroid Build Coastguard Worker using namespace android;
8*d57664e9SAndroid Build Coastguard Worker 
9*d57664e9SAndroid Build Coastguard Worker class SourcePos
10*d57664e9SAndroid Build Coastguard Worker {
11*d57664e9SAndroid Build Coastguard Worker public:
12*d57664e9SAndroid Build Coastguard Worker     String8 file;
13*d57664e9SAndroid Build Coastguard Worker     int line;
14*d57664e9SAndroid Build Coastguard Worker 
15*d57664e9SAndroid Build Coastguard Worker     SourcePos(const String8& f, int l);
16*d57664e9SAndroid Build Coastguard Worker     SourcePos(const SourcePos& that);
17*d57664e9SAndroid Build Coastguard Worker     SourcePos();
18*d57664e9SAndroid Build Coastguard Worker     ~SourcePos();
19*d57664e9SAndroid Build Coastguard Worker 
20*d57664e9SAndroid Build Coastguard Worker     void error(const char* fmt, ...) const;
21*d57664e9SAndroid Build Coastguard Worker     void warning(const char* fmt, ...) const;
22*d57664e9SAndroid Build Coastguard Worker     void printf(const char* fmt, ...) const;
23*d57664e9SAndroid Build Coastguard Worker 
24*d57664e9SAndroid Build Coastguard Worker     bool operator<(const SourcePos& rhs) const;
25*d57664e9SAndroid Build Coastguard Worker 
26*d57664e9SAndroid Build Coastguard Worker     static bool hasErrors();
27*d57664e9SAndroid Build Coastguard Worker     static void printErrors(FILE* to);
28*d57664e9SAndroid Build Coastguard Worker };
29*d57664e9SAndroid Build Coastguard Worker 
30*d57664e9SAndroid Build Coastguard Worker 
31*d57664e9SAndroid Build Coastguard Worker #endif // SOURCEPOS_H
32