function _processTypeString(type, builder) {
	if ( type && Array.isArray(type.names) ) {
		type = type.names.join('|');
	}
	if ( type ) {
		try {
			return typeParser.parse( type, builder ).str;
		} catch (e) {
			error("failed to parse type string '" + type + "': " + e);
			return type;
		}
	}
}
function _processTypeString(type, builder) {
	if ( type && Array.isArray(type.names) ) {
		type = type.names.join('|');
	}
	if ( type ) {
		try {
			return typeParser.parse( type, builder ).str;
		} catch (e) {
			error("failed to parse type string '" + type + "': " + e);
			return type;
		}
	}
}
function _processTypeString ( type , builder ) { if ( type && Array . isArray ( type . names ) ) { type = type . names . join ( '|' ) ; } if ( type ) { try { return typeParser . parse ( type , builder ) . str ; } catch ( e ) { error ( "failed to parse type string '" + type + "': " + e ) ; return type ; } } }
/*
function testTypeParser(type) {
debug("Type: '" + type + "' gives AST");
try {
console.log(typeParser.parse(type));
} catch (e) {
error("**** throws: " + e);
}
}

testTypeParser("Array.<string>");
testTypeParser("Array<string>");
testTypeParser("Object.<string>");
testTypeParser("Object<string>");
testTypeParser("function(...string):Set<string>");
testTypeParser("{a:int,b,c:float,d,e}");
/ * function testTypeParser ( type ) { debug ( Type : + type + gives AST ) ; try { console . log ( typeParser . parse ( type )) ; } catch ( e ) { error ( **** throws : + e ) ; } }
Process a type string