docs: function (processStatement, processErrors) {
          /**
           * Callback used to process a single statement in the content
           * @type aria.core.CfgBeans:Callback
           * @protected
           */
          this._processStatement = processStatement;
  
          /**
           * Callback used to process errors
           * @type aria.core.CfgBeans:Callback
           * @protected
           */
          this._processErrors = processErrors;
  
          /**
           * Current indentation string. Used when writing a line
           * @type String
           * @protected
           */
          this._curindent = '';
  
          /**
           * Text used for indentation (null to disable)
           * @type String
           */
          this.indentUnit = ' ';
  
          /**
           * Counter for number of variables created. This is increased every time a new var statement is called and is
           * used as unique key.
           * @type Number
           * @protected
           */
          this._varNameNumber = 0;
  
          /**
           * Optional error context to be passed when logging errors
           * @type Object
           */
          this.errorContext = null;
  
          /**
           * if true, the dependencies section should even contain already loaded dependencies
           * @type Boolean
           */
          this.allDependencies = null;
  
          /**
           * Stores the template parameter
           * @type Object
           */
          this.templateParam = null;
  
          /**
           * Stores the parent class type
           * @type String
           */
          this.parentClassType = "JS";
  
          /**
           * Stores the parent class name
           * @type String
           */
          this.parentClassName = null;
  
          /**
           * Stores the parent classpath
           * @type String
           */
          this.parentClasspath = null;
  
          /**
           * Stores the script class name
           * @type String
           */
          this.scriptClassName = null;
  
          /**
           * Stores the script classpath
           * @type String
           */
          this.scriptClasspath = null;
  
          /**
           * Callback to call when generation is finished
           * @type aria.core.CfgBeans:Callback
           */
          this.callback = null;
  
          /**
           * Direct link to widget libraries
           * @type Object
           *
           * <pre>
           * {
           *     libName : libClasspath
           * }
           * </pre>
           */
          this.wlibs = {};
  
          /**
           * Map of declared macros
           * @type Object
           *
           * <pre>
           * {
           *     macroName : {
           *         definition : statement
           *     }
           * }
           * </pre>
           */
          this.macros = {};
  
          /**
           * Map of declared views
           * @type Object
           *
           * <pre>
           * {
           *    viewName : {
           *       firstDefinition : statement,
           *       nbParams : numberOfParameters
           *    }
           * }
           * </pre>
           */
          this.views = {};
  
          /**
           * Current working output block
           * @type Object
           * @protected
           */
          this._curblock = null;
  
          /**
           * Map of possible output block
           * @type Object
           *
           * <pre>
           * {
           *    blockName : {
           *       curindentnbr : indent,
           *       out : []
           *    }
           * }
           * </pre>
           *
           * @protected
           */
          this._blocks = {};
  
          /**
           * Stack of output blocks
           * @type Array
           * @protected
           */
          this._stack = [];
  
          /**
           * Map of dependencies found for the class to be generated
           * @protected
           */
          this._dependencies = {};
  
          /**
           * Contains information about errors which occured during the generation process. If the processErrors callback
           * is provided, the errors property contains a boolean indicating whether errors occurred or not. If the
           * processErrors callback is not provided, the errors property is null if no error occured, otherwise, it
           * contains the array of errors.
           */
          this.errors = processErrors ? false : null;
  
          /**
           * Indicates if the writer has a mirror debug writer
           * @type Boolean
           */
          this.debug = false;
  
          /**
           * Tree structure generated by the parser
           * @type aria.templates.TreeBeans:Root
           */
          this.tree = null;
  
          /**
           * If set to true, code generation is disabled, only parsing matters.
           * @type Boolean
           */
          this.parseOnly = false;
  
          /**
           * If set to true, widget libraries will not be loaded during class generation.
           * @type Boolean
           */
          this.dontLoadWidgetLibs = false;
      }