+
+ # Convert to a safe Nit name for a `property`, a property in a subclass of `pointer` or a variable
+ private fun to_nit_name(property, pointer: nullable Bool): String
+ do
+ var name = to_s
+ name = name.to_snake_case
+
+ while not name.is_empty and name.chars.first == '_' do name = name.substring_from(1)
+
+ if keywords.has(name) then name = name + "0"
+
+ if property == true then
+ if methods_in_object.has(name) then name = name + "0"
+ if pointer == true and methods_in_pointer.has(name) then name = name + "0"
+ end
+
+ return name.to_s
+ end