@@ -22,7 +22,7 @@ def isStatic(member):
22
22
return False
23
23
24
24
25
- def isA (x ):
25
+ def isA (member , x ):
26
26
"""Returns True if member is an `x`."""
27
27
for child in member :
28
28
if child .tag == "MemberType" and child .text == x :
@@ -77,10 +77,10 @@ def generateTypeModels(arg):
77
77
try :
78
78
if not file_path .name .endswith (".xml" ):
79
79
continue
80
-
80
+
81
81
if not file_path .is_file ():
82
82
continue
83
-
83
+
84
84
tree = ET .parse (str (file_path ))
85
85
root = tree .getroot ()
86
86
if not root .tag == "Type" :
@@ -91,8 +91,8 @@ def generateTypeModels(arg):
91
91
if "`" in file_path .stem or "+" in file_path .stem :
92
92
continue # Skip generics (and nested types?) for now
93
93
94
- folderName = file_path .parent .name .replace ("." , "" )
95
- filename = folderName + "/model .yml"
94
+ folderName = "generated/" + file_path .parent .name .replace ("." , "" )
95
+ filename = folderName + "/typemodel .yml"
96
96
s = set ()
97
97
for elem in root .findall (".//Members/Member" ):
98
98
name = elem .attrib ["MemberName" ]
@@ -106,10 +106,10 @@ def generateTypeModels(arg):
106
106
startSelectorMarker = ""
107
107
endSelectorMarker = ""
108
108
if isField (elem ):
109
- startSelectorMarker = "Field "
109
+ startSelectorMarker = "Member "
110
110
endSelectorMarker = ""
111
111
if isProperty (elem ):
112
- startSelectorMarker = "Property "
112
+ startSelectorMarker = "Member "
113
113
endSelectorMarker = ""
114
114
if isMethod (elem ):
115
115
startSelectorMarker = "Method"
@@ -134,8 +134,9 @@ def generateTypeModels(arg):
134
134
returnType = elem .find (".//ReturnValue/ReturnType" ).text
135
135
if returnType == "System.Void" :
136
136
continue # Don't generate type summaries for void methods
137
+
137
138
s .add (
138
- f' - ["{ fixup (returnType ) } ", "{ thisType + staticMarker } ", "{ startSelectorMarker } [{ name } ]{ endSelectorMarker } "]\n '
139
+ f' - ["{ fixup (returnType . lower ()) } ", "{ thisType . lower () + staticMarker } ", "{ startSelectorMarker } [{ name . lower () } ]{ endSelectorMarker } "]\n '
139
140
)
140
141
141
142
summaries [filename ].update (s )
@@ -153,6 +154,7 @@ def writeModels():
153
154
continue
154
155
os .makedirs (os .path .dirname (filename ), exist_ok = True )
155
156
with open (filename , "x" ) as file :
157
+ file .write ("# THIS FILE IS AN AUTO-GENERATED MODELS AS DATA FILE. DO NOT EDIT.\n " )
156
158
file .write ("extensions:\n " )
157
159
file .write (" - addsTo:\n " )
158
160
file .write (" pack: microsoft/powershell-all\n " )
0 commit comments