This file is indexed.

/usr/lib/python3/dist-packages/pygccxml/declarations/__init__.py is in python3-pygccxml 1.8.0-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
# Copyright 2014-2016 Insight Software Consortium.
# Copyright 2004-2008 Roman Yakovenko.
# Distributed under the Boost Software License, Version 1.0.
# See http://www.boost.org/LICENSE_1_0.txt

"""
Contains classes that describe different C++ declarations

"""

# Keep compilers for backward compatibility
from . import xml_generators as compilers
from . import xml_generators

from .location import location_t
from .declaration import declaration_t
from .scopedef import scopedef_t
from .enumeration import enumeration_t
from .typedef import typedef_t

from .namespace import namespace_t
from .namespace import get_global_namespace

from .class_declaration import class_t
from .class_declaration import CLASS_TYPES
from .class_declaration import ACCESS_TYPES
from .class_declaration import hierarchy_info_t
from .class_declaration import class_declaration_t
from .class_declaration import class_types
from .class_declaration import dependency_info_t

from .cpptypes import type_t
from .cpptypes import dummy_type_t
from .cpptypes import unknown_t
from .cpptypes import ellipsis_t
from .cpptypes import fundamental_t
from .cpptypes import void_t
from .cpptypes import char_t
from .cpptypes import signed_char_t
from .cpptypes import unsigned_char_t
from .cpptypes import wchar_t
from .cpptypes import short_int_t
from .cpptypes import short_unsigned_int_t
from .cpptypes import bool_t
from .cpptypes import int_t
from .cpptypes import unsigned_int_t
from .cpptypes import long_int_t
from .cpptypes import long_unsigned_int_t
from .cpptypes import long_long_int_t
from .cpptypes import long_long_unsigned_int_t
from .cpptypes import int128_t
from .cpptypes import uint128_t
from .cpptypes import float_t
from .cpptypes import double_t
from .cpptypes import long_double_t
from .cpptypes import FUNDAMENTAL_TYPES
from .cpptypes import compound_t
from .cpptypes import volatile_t
from .cpptypes import const_t
from .cpptypes import pointer_t
from .cpptypes import reference_t
from .cpptypes import restrict_t
from .cpptypes import array_t
from .cpptypes import calldef_type_t
from .cpptypes import free_function_type_t
from .cpptypes import member_function_type_t
from .cpptypes import member_variable_type_t
from .cpptypes import declarated_t
from .cpptypes import type_qualifiers_t
# java types
from .cpptypes import java_fundamental_t
from .cpptypes import jbyte_t
from .cpptypes import jshort_t
from .cpptypes import jint_t
from .cpptypes import jlong_t
from .cpptypes import jfloat_t
from .cpptypes import jdouble_t
from .cpptypes import jchar_t
from .cpptypes import jboolean_t

from .variable import variable_t

from .declaration_utils import full_name
from .declaration_utils import full_name_from_declaration_path
from .declaration_utils import declaration_path
from .declaration_utils import get_named_parent

from .scopedef import make_flatten
from .scopedef import find_declaration
from .scopedef import find_all_declarations
from .scopedef import find_first_declaration
from .scopedef import declaration_files
from .scopedef import matcher

from .algorithm import apply_visitor
from .algorithm import match_declaration_t
from .algorithm import visit_function_has_not_been_found_t

from .calldef_types import VIRTUALITY_TYPES
from .calldef_types import FUNCTION_VIRTUALITY_TYPES
from .calldef_types import CALLING_CONVENTION_TYPES

from .calldef import argument_t
from .calldef import calldef_t
from .calldef_members import member_calldef_t
from .calldef_members import operator_t
from .calldef_members import member_function_t
from .calldef_members import constructor_t
from .calldef_members import destructor_t
from .calldef_members import member_operator_t
from .calldef_members import casting_operator_t

from .free_calldef import free_calldef_t
from .free_calldef import free_function_t
from .free_calldef import free_operator_t

from .decl_visitor import decl_visitor_t
from .type_visitor import type_visitor_t

from .type_traits import decompose_type
from .type_traits import decompose_class
from .type_traits import base_type

