The base class for all type management classes. RbGCCXML has a pretty extensive type querying sub-system that allows type matching by names, types, base types, etc
Methods
Public Instance methods
Get the base type without any qualifiers. E.g, if you‘ve got the CvQualifiedType "const my_space::MyClass&, this will return the Node for "my_space::MyClass"
returns: Node related to the base C++ construct of this type
[ show source ]
# File lib/rbgccxml/nodes/type.rb, line 23
23: def base_type
24: n = NodeCache.find(attributes["type"])
25: n.is_a?(Type) ? n.base_type : n
26: end
For types like pointers or references, we recursively track down the base type when doing comparisons.
delim needs to be a regex
[ show source ]
# File lib/rbgccxml/nodes/type.rb, line 12
12: def check_sub_type_without(val, delim)
13: return false unless val =~ delim
14: new_val = val.gsub(delim, "").strip
15: NodeCache.find(attributes["type"]) == new_valu
16: end
Is this type const qualified?
[ show source ]
# File lib/rbgccxml/nodes/type.rb, line 30
30: def const?
31: found = NodeCache.find(attributes["type"])
32: found ? found.const? : false
33: end