function() {
      var t = this;

      var p;
      if (!this.__opened) {
        this.__opened = true;

        var resManager = null;
        if (this.isProcessResources()) {
          resManager = new qx.tool.compiler.resources.Manager(this);
        }
        this.__resManager = resManager;
        p = Promise.all(
            [ 
              util.promisifyThis(t.loadDatabase, t),
              new Promise((resolve, reject) => {
                if (resManager) {
                  log.debug("Loading resource database");
                  return util.promisifyThis(resManager.loadDatabase, resManager)
                    .then(resolve)
                    .catch(reject);
                }
                resolve();
                return undefined;
              })
            ]);
      } else {
        p = Promise.resolve(); 
      }

      return p.then(() => {
          log.debug("Scanning source code");
          return util.promisifyThis(t.initialScan, t);
        })
        .then(() => {
          log.debug("Saving database");
          return t.saveDatabase();
        });
    }
function() {
      var t = this;

      var p;
      if (!this.__opened) {
        this.__opened = true;

        var resManager = null;
        if (this.isProcessResources()) {
          resManager = new qx.tool.compiler.resources.Manager(this);
        }
        this.__resManager = resManager;
        p = Promise.all(
            [ 
              util.promisifyThis(t.loadDatabase, t),
              new Promise((resolve, reject) => {
                if (resManager) {
                  log.debug("Loading resource database");
                  return util.promisifyThis(resManager.loadDatabase, resManager)
                    .then(resolve)
                    .catch(reject);
                }
                resolve();
                return undefined;
              })
            ]);
      } else {
        p = Promise.resolve(); 
      }

      return p.then(() => {
          log.debug("Scanning source code");
          return util.promisifyThis(t.initialScan, t);
        })
        .then(() => {
          log.debug("Saving database");
          return t.saveDatabase();
        });
    }
function ( ) { var t = this ; var p ; if ( ! this . __opened ) { this . __opened = true ; var resManager = null ; if ( this . isProcessResources ( ) ) { resManager = new qx . tool . compiler . resources . Manager ( this ) ; } this . __resManager = resManager ; p = Promise . all ( [ util . promisifyThis ( t . loadDatabase , t ) , new Promise ( ( resolve , reject ) => { if ( resManager ) { log . debug ( "Loading resource database" ) ; return util . promisifyThis ( resManager . loadDatabase , resManager ) . then ( resolve ) . catch ( reject ) ; } resolve ( ) ; return undefined ; } ) ] ) ; } else { p = Promise . resolve ( ) ; } return p . then ( ( ) => { log . debug ( "Scanning source code" ) ; return util . promisifyThis ( t . initialScan , t ) ; } ) . then ( ( ) => { log . debug ( "Saving database" ) ; return t . saveDatabase ( ) ; } ) ; }
Opens the analyser, loads database etc

@async
Opens the analyser loads database etc