var java_class: JavaClass
var nb_params: Int
var module_name: String
- fun code_warehouse: CodeWarehouse do return once new CodeWarehouse
init (file_name: String, jclass: JavaClass, with_attributes, comment: Bool)
do
end
end
-# Contains raw code mostly used to copy collections
-class CodeWarehouse
-
- private fun create_imports(nit_type: NitType, is_param: Bool): String
- do
- var imports = ""
- var ntype = nit_type.to_s
- var gen_type = nit_type.generic_params.join(", ")
-
- if not is_param then
- if nit_type.is_map then
- imports = """ import {{{ntype}}}, {{{ntype}}}.[]="""
- else
- imports = """ import {{{ntype}}}, {{{ntype}}}.add"""
- end
- else if nit_type.id == "Array" then
- imports = """ import {{{ntype}}}, {{{ntype}}}.length, {{{ntype}}}.[]"""
- else if nit_type.is_map then
- imports = """ import {{{ntype}}}.iterator, Iterator[{{{gen_type}}}].is_ok, Iterator[{{{gen_type}}}].next, Iterator[{{{gen_type}}}].item, Iterator[{{{gen_type}}}].key"""
- else
- imports = """ import {{{ntype}}}.iterator, Iterator[{{{gen_type}}}].is_ok, Iterator[{{{gen_type}}}].next, Iterator[{{{gen_type}}}].item"""
- end
-
- return imports
- end
-end
-
redef class String
# Convert the Java method name `self` to the Nit style
#
fun is_collection: Bool do return is_primitive_array or collections_list.has(self.id)
- fun is_map: Bool do return maps.has(self.id)
-
fun is_wrapped: Bool do return find_extern_class != null
fun extern_name: NitType
var is_complete: Bool = true
fun has_generic_params: Bool do return not generic_params == null
- fun maps: Array[String] is cached do return ["HashMap", "RBTreeMap"]
fun id: String do return identifier
self.mod = mod
end
- fun is_map: Bool do return maps.has(self.identifier)
-
redef fun to_s: String
do
var id = self.identifier