visitExceptions()

in lib/generator.js [2215:2233]


  visitExceptions(ast, filepath, level) {
    const exceptions = ast.moduleBody.nodes.filter((item) => {
      return item.type === 'exception';
    });
    const exDir = path.join(path.dirname(filepath), 'Exceptions');
    for (let i = 0; i < exceptions.length; i++) {
      this.used.push('System');
      this.used.push('System.IO');
      this.used.push('System.Collections');
      this.used.push('System.Collections.Generic');
      const exceptionName = _avoidReserveName(exceptions[i].exceptionName.lexeme);
      const realExceptionName = `${exceptionName}Exception`;
      this.fileName = realExceptionName;
      this.eachException(exceptions[i], realExceptionName, level + 1);
      this.exceptionAfter();
      const modelFilePath = path.join(exDir, `${this.fileName ? this.fileName : exceptionName}.cs`);
      this.save(modelFilePath);
    }
  }