remix-debug/src/solidity-decoder/decodeInfo.js
function typeClass (fullType) {
  fullType = util.removeLocation(fullType)
  if (fullType.lastIndexOf(']') === fullType.length - 1) {
    return 'array'
  }
  if (fullType.indexOf('mapping') === 0) {
    return 'mapping'
  }
  if (fullType.indexOf(' ') !== -1) {
    fullType = fullType.split(' ')[0]
  }
  var char = fullType.indexOf('bytes') === 0 ? 'X' : ''
  return fullType.replace(/[0-9]+/g, char)
}
function typeClass (fullType) {
  fullType = util.removeLocation(fullType)
  if (fullType.lastIndexOf(']') === fullType.length - 1) {
    return 'array'
  }
  if (fullType.indexOf('mapping') === 0) {
    return 'mapping'
  }
  if (fullType.indexOf(' ') !== -1) {
    fullType = fullType.split(' ')[0]
  }
  var char = fullType.indexOf('bytes') === 0 ? 'X' : ''
  return fullType.replace(/[0-9]+/g, char)
}
function typeClass ( fullType ) { fullType = util . removeLocation ( fullType ) if ( fullType . lastIndexOf ( ']' ) === fullType . length - 1 ) { return 'array' } if ( fullType . indexOf ( 'mapping' ) === 0 ) { return 'mapping' } if ( fullType . indexOf ( ' ' ) !== - 1 ) { fullType = fullType . split ( ' ' ) [ 0 ] } var char = fullType . indexOf ( 'bytes' ) === 0 ? 'X' : '' return fullType . replace ( / [0-9]+ / g , char ) }
parse the full type

@param {String} fullType - type given by the AST (ex: uint[2] storage ref[2])
@return {String} returns the token type (used to instanciate the right decoder) (uint[2] storage ref[2] will return 'array', uint256 will return uintX)
parse the full type