aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/check_decl.cpp1
-rw-r--r--src/check_expr.cpp6
-rw-r--r--src/checker.cpp4
-rw-r--r--src/entity.cpp23
-rw-r--r--src/parser.cpp8
5 files changed, 7 insertions, 35 deletions
diff --git a/src/check_decl.cpp b/src/check_decl.cpp
index 18c76dd5d..60da85d0e 100644
--- a/src/check_decl.cpp
+++ b/src/check_decl.cpp
@@ -349,7 +349,6 @@ void check_proc_decl(Checker *c, Entity *e, DeclInfo *d) {
}
e->Procedure.is_foreign = true;
- e->Procedure.foreign_name = name;
e->Procedure.link_name = name;
HashKey key = hash_string(name);
diff --git a/src/check_expr.cpp b/src/check_expr.cpp
index 2d0c94438..5a227ebce 100644
--- a/src/check_expr.cpp
+++ b/src/check_expr.cpp
@@ -1545,11 +1545,6 @@ Entity *check_ident(Checker *c, Operand *o, AstNode *n, Type *named_type, Type *
}
break;
- case Entity_TypeAlias:
- case Entity_TypeName:
- o->mode = Addressing_Type;
- break;
-
case Entity_Procedure:
o->mode = Addressing_Value;
break;
@@ -3530,7 +3525,6 @@ Entity *check_selector(Checker *c, Operand *operand, AstNode *node, Type *type_h
operand->mode = Addressing_Value;
}
break;
- case Entity_TypeAlias:
case Entity_TypeName:
operand->mode = Addressing_Type;
break;
diff --git a/src/checker.cpp b/src/checker.cpp
index df41c9f86..1647ceaee 100644
--- a/src/checker.cpp
+++ b/src/checker.cpp
@@ -609,10 +609,6 @@ void add_global_string_constant(gbAllocator a, String name, String value) {
}
-Type *add_global_type_alias(gbAllocator a, String name, Type *t) {
- Entity *e = add_global_entity(make_entity_type_alias(a, NULL, make_token_ident(name), t));
- return e->type;
-}
void init_universal_scope(void) {
diff --git a/src/entity.cpp b/src/entity.cpp
index 32bd3210f..6fa89d652 100644
--- a/src/entity.cpp
+++ b/src/entity.cpp
@@ -14,8 +14,6 @@ struct DeclInfo;
ENTITY_KIND(Builtin) \
ENTITY_KIND(ImportName) \
ENTITY_KIND(LibraryName) \
- ENTITY_KIND(TypeAlias) \
- ENTITY_KIND(ProcedureAlias) \
ENTITY_KIND(Nil) \
ENTITY_KIND(Label)
@@ -92,13 +90,12 @@ struct Entity {
bool is_type_alias;
} TypeName;
struct {
+ OverloadKind overload_kind;
+ String link_name;
+ u64 tags;
bool is_foreign;
- String foreign_name;
Entity * foreign_library;
AstNode * foreign_library_ident;
- String link_name;
- u64 tags;
- OverloadKind overload_kind;
} Procedure;
struct {
i32 id;
@@ -114,10 +111,6 @@ struct Entity {
String name;
bool used;
} LibraryName;
- i32 TypeAlias;
- struct {
- Entity *original;
- } ProcedureAlias;
i32 Nil;
struct {
String name;
@@ -248,16 +241,6 @@ Entity *make_entity_library_name(gbAllocator a, Scope *scope, Token token, Type
return entity;
}
-Entity *make_entity_type_alias(gbAllocator a, Scope *scope, Token token, Type *type) {
- Entity *entity = alloc_entity(a, Entity_TypeAlias, scope, token, type);
- return entity;
-}
-Entity *make_entity_procedure_alias(gbAllocator a, Scope *scope, Token token, Entity *original) {
- GB_ASSERT(original != NULL);
- Entity *entity = alloc_entity(a, Entity_ProcedureAlias, scope, token, original->type);
- entity->ProcedureAlias.original = original;
- return entity;
-}
diff --git a/src/parser.cpp b/src/parser.cpp
index cd0e78c2a..8d7af3188 100644
--- a/src/parser.cpp
+++ b/src/parser.cpp
@@ -2553,16 +2553,16 @@ AstNode *parse_gen_decl(AstFile *f, Token token, ParseSpecFunc *func) {
Token open = {};
Token close = {};
- if (f->curr_token.kind == Token_OpenParen) {
+ if (f->curr_token.kind == Token_OpenBrace) {
specs = make_ast_node_array(f);
- open = expect_token(f, Token_OpenParen);
- while (f->curr_token.kind != Token_CloseParen &&
+ open = expect_token(f, Token_OpenBrace);
+ while (f->curr_token.kind != Token_CloseBrace &&
f->curr_token.kind != Token_EOF) {
AstNode *spec = func(f, token);
array_add(&specs, spec);
expect_semicolon(f, spec);
}
- close = expect_token(f, Token_CloseParen);
+ close = expect_token(f, Token_CloseBrace);
if (f->curr_token.pos.line == close.pos.line ||
open.pos.line == close.pos.line) {
expect_semicolon(f, NULL);