diff dmd/expression.h @ 1358:78038e540342

Fix overload resolution issue in dmd bug 313/314 fix.
author Christian Kamm <kamm incasoftware de>
date Sat, 16 May 2009 12:17:33 +0200
parents e961851fb8be
children 8026319762be
line wrap: on
line diff
--- a/dmd/expression.h	Fri May 15 17:17:20 2009 +0200
+++ b/dmd/expression.h	Sat May 16 12:17:33 2009 +0200
@@ -73,7 +73,7 @@
 Expression *resolveProperties(Scope *sc, Expression *e);
 void accessCheck(Loc loc, Scope *sc, Expression *e, Declaration *d);
 Dsymbol *search_function(AggregateDeclaration *ad, Identifier *funcid);
-void inferApplyArgTypes(enum TOK op, Arguments *arguments, Expression *aggr);
+void inferApplyArgTypes(enum TOK op, Arguments *arguments, Expression *aggr, Module* from);
 void argExpTypesToCBuffer(OutBuffer *buf, Expressions *arguments, HdrGenState *hgs);
 void argsToCBuffer(OutBuffer *buf, Expressions *arguments, HdrGenState *hgs);
 void expandTuples(Expressions *exps);
@@ -634,6 +634,7 @@
 {
     Declaration *var;
     unsigned offset;
+    Module* m;	// starting point for overload resolution
 
     SymOffExp(Loc loc, Declaration *var, unsigned offset);
     Expression *semantic(Scope *sc);
@@ -969,6 +970,7 @@
 struct DelegateExp : UnaExp
 {
     FuncDeclaration *func;
+    Module* m;	// starting point for overload resolution
 
     DelegateExp(Loc loc, Expression *e, FuncDeclaration *func);
     Expression *semantic(Scope *sc);
@@ -1036,6 +1038,8 @@
 
 struct AddrExp : UnaExp
 {
+    Module* m;	// starting point for overload resolution
+
     AddrExp(Loc loc, Expression *e);
     Expression *semantic(Scope *sc);
 #if IN_DMD