lib/qx/tool/compiler/ClassFile.js
function(msgId, pos) {
      msgId = "qx.tool.compiler." + msgId;
      
      // Give each marker a unique key based on msgId and the line; use this to suppress
      //  multiple markers
      let key = msgId + "#";
      if (pos) {
        if (pos.line) {
          key += pos.line; 
        } else if (pos.start && pos.start.line) {
          key += pos.start.line;
        }
      }
      if (this.__haveMarkersFor[key]) {
        return; 
      }
      this.__haveMarkersFor[key] = true;
      
      let marker = {
        msgId: msgId
      };
      
      // Extract position
      if (pos) {
        if (pos.line) {
          pos = { start: pos };
        }
        if (pos.start) {
          let tmp = { line: pos.start.line };
          if (pos.start.column) {
            tmp.column = pos.start.column;
          }
          marker.pos = { start: tmp };
          if (pos.end && pos.end.line) {
            let tmp = { line: pos.end.line };
            if (pos.end.column) {
              tmp.column = pos.end.column; 
            }
            marker.pos.end = tmp;
          }
        }
      }
      let args = qx.lang.Array.fromArguments(arguments, 2);
      if (args.length) {
        marker.args = args; 
      }
      this.__markers.push(marker);
    }
function(msgId, pos) {
      msgId = "qx.tool.compiler." + msgId;
      
      // Give each marker a unique key based on msgId and the line; use this to suppress
      //  multiple markers
      let key = msgId + "#";
      if (pos) {
        if (pos.line) {
          key += pos.line; 
        } else if (pos.start && pos.start.line) {
          key += pos.start.line;
        }
      }
      if (this.__haveMarkersFor[key]) {
        return; 
      }
      this.__haveMarkersFor[key] = true;
      
      let marker = {
        msgId: msgId
      };
      
      // Extract position
      if (pos) {
        if (pos.line) {
          pos = { start: pos };
        }
        if (pos.start) {
          let tmp = { line: pos.start.line };
          if (pos.start.column) {
            tmp.column = pos.start.column;
          }
          marker.pos = { start: tmp };
          if (pos.end && pos.end.line) {
            let tmp = { line: pos.end.line };
            if (pos.end.column) {
              tmp.column = pos.end.column; 
            }
            marker.pos.end = tmp;
          }
        }
      }
      let args = qx.lang.Array.fromArguments(arguments, 2);
      if (args.length) {
        marker.args = args; 
      }
      this.__markers.push(marker);
    }
function ( msgId , pos ) { msgId = "qx.tool.compiler." + msgId ; // Give each marker a unique key based on msgId and the line; use this to suppress //  multiple markers let key = msgId + "#" ; if ( pos ) { if ( pos . line ) { key += pos . line ; } else if ( pos . start && pos . start . line ) { key += pos . start . line ; } } if ( this . __haveMarkersFor [ key ] ) { return ; } this . __haveMarkersFor [ key ] = true ; let marker = { msgId : msgId } ; // Extract position if ( pos ) { if ( pos . line ) { pos = { start : pos } ; } if ( pos . start ) { let tmp = { line : pos . start . line } ; if ( pos . start . column ) { tmp . column = pos . start . column ; } marker . pos = { start : tmp } ; if ( pos . end && pos . end . line ) { let tmp = { line : pos . end . line } ; if ( pos . end . column ) { tmp . column = pos . end . column ; } marker . pos . end = tmp ; } } } let args = qx . lang . Array . fromArguments ( arguments , 2 ) ; if ( args . length ) { marker . args = args ; } this . __markers . push ( marker ) ; }
Adds a marker (eg warning or error)

@param msgId {String} the marker message ID (@see qx.tool.compiler.Marker)
@param pos {Object||null} position map; may contain a Map containing
{line,column?}, or a Map {start:{line,column}, end: {line,column}}.
@param arguments? {Object...} variable argument list, specific to the msgId
Adds a marker ( eg warning or error )