comp_ctx: remove Environment in favor of UnderlyingTypeMap

This commit is contained in:
Luna 2019-09-27 13:39:04 -03:00
parent a081de93ce
commit 86c7f7dd6a
2 changed files with 7 additions and 4 deletions

View file

@ -7,7 +7,7 @@ fn f() i32 {
return 2; return 2;
} }
fn f2() i64 { fn f2() i32 {
return 1301; return 1301;
} }
@ -48,3 +48,7 @@ fn and_fn() bool {
// print("piss\n"); // print("piss\n");
// // print("2 + 2 = %d\n", add(1, 2)); // // print("2 + 2 = %d\n", add(1, 2));
//} //}
fn _start() i32 {
return 0;
}

View file

@ -31,11 +31,10 @@ pub const SymbolUnderlyingType = union(SymbolUnderlyingTypeEnum) {
Enum: []const u8, Enum: []const u8,
}; };
pub const Environment = std.StringHashMap(SymbolUnderlyingType);
pub const ScopeList = std.ArrayList(*Scope); pub const ScopeList = std.ArrayList(*Scope);
pub const Scope = struct { pub const Scope = struct {
parent: ?*Scope, parent: ?*Scope,
env: Environment, env: UnderlyingTypeMap,
/// Used for debug information. /// Used for debug information.
children: ScopeList, children: ScopeList,
@ -48,7 +47,7 @@ pub const Scope = struct {
scope.* = Scope{ scope.* = Scope{
.parent = parent, .parent = parent,
.env = Environment.init(allocator), .env = UnderlyingTypeMap.init(allocator),
.children = ScopeList.init(allocator), .children = ScopeList.init(allocator),
.allocator = allocator, .allocator = allocator,
.id = id, .id = id,