diff dmd2/dsymbol.h @ 1526:54b3c1394d62

Merged dmdfe 2.031.
author Robert Clipsham <robert@octarineparrot.com>
date Tue, 07 Jul 2009 02:26:11 +0100
parents 638d16625da2
children e4f7b5d9c68a
line wrap: on
line diff
--- a/dmd2/dsymbol.h	Mon Jul 06 23:57:27 2009 +0100
+++ b/dmd2/dsymbol.h	Tue Jul 07 02:26:11 2009 +0100
@@ -1,6 +1,6 @@
 
 // Compiler implementation of the D programming language
-// Copyright (c) 1999-2008 by Digital Mars
+// Copyright (c) 1999-2009 by Digital Mars
 // All Rights Reserved
 // written by Walter Bright
 // http://www.digitalmars.com
@@ -74,15 +74,14 @@
 struct DeleteDeclaration;
 struct HdrGenState;
 struct OverloadSet;
+#if TARGET_NET
+struct PragmaScope;
+#endif
 #if IN_LLVM
 struct TypeInfoDeclaration;
 struct ClassInfoDeclaration;
 #endif
 
-#if IN_DMD
-struct Symbol;
-#endif
-
 #if IN_GCC
 union tree_node;
 typedef union tree_node TYPE;
@@ -126,6 +125,7 @@
 #endif
     unsigned char *comment;	// documentation comment for this Dsymbol
     Loc loc;			// where defined
+    Scope *scope;		// !=NULL means context to use for semantic()
 
     Dsymbol();
     Dsymbol(Identifier *);
@@ -151,6 +151,7 @@
     virtual const char *kind();
     virtual Dsymbol *toAlias();			// resolve real symbol
     virtual int addMember(Scope *sc, ScopeDsymbol *s, int memnum);
+    virtual void setScope(Scope *sc);
     virtual void semantic(Scope *sc);
     virtual void semantic2(Scope *sc);
     virtual void semantic3(Scope *sc);
@@ -245,7 +246,9 @@
     virtual OverloadSet *isOverloadSet() { return NULL; }
     virtual TypeInfoDeclaration* isTypeInfoDeclaration() { return NULL; }
     virtual ClassInfoDeclaration* isClassInfoDeclaration() { return NULL; }
-
+#if TARGET_NET
+    virtual PragmaScope* isPragmaScope() { return NULL; }
+#endif
 #if IN_LLVM
     /// Codegen traversal
     virtual void codegen(Ir* ir);