function createNamespaceTree() {

	info(`create namespace tree (${__db().count()} symbols)`);

	const aRootNamespaces = [];
	const aTypes = __db(function() { return isFirstClassSymbol(this); }).get();

	for (let i = 0; i < aTypes.length; i++) { // loop with a for-loop as it can handle concurrent modifications

		const symbol = aTypes[i];
		if ( symbol.memberof ) {

			let parent = lookup(symbol.memberof);
			if ( !parent ) {
				warning(`create missing namespace '${symbol.memberof}' (referenced by ${symbol.longname})`);
				parent = makeNamespace(symbol.memberof);
				__longnames[symbol.memberof] = parent;
				__db.insert(parent);
				aTypes.push(parent); // concurrent modification: parent will be processed later in this loop
			}
			symbol.__ui5.parent = parent;
			parent.__ui5.children = parent.__ui5.children || [];
			parent.__ui5.children.push(symbol);

		} else if ( symbol.longname !== ANONYMOUS_LONGNAME ) {

			aRootNamespaces.push(symbol);

		}
	}

	return aRootNamespaces;
}
/*
 * Completes the tree of namespaces. Namespaces for which content is available
 * but which have not been documented are created as dummy without documentation.
 */
Completes the tree of namespaces. Namespaces for which content is available
but which have not been documented are created as dummy without documentation.
Completes the tree of namespaces . Namespaces for which content is available but which have not been documented are created as dummy without documentation .
function createNamespaceTree() {
	info(`create namespace tree (${__db().count()} symbols)`);
	const aRootNamespaces = [];
	const aTypes = __db(function() { return isFirstClassSymbol(this); }).get();
	for (let i = 0; i < aTypes.length; i++) { 
		const symbol = aTypes[i];
		if ( symbol.memberof ) {
			let parent = lookup(symbol.memberof);
			if ( !parent ) {
				warning(`create missing namespace '${symbol.memberof}' (referenced by ${symbol.longname})`);
				parent = makeNamespace(symbol.memberof);
				__longnames[symbol.memberof] = parent;
				__db.insert(parent);
				aTypes.push(parent); 
			}
			symbol.__ui5.parent = parent;
			parent.__ui5.children = parent.__ui5.children || [];
			parent.__ui5.children.push(symbol);
		} else if ( symbol.longname !== ANONYMOUS_LONGNAME ) {
			aRootNamespaces.push(symbol);
		}
	}
	return aRootNamespaces;
}
function createNamespaceTree ( ) { info ( ` ${ __db ( ) . count ( ) } ` ) ; const aRootNamespaces = [ ] ; const aTypes = __db ( function ( ) { return isFirstClassSymbol ( this ) ; } ) . get ( ) ; for ( let i = 0 ; i < aTypes . length ; i ++ ) { const symbol = aTypes [ i ] ; if ( symbol . memberof ) { let parent = lookup ( symbol . memberof ) ; if ( ! parent ) { warning ( ` ${ symbol . memberof } ${ symbol . longname } ` ) ; parent = makeNamespace ( symbol . memberof ) ; __longnames [ symbol . memberof ] = parent ; __db . insert ( parent ) ; aTypes . push ( parent ) ; } symbol . __ui5 . parent = parent ; parent . __ui5 . children = parent . __ui5 . children || [ ] ; parent . __ui5 . children . push ( symbol ) ; } else if ( symbol . longname !== ANONYMOUS_LONGNAME ) { aRootNamespaces . push ( symbol ) ; } } return aRootNamespaces ; }
Completes the tree of namespaces.
Completes the tree of namespaces .
// loop with a for-loop as it can handle concurrent modifications // concurrent modification: parent will be processed later in this loop