-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path_ConvCommandsToOld.lua
109 lines (83 loc) · 1.76 KB
/
_ConvCommandsToOld.lua
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
105
106
107
108
109
local common = require "_ConvCommon"
local types = require "_ConvCommonTypes"
local convert = require "_ConvCommonConvert"
local cmd_children =
{
{
test = "param",
element =
{
name = "param",
verbatim = true,
proc = types.OldWriteVariable,
},
},
convert.cmdStructValidityToOld,
{
test = "external-sync",
element =
{
name = "implicitexternsyncparams",
},
children =
{
{
test = "sync",
element =
{
name = "param",
proc = function(writer, node)
writer:AddText(common.ExtractFullText(node))
end
},
},
},
},
}
local function WriteCommand(writer, node)
--Get error codes.
local ret_type = common.FindChildElement(node, "return-type")
if(ret_type.attr.successcodes and #ret_type.attr.successcodes > 0) then
writer:AddAttribute("successcodes", ret_type.attr.successcodes)
end
if(ret_type.attr.errorcodes and #ret_type.attr.errorcodes > 0) then
writer:AddAttribute("errorcodes", ret_type.attr.errorcodes)
end
writer:PushElement("proto", nil, true)
types.OldWritePrenameType(writer, ret_type, true)
writer:AddText(" ")
writer:PushElement("name")
writer:AddText(node.attr.name)
writer:PopElement()
writer:PopElement()
end
local children =
{
{
test = "command",
element =
{
name = "command",
map_attribs =
{
queues = true,
renderpass = true,
cmdbufferlevel = true,
pipeline = true,
notation = "comment",
},
proc = WriteCommand,
},
children = cmd_children,
},
}
return {
test = "commands",
element =
{ name = "commands",
map_attribs =
{ notation = "comment",
},
},
children = children
}