from .type_traits import is_bool
from .type_traits import is_same
from .type_traits import is_void
from .type_traits import is_void_pointer
from .type_traits import is_const
from .type_traits import is_array
from .type_traits import is_pointer
from .type_traits import is_volatile
from .type_traits import is_integral
from .type_traits import is_reference
from .type_traits import is_arithmetic
from .type_traits import is_fundamental
from .type_traits import is_floating_point
from .type_traits import is_std_string
from .type_traits import is_std_wstring
from .type_traits import is_std_ostream
from .type_traits import is_std_wostream
from .type_traits import is_calldef_pointer

from .type_traits import array_size
from .type_traits import array_item_type

from .type_traits import remove_cv
from .type_traits import remove_const
from .type_traits import remove_pointer
from .type_traits import remove_volatile
from .type_traits import remove_reference
from .type_traits import remove_declarated
from .type_traits import remove_alias

from .has_operator_matcher import has_public_binary_operator
from .has_operator_matcher import has_public_equal
from .has_operator_matcher import has_public_less

from .type_traits_classes import is_enum
from .type_traits_classes import enum_declaration
from .type_traits_classes import enum_traits
from .type_traits_classes import is_class
from .type_traits_classes import class_traits
from .type_traits_classes import is_class_declaration
from .type_traits_classes import class_declaration_traits
from .type_traits_classes import is_base_and_derived
from .type_traits_classes import is_convertible
from .type_traits_classes import is_noncopyable
from .type_traits_classes import is_copy_constructor
from .type_traits_classes import is_trivial_constructor
from .type_traits_classes import is_union

from .type_traits_classes import is_unary_operator
from .type_traits_classes import is_binary_operator

from .type_traits_classes import has_destructor
from .type_traits_classes import has_copy_constructor

from .type_traits_classes import has_public_assign
from .type_traits_classes import has_public_destructor
from .type_traits_classes import has_public_constructor
from .type_traits_classes import has_trivial_constructor
from .type_traits_classes import find_trivial_constructor
from .type_traits_classes import find_copy_constructor
from .type_traits_classes import find_noncopyable_vars
from .type_traits_classes import has_any_non_copyconstructor
from .type_traits_classes import has_vtable

from .smart_pointer_traits import auto_ptr_traits
from .smart_pointer_traits import smart_pointer_traits
from .smart_pointer_traits import internal_type_traits

from .container_traits import list_traits
from .container_traits import deque_traits
from .container_traits import queue_traits
from .container_traits import priority_queue_traits
from .container_traits import vector_traits
from .container_traits import stack_traits
from .container_traits import map_traits
from .container_traits import multimap_traits
from .container_traits import hash_map_traits
from .container_traits import hash_multimap_traits
from .container_traits import set_traits
from .container_traits import hash_set_traits
from .container_traits import multiset_traits
from .container_traits import hash_multiset_traits
from .container_traits import find_container_traits

from .container_traits import unordered_map_traits
from .container_traits import unordered_multimap_traits
from .container_traits import unordered_set_traits
from .container_traits import unordered_multiset_traits

from .function_traits import is_same_function

from . import templates
from . import call_invocation

from .decl_factory import decl_factory_t

from .matchers import matcher_base_t
from .matchers import or_matcher_t
from .matchers import and_matcher_t
from .matchers import not_matcher_t
from .matchers import regex_matcher_t
from .matchers import custom_matcher_t
from .matchers import access_type_matcher_t
from .matchers import virtuality_type_matcher_t

from .declarations_matchers import declaration_matcher_t
from .declarations_matchers import calldef_matcher_t
from .declarations_matchers import namespace_matcher_t
from .declarations_matchers import variable_matcher_t
from .declarations_matchers import operator_matcher_t

from .mdecl_wrapper import mdecl_wrapper_t

from .decl_printer import decl_printer_t
from .decl_printer import dump_declarations
from .decl_printer import print_declarations

from . import scopedef

all_container_traits = container_traits.container_traits
"""tuple of all STD container traits classes"""

sequential_container_traits = [
    list_traits,
    deque_traits,
    queue_traits,
    priority_queue_traits,
    vector_traits,
    stack_traits,
    set_traits,
    hash_set_traits,
    multiset_traits,
    hash_multiset_traits]
