Tracks preprocessor macro usage Attributes: name Name of the macro usefile useline usecolumn isKnownValue
| 95 | ) |
| 96 | |
| 97 | class MacroUsage: |
| 98 | """ |
| 99 | Tracks preprocessor macro usage |
| 100 | |
| 101 | Attributes: |
| 102 | name Name of the macro |
| 103 | usefile |
| 104 | useline |
| 105 | usecolumn |
| 106 | isKnownValue |
| 107 | """ |
| 108 | #preprocessor.cpp/Preprocessor::dump |
| 109 | |
| 110 | name = None # Macro name |
| 111 | file = None |
| 112 | linenr = None |
| 113 | column = None |
| 114 | usefile = None |
| 115 | uselinenr = None |
| 116 | usecolumn = None |
| 117 | |
| 118 | def __init__(self, element): |
| 119 | self.name = element.get('name') |
| 120 | _load_location(self, element) |
| 121 | self.usefile = element.get('usefile') |
| 122 | self.useline = element.get('useline') |
| 123 | self.usecolumn = element.get('usecolumn') |
| 124 | self.isKnownValue = element.get('is-known-value', 'false') == 'true' |
| 125 | |
| 126 | def __repr__(self): |
| 127 | attrs = ["name", "file", "linenr", "column", "usefile", "useline", "usecolumn", "isKnownValue"] |
| 128 | return "{}({})".format( |
| 129 | "MacroUsage", |
| 130 | ", ".join(("{}={}".format(a, repr(getattr(self, a))) for a in attrs)) |
| 131 | ) |
| 132 | |
| 133 | |
| 134 | class PreprocessorIfCondition: |