Commit b1f8b53d20
Changed files (3)
src/all_types.hpp
@@ -712,7 +712,7 @@ struct AstNodeArrayType {
bool is_volatile;
};
-struct AstNodeUse {
+struct AstNodeUsingNamespace {
VisibMod visib_mod;
AstNode *expr;
@@ -977,7 +977,7 @@ struct AstNode {
AstNodeFnCallExpr fn_call_expr;
AstNodeArrayAccessExpr array_access_expr;
AstNodeSliceExpr slice_expr;
- AstNodeUse use;
+ AstNodeUsingNamespace using_namespace;
AstNodeIfBoolExpr if_bool_expr;
AstNodeTryExpr if_err_expr;
AstNodeTestExpr test_expr;
src/analyze.cpp
@@ -3306,10 +3306,10 @@ void resolve_top_level_decl(CodeGen *g, Tld *tld, AstNode *source_node) {
}
Tld *find_container_decl(CodeGen *g, ScopeDecls *decls_scope, Buf *name) {
- // resolve all the use decls
+ // resolve all the using_namespace decls
for (size_t i = 0; i < decls_scope->use_decls.length; i += 1) {
AstNode *use_decl_node = decls_scope->use_decls.at(i);
- if (use_decl_node->data.use.resolution == TldResolutionUnresolved) {
+ if (use_decl_node->data.using_namespace.resolution == TldResolutionUnresolved) {
preview_use_decl(g, use_decl_node, decls_scope);
resolve_use_decl(g, use_decl_node, decls_scope);
}
@@ -3753,17 +3753,17 @@ static void analyze_fn_body(CodeGen *g, ZigFn *fn_table_entry) {
}
static void add_symbols_from_container(CodeGen *g, AstNode *src_use_node, AstNode *dst_use_node, ScopeDecls* decls_scope) {
- if (src_use_node->data.use.resolution == TldResolutionUnresolved) {
+ if (src_use_node->data.using_namespace.resolution == TldResolutionUnresolved) {
preview_use_decl(g, src_use_node, decls_scope);
}
- ConstExprValue *use_expr = src_use_node->data.use.using_namespace_value;
+ ConstExprValue *use_expr = src_use_node->data.using_namespace.using_namespace_value;
if (type_is_invalid(use_expr->type)) {
decls_scope->any_imports_failed = true;
return;
}
- dst_use_node->data.use.resolution = TldResolutionOk;
+ dst_use_node->data.using_namespace.resolution = TldResolutionOk;
assert(use_expr->special != ConstValSpecialRuntime);
@@ -3821,7 +3821,7 @@ static void add_symbols_from_container(CodeGen *g, AstNode *src_use_node, AstNod
for (size_t i = 0; i < src_scope->use_decls.length; i += 1) {
AstNode *use_decl_node = src_scope->use_decls.at(i);
- if (use_decl_node->data.use.visib_mod != VisibModPrivate)
+ if (use_decl_node->data.using_namespace.visib_mod != VisibModPrivate)
add_symbols_from_container(g, use_decl_node, dst_use_node, decls_scope);
}
}
@@ -3829,8 +3829,8 @@ static void add_symbols_from_container(CodeGen *g, AstNode *src_use_node, AstNod
void resolve_use_decl(CodeGen *g, AstNode *node, ScopeDecls *decls_scope) {
assert(node->type == NodeTypeUse);
- if (node->data.use.resolution == TldResolutionOk ||
- node->data.use.resolution == TldResolutionInvalid)
+ if (node->data.using_namespace.resolution == TldResolutionOk ||
+ node->data.using_namespace.resolution == TldResolutionInvalid)
{
return;
}
@@ -3840,20 +3840,20 @@ void resolve_use_decl(CodeGen *g, AstNode *node, ScopeDecls *decls_scope) {
void preview_use_decl(CodeGen *g, AstNode *node, ScopeDecls *decls_scope) {
assert(node->type == NodeTypeUse);
- if (node->data.use.resolution == TldResolutionOk ||
- node->data.use.resolution == TldResolutionInvalid)
+ if (node->data.using_namespace.resolution == TldResolutionOk ||
+ node->data.using_namespace.resolution == TldResolutionInvalid)
{
return;
}
- node->data.use.resolution = TldResolutionResolving;
+ node->data.using_namespace.resolution = TldResolutionResolving;
ConstExprValue *result = analyze_const_value(g, &decls_scope->base,
- node->data.use.expr, g->builtin_types.entry_type, nullptr);
+ node->data.using_namespace.expr, g->builtin_types.entry_type, nullptr);
if (type_is_invalid(result->type))
decls_scope->any_imports_failed = true;
- node->data.use.using_namespace_value = result;
+ node->data.using_namespace.using_namespace_value = result;
}
ZigType *add_source_file(CodeGen *g, ZigPackage *package, Buf *resolved_path, Buf *source_code,
@@ -3980,9 +3980,9 @@ void semantic_analyze(CodeGen *g) {
{
for (; g->use_queue_index < g->use_queue.length; g->use_queue_index += 1) {
AstNode *use_decl_node = g->use_queue.at(g->use_queue_index);
- // Get the top-level scope where `use` is used
+ // Get the top-level scope where `using_namespace` is used
ScopeDecls *decls_scope = get_container_scope(use_decl_node->owner);
- if (use_decl_node->data.use.resolution == TldResolutionUnresolved) {
+ if (use_decl_node->data.using_namespace.resolution == TldResolutionUnresolved) {
preview_use_decl(g, use_decl_node, decls_scope);
resolve_use_decl(g, use_decl_node, decls_scope);
}
src/parser.cpp
@@ -671,14 +671,14 @@ static AstNode *ast_parse_top_level_decl(ParseContext *pc, VisibMod visib_mod) {
return res;
}
- Token *use = eat_token_if(pc, TokenIdKeywordUsingNamespace);
- if (use != nullptr) {
+ Token *usingnamespace = eat_token_if(pc, TokenIdKeywordUsingNamespace);
+ if (usingnamespace != nullptr) {
AstNode *expr = ast_expect(pc, ast_parse_expr);
expect_token(pc, TokenIdSemicolon);
- AstNode *res = ast_create_node(pc, NodeTypeUse, use);
- res->data.use.visib_mod = visib_mod;
- res->data.use.expr = expr;
+ AstNode *res = ast_create_node(pc, NodeTypeUse, usingnamespace);
+ res->data.using_namespace.visib_mod = visib_mod;
+ res->data.using_namespace.expr = expr;
return res;
}
@@ -2939,7 +2939,7 @@ void ast_visit_node_children(AstNode *node, void (*visit)(AstNode **, void *cont
visit_field(&node->data.unwrap_optional.expr, visit, context);
break;
case NodeTypeUse:
- visit_field(&node->data.use.expr, visit, context);
+ visit_field(&node->data.using_namespace.expr, visit, context);
break;
case NodeTypeBoolLiteral:
// none