"""list, that contains all STD container traits classes"""

# make matchers to look more like functors
or_matcher = or_matcher_t
"""see :class:`or_matcher_t` for documentation"""
and_matcher = and_matcher_t
"""see :class:`and_matcher_t` for documentation"""
not_matcher = not_matcher_t
"""see :class:`not_matcher_t` for documentation"""
declaration_matcher = declaration_matcher_t
"""see :class:`declaration_matcher_t` for documentation"""
calldef_matcher = calldef_matcher_t
"""see :class:`calldef_matcher_t` for documentation"""
namespace_matcher = namespace_matcher_t
"""see :class:`namespace_matcher_t` for documentation"""
variable_matcher = variable_matcher_t
"""see :class:`variable_matcher_t` for documentation"""
regex_matcher = regex_matcher_t
"""see :class:`regex_matcher_t` for documentation"""
access_type_matcher = access_type_matcher_t
"""see :class:`access_type_matcher_t` for documentation"""
operator_matcher = operator_matcher_t
"""see :class:`operator_matcher_t` for documentation"""
custom_matcher = custom_matcher_t
"""see :class:`custom_matcher_t` for documentation"""
virtuality_type_matcher = virtuality_type_matcher_t
"""see :class:`virtuality_type_matcher_t` for documentation"""

scopedef.scopedef_t._impl_all_decl_types = [
    scopedef.scopedef_t,
    enumeration_t,
    namespace_t,
    class_t,
    class_declaration_t,
    typedef_t,
    variable_t,
    calldef_t,
    member_calldef_t,
    free_calldef_t,
    operator_t,
    member_function_t,
    constructor_t,
    destructor_t,
    member_operator_t,
    casting_operator_t,
    free_function_t,
    free_operator_t]

__impl_matchers = scopedef.scopedef_t._impl_matchers
__impl_decl_types = scopedef.scopedef_t._impl_decl_types

__impl_matchers[scopedef.scopedef_t.decl] = declaration_matcher_t

__impl_matchers[scopedef.scopedef_t.class_] = declaration_matcher_t
__impl_decl_types[scopedef.scopedef_t.class_] = class_t

__impl_matchers[scopedef.scopedef_t.variable] = variable_matcher_t

__impl_matchers[scopedef.scopedef_t.calldef] = calldef_matcher_t
__impl_decl_types[scopedef.scopedef_t.calldef] = calldef_t

__impl_matchers[scopedef.scopedef_t.operator] = operator_matcher_t
__impl_decl_types[scopedef.scopedef_t.operator] = operator_t

__impl_matchers[scopedef.scopedef_t.member_function] = calldef_matcher_t
__impl_decl_types[scopedef.scopedef_t.member_function] = member_function_t

__impl_matchers[scopedef.scopedef_t.constructor] = calldef_matcher_t
__impl_decl_types[scopedef.scopedef_t.constructor] = constructor_t

__impl_matchers[scopedef.scopedef_t.member_operator] = operator_matcher_t
__impl_decl_types[scopedef.scopedef_t.member_operator] = member_operator_t

__impl_matchers[scopedef.scopedef_t.member_operator] = operator_matcher_t
__impl_decl_types[scopedef.scopedef_t.member_operator] = member_operator_t

__impl_matchers[scopedef.scopedef_t.casting_operator] = calldef_matcher_t
__impl_decl_types[scopedef.scopedef_t.casting_operator] = casting_operator_t

__impl_matchers[scopedef.scopedef_t.enumeration] = declaration_matcher_t
__impl_decl_types[scopedef.scopedef_t.enumeration] = enumeration_t

__impl_matchers[scopedef.scopedef_t.typedef] = declaration_matcher_t
__impl_decl_types[scopedef.scopedef_t.typedef] = typedef_t

__impl_matchers[namespace_t.namespace] = namespace_matcher_t

__impl_matchers[namespace_t.free_function] = calldef_matcher_t
__impl_decl_types[namespace_t.free_function] = free_function_t

__impl_matchers[namespace_t.free_operator] = operator_matcher_t
__impl_decl_types[namespace_t.free_operator] = free_operator_t