aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDanielGavin <danielgavin5@hotmail.com>2021-03-30 16:38:10 +0200
committerDanielGavin <danielgavin5@hotmail.com>2021-03-30 16:38:10 +0200
commitfd3daf5f27ae105fe84e3ec55c7df4fe916b4409 (patch)
tree94945c983a196721ee51c965fbf528ac995af873 /src
parentdab985f991e5276bd83d7d8b4ab4a80cddcfe6b8 (diff)
format and flatten
Diffstat (limited to 'src')
-rw-r--r--src/common/ast.odin36
1 files changed, 3 insertions, 33 deletions
diff --git a/src/common/ast.odin b/src/common/ast.odin
index f85a1ce..2ed2b6c 100644
--- a/src/common/ast.odin
+++ b/src/common/ast.odin
@@ -42,7 +42,7 @@ collect_value_decl :: proc(exprs: ^[dynamic]GlobalExpr, file: ast.File, stmt: ^a
append(exprs, GlobalExpr {name = str, expr = value_decl.type, mutable = value_decl.is_mutable, docs = value_decl.docs});
} else {
if len(value_decl.values) > i {
- append(exprs, GlobalExpr {name = str, expr = value_decl.values[i], docs = value_decl.docs});
+ append(exprs, GlobalExpr {name = str, expr = value_decl.values[i], docs = value_decl.docs});
}
}
}
@@ -57,19 +57,7 @@ collect_globals :: proc(file: ast.File) -> []GlobalExpr {
for decl in file.decls {
if value_decl, ok := decl.derived.(ast.Value_Decl); ok {
-
- for name, i in value_decl.names {
-
- str := get_ast_node_string(name, file.src);
-
- if value_decl.type != nil {
- append(&exprs, GlobalExpr {name = str, expr = value_decl.type, mutable = value_decl.is_mutable, docs = value_decl.docs});
- } else {
- if len(value_decl.values) > i {
- append(&exprs, GlobalExpr {name = str, expr = value_decl.values[i], docs = value_decl.docs});
- }
- }
- }
+ collect_value_decl(&exprs, file, decl);
} else if when_decl, ok := decl.derived.(ast.When_Stmt); ok {
if when_decl.cond == nil {
@@ -128,8 +116,6 @@ collect_globals :: proc(file: ast.File) -> []GlobalExpr {
}
}
}
- //YUPPI - what a fun slide
-
} else if foreign_decl, ok := decl.derived.(ast.Foreign_Block_Decl); ok {
if foreign_decl.body == nil {
@@ -137,24 +123,8 @@ collect_globals :: proc(file: ast.File) -> []GlobalExpr {
}
if block, ok := foreign_decl.body.derived.(ast.Block_Stmt); ok {
-
for stmt in block.stmts {
-
- if value_decl, ok := stmt.derived.(ast.Value_Decl); ok {
-
- for name, i in value_decl.names {
-
- str := get_ast_node_string(name, file.src);
-
- if value_decl.type != nil {
- append(&exprs, GlobalExpr {name = str, expr = value_decl.type, mutable = value_decl.is_mutable, docs = value_decl.docs});
- } else {
- if len(value_decl.values) > i {
- append(&exprs, GlobalExpr {name = str, expr = value_decl.values[i], docs = value_decl.docs});
- }
- }
- }
- }
+ collect_value_decl(&exprs, file, stmt);
}
}
}