in src/docgen/transpile/java.ts [83:114]
public type(type: reflect.Type): transpile.TranspiledType {
const submodule = this.findSubmodule(type);
const moduleLike = this.moduleLike(submodule ? submodule : type.assembly);
const fqn = [];
let namespace = type.namespace;
if (namespace) {
if (submodule && moduleLike.submodule) {
// if the type is in a submodule, submodule.name is a substring of the namespace
// so we update that part with the language-specific submodule string
fqn.push(namespace.replace(submodule.name, moduleLike.submodule));
} else {
fqn.push(moduleLike.name);
fqn.push(namespace);
}
} else {
fqn.push(moduleLike.name);
}
fqn.push(type.name);
return new transpile.TranspiledType({
fqn: fqn.join('.'),
name: type.name,
namespace: namespace,
module: moduleLike.name,
submodule: moduleLike.submodule,
submodulePath: submodulePath(submodule),
source: type,
language: this.language,
});
}