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