@@ -2146,31 +2146,11 @@ pub fn (t &Table) is_comptime_type(x Type, y ComptimeType) bool {
2146
2146
pub fn (t &Table) dependent_names_in_expr (expr Expr) []string {
2147
2147
mut names := []string {}
2148
2148
match expr {
2149
- Ident {
2150
- if expr.kind in [.global, .constant] {
2151
- names << util.no_dots (expr.name)
2152
- }
2153
- }
2154
2149
ArrayInit {
2155
2150
for elem_expr in expr.exprs {
2156
2151
names << t.dependent_names_in_expr (elem_expr)
2157
2152
}
2158
2153
}
2159
- StructInit {
2160
- for field in expr.fields {
2161
- names << t.dependent_names_in_expr (field.expr)
2162
- }
2163
- }
2164
- InfixExpr {
2165
- names << t.dependent_names_in_expr (expr.left)
2166
- names << t.dependent_names_in_expr (expr.right)
2167
- }
2168
- PostfixExpr {
2169
- names << t.dependent_names_in_expr (expr.expr)
2170
- }
2171
- PrefixExpr {
2172
- names << t.dependent_names_in_expr (expr.right)
2173
- }
2174
2154
CallExpr {
2175
2155
for arg in expr.args {
2176
2156
names << t.dependent_names_in_expr (arg.expr)
@@ -2179,6 +2159,15 @@ pub fn (t &Table) dependent_names_in_expr(expr Expr) []string {
2179
2159
names << func.dep_names
2180
2160
}
2181
2161
}
2162
+ CastExpr {
2163
+ names << t.dependent_names_in_expr (expr.expr)
2164
+ names << t.dependent_names_in_expr (expr.arg)
2165
+ }
2166
+ Ident {
2167
+ if expr.kind in [.global, .constant] {
2168
+ names << util.no_dots (expr.name)
2169
+ }
2170
+ }
2182
2171
IfExpr {
2183
2172
for branch in expr.branches {
2184
2173
names << t.dependent_names_in_expr (branch.cond)
@@ -2187,6 +2176,15 @@ pub fn (t &Table) dependent_names_in_expr(expr Expr) []string {
2187
2176
}
2188
2177
}
2189
2178
}
2179
+ InfixExpr {
2180
+ names << t.dependent_names_in_expr (expr.left)
2181
+ names << t.dependent_names_in_expr (expr.right)
2182
+ }
2183
+ MapInit {
2184
+ for val in expr.vals {
2185
+ names << t.dependent_names_in_expr (val)
2186
+ }
2187
+ }
2190
2188
MatchExpr {
2191
2189
names << t.dependent_names_in_expr (expr.cond)
2192
2190
for branch in expr.branches {
@@ -2195,6 +2193,20 @@ pub fn (t &Table) dependent_names_in_expr(expr Expr) []string {
2195
2193
}
2196
2194
}
2197
2195
}
2196
+ ParExpr {
2197
+ names << t.dependent_names_in_expr (expr.expr)
2198
+ }
2199
+ PostfixExpr {
2200
+ names << t.dependent_names_in_expr (expr.expr)
2201
+ }
2202
+ PrefixExpr {
2203
+ names << t.dependent_names_in_expr (expr.right)
2204
+ }
2205
+ StructInit {
2206
+ for field in expr.fields {
2207
+ names << t.dependent_names_in_expr (field.expr)
2208
+ }
2209
+ }
2198
2210
else {}
2199
2211
}
2200
2212
return names
@@ -2220,6 +2232,19 @@ pub fn (t &Table) dependent_names_in_stmt(stmt Stmt) []string {
2220
2232
names << t.dependent_names_in_stmt (stmt_)
2221
2233
}
2222
2234
}
2235
+ ForStmt {
2236
+ for stmt_ in stmt.stmts {
2237
+ names << t.dependent_names_in_stmt (stmt_)
2238
+ }
2239
+ }
2240
+ ForCStmt {
2241
+ names << t.dependent_names_in_stmt (stmt.init)
2242
+ names << t.dependent_names_in_expr (stmt.cond)
2243
+ names << t.dependent_names_in_stmt (stmt.inc)
2244
+ for stmt_ in stmt.stmts {
2245
+ names << t.dependent_names_in_stmt (stmt_)
2246
+ }
2247
+ }
2223
2248
Return {
2224
2249
for expr in stmt.exprs {
2225
2250
names << t.dependent_names_in_expr (expr)
0 commit comments