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);