summaryrefslogtreecommitdiffstats
path: root/include/clang/AST/CommentHTMLTags.td
blob: 251490094940b1bb5882c56c48c6e7b1ae1f857b (plain)
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
class Tag<string spelling> {
  string Spelling = spelling;
  bit EndTagOptional = 0;
  bit EndTagForbidden = 0;
}

def Em      : Tag<"em">;
def Strong  : Tag<"strong">;
def Tt      : Tag<"tt">;
def I       : Tag<"i">;
def B       : Tag<"b">;
def Big     : Tag<"big">;
def Small   : Tag<"small">;
def Strike  : Tag<"strike">;
def S       : Tag<"s">;
def U       : Tag<"u">;
def Font    : Tag<"font">;
def A       : Tag<"a">;
def Hr      : Tag<"hr"> { let EndTagForbidden = 1; }
def Div     : Tag<"div">;
def Span    : Tag<"span">;
def H1      : Tag<"h1">;
def H2      : Tag<"h2">;
def H3      : Tag<"h3">;
def H4      : Tag<"h4">;
def H5      : Tag<"h5">;
def H6      : Tag<"h6">;
def Code    : Tag<"code">;
def Blockquote : Tag<"blockquote">;
def Sub     : Tag<"sub">;
def Sup     : Tag<"sup">;
def Img     : Tag<"img"> { let EndTagForbidden = 1; }
def P       : Tag<"p"> { let EndTagOptional = 1; }
def Br      : Tag<"br"> { let EndTagForbidden = 1; }
def Pre     : Tag<"pre">;
def Ins     : Tag<"ins">;
def Del     : Tag<"del">;
def Ul      : Tag<"ul">;
def Ol      : Tag<"ol">;
def Li      : Tag<"li"> { let EndTagOptional = 1; }
def Dl      : Tag<"dl">;
def Dt      : Tag<"dt"> { let EndTagOptional = 1; }
def Dd      : Tag<"dd"> { let EndTagOptional = 1; }
def Table   : Tag<"table">;
def Caption : Tag<"caption">;
def Thead   : Tag<"thead"> { let EndTagOptional = 1; }
def Tfoot   : Tag<"tfoot"> { let EndTagOptional = 1; }
def Tbody   : Tag<"tbody"> { let EndTagOptional = 1; }
def Colgroup : Tag<"colgroup"> { let EndTagOptional = 1; }
def Col     : Tag<"col"> { let EndTagForbidden = 1; }
def Tr      : Tag<"tr"> { let EndTagOptional = 1; }
def Th      : Tag<"th"> { let EndTagOptional = 1; }
def Td      : Tag<"td"> { let EndTagOptional = 1; }

// Define a blacklist of attributes that are not safe to pass through to HTML
// output if the input is untrusted.
//
// FIXME: this should be a whitelist.  When changing this to a whitelist, don't
// forget to change the default in the TableGen backend.
class Attribute<string spelling> {
  string Spelling = spelling;
  bit IsSafeToPassThrough = 1;
}
class EventHandlerContentAttribute<string spelling> : Attribute<spelling> {
  let IsSafeToPassThrough = 0;
}