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
|
# File 'lib/generators/generator_util.rb', line 66
def _process_type(type, klass)
raise ArgumentError if type.nil?
cached_type = @types[type.escaped_name]
return cached_type unless cached_type.nil?
return nil if is_template_param?(type.escaped_name, klass)
typename = type.escaped_name.dup
if is_template?(typename)
nested_typenames_for(typename).each{ |t|
nested_type = Doxyparser::Type.new({ name: t, dir: ""})
typename.gsub!(t, _process_type(nested_type, klass))
}
expanded_typename = typename
else
lookedup = lookup_typename(type, klass)
raise ArgumentError if lookedup.nil?
if is_template?(lookedup)
lookedup_escaped = escape_const_ref_ptr(lookedup)
lookedup_type = Doxyparser::Type.new({ name: lookedup_escaped, dir: ""})
expanded_typename = lookedup.gsub!(lookedup_escaped, _process_type(lookedup_type, klass))
else
expanded_typename = lookedup
end
end
escaped_typename = escape_const_ref_ptr(expanded_typename)
unless @all_types.has_key?(escaped_typename)
@all_types[escaped_typename] = 1
@types[type.name] = escaped_typename
end
return expanded_typename
end
|