Mercurial > projects > dang
diff sema/ScopeBuilder.d @ 145:a14ac9e5c858
Changes Scope to use char[]'s insted of Identifiers for lookup.
author | Anders Johnsen <skabet@gmail.com> |
---|---|
date | Mon, 21 Jul 2008 17:56:33 +0200 |
parents | 6e6355fb5f0f |
children | 393a1f47a6d2 |
line wrap: on
line diff
--- a/sema/ScopeBuilder.d Mon Jul 21 17:41:40 2008 +0200 +++ b/sema/ScopeBuilder.d Mon Jul 21 17:56:33 2008 +0200 @@ -43,7 +43,7 @@ d.sym = current.symbol.createMember( d.identifier.get, d.type, - d.env.find(d.identifier)); + d.env.find(d.identifier.get)); } override void visitVarDecl(VarDecl d) @@ -57,8 +57,8 @@ DType t = typeOf(d.varType, d.env); d.sym = current.symbol.createAlias( d.identifier.get, - d.env.find(d.varType).sym, - d.env.find(d.identifier)); + d.env.find(d.varType.get).sym, + d.env.find(d.identifier.get)); d.sym.type = t; } @@ -98,7 +98,7 @@ return (typeOf(i.pointerOf, sc)).getPointerTo(); else if(auto i = cast(StaticArrayIdentifier)id) return typeOf(i.arrayOf, sc).getAsStaticArray(i.size); - return sc.findType(id); + return sc.findType(id.get); } Module[] modules; @@ -120,11 +120,11 @@ override void visitStructDecl(StructDecl s) { - auto st = s.env.findType(s.identifier).asStruct; + auto st = s.env.findType(s.identifier.get).asStruct; s.sym = current.symbol.createMember( s.identifier.get, st, - s.env.find(s.identifier)); + s.env.find(s.identifier.get)); foreach (decl; s.decls) { @@ -146,11 +146,11 @@ override void visitClassDecl(ClassDecl s) { - auto st = s.env.findType(s.identifier).asClass; + auto st = s.env.findType(s.identifier.get).asClass; s.sym = current.symbol.createMember( s.identifier.get, st, - s.env.find(s.identifier)); + s.env.find(s.identifier.get)); foreach (decl; s.decls) { @@ -172,11 +172,11 @@ override void visitInterfaceDecl(InterfaceDecl s) { - auto st = s.env.findType(s.identifier).asInterface; + auto st = s.env.findType(s.identifier.get).asInterface; s.sym = current.symbol.createMember( s.identifier.get, st, - s.env.find(s.identifier)); + s.env.find(s.identifier.get)); foreach (decl; s.decls) { @@ -203,7 +203,7 @@ return (typeOf(i.pointerOf, sc)).getPointerTo(); else if(auto i = cast(StaticArrayIdentifier)id) return typeOf(i.arrayOf, sc).getAsStaticArray(i.size); - return sc.findType(id); + return sc.findType(id.get); } Module current; @@ -247,7 +247,7 @@ sym.decl = decl; decl.sym = sym; decl.env = sc; - sc.put(id, decl); + sc.put(id.get, decl); } override void visitModule(Module m) @@ -311,7 +311,7 @@ override void visitFuncDecl(FuncDecl d) { - current().put(d.identifier, d); + current().put(d.identifier.get, d); d.env = current(); auto sc = push(); @@ -339,7 +339,7 @@ } auto sc = current(); - sc.put(d.identifier, d); + sc.put(d.identifier.get, d); d.env = sc; visitExp(d.varType); visitExp(d.identifier); @@ -348,7 +348,7 @@ override void visitStructDecl(StructDecl s) { auto sc = current(); - sc.put(s.identifier, s); + sc.put(s.identifier.get, s); s.env = sc; auto type = new DStruct(s.identifier); @@ -362,7 +362,7 @@ override void visitClassDecl(ClassDecl s) { auto sc = current(); - sc.put(s.identifier, s); + sc.put(s.identifier.get, s); s.env = sc; auto type = new DClass(s.identifier); @@ -376,7 +376,7 @@ override void visitInterfaceDecl(InterfaceDecl s) { auto sc = current(); - sc.put(s.identifier, s); + sc.put(s.identifier.get, s); s.env = sc; auto type = new DInterface(s.identifier);