reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
   71
   72
   73
   74
   75
   76
   77
   78
   79
   80
   81
   82
   83
   84
   85
   86
   87
   88
   89
   90
   91
   92
   93
   94
   95
   96
   97
   98
   99
  100
  101
  102
  103
  104
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* HTML tag properties                                                        *|
|*                                                                            *|
|* Automatically generated file, do not edit!                                 *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/

bool isHTMLEndTagOptional(StringRef Name) {
  switch (Name.size()) {
  default: break;
  case 1:	 // 1 string to match.
    if (Name[0] != 'p')
      break;
    return true;	 // "p"
  case 2:	 // 6 strings to match.
    switch (Name[0]) {
    default: break;
    case 'd':	 // 2 strings to match.
      switch (Name[1]) {
      default: break;
      case 'd':	 // 1 string to match.
        return true;	 // "dd"
      case 't':	 // 1 string to match.
        return true;	 // "dt"
      }
      break;
    case 'l':	 // 1 string to match.
      if (Name[1] != 'i')
        break;
      return true;	 // "li"
    case 't':	 // 3 strings to match.
      switch (Name[1]) {
      default: break;
      case 'd':	 // 1 string to match.
        return true;	 // "td"
      case 'h':	 // 1 string to match.
        return true;	 // "th"
      case 'r':	 // 1 string to match.
        return true;	 // "tr"
      }
      break;
    }
    break;
  case 5:	 // 3 strings to match.
    if (Name[0] != 't')
      break;
    switch (Name[1]) {
    default: break;
    case 'b':	 // 1 string to match.
      if (memcmp(Name.data()+2, "ody", 3) != 0)
        break;
      return true;	 // "tbody"
    case 'f':	 // 1 string to match.
      if (memcmp(Name.data()+2, "oot", 3) != 0)
        break;
      return true;	 // "tfoot"
    case 'h':	 // 1 string to match.
      if (memcmp(Name.data()+2, "ead", 3) != 0)
        break;
      return true;	 // "thead"
    }
    break;
  case 8:	 // 1 string to match.
    if (memcmp(Name.data()+0, "colgroup", 8) != 0)
      break;
    return true;	 // "colgroup"
  }
  return false;
}

bool isHTMLEndTagForbidden(StringRef Name) {
  switch (Name.size()) {
  default: break;
  case 2:	 // 2 strings to match.
    switch (Name[0]) {
    default: break;
    case 'b':	 // 1 string to match.
      if (Name[1] != 'r')
        break;
      return true;	 // "br"
    case 'h':	 // 1 string to match.
      if (Name[1] != 'r')
        break;
      return true;	 // "hr"
    }
    break;
  case 3:	 // 2 strings to match.
    switch (Name[0]) {
    default: break;
    case 'c':	 // 1 string to match.
      if (memcmp(Name.data()+1, "ol", 2) != 0)
        break;
      return true;	 // "col"
    case 'i':	 // 1 string to match.
      if (memcmp(Name.data()+1, "mg", 2) != 0)
        break;
      return true;	 // "img"
    }
    break;
  }
  return false;
}