Mercurial > projects > ldc
comparison dmd/dsymbol.c @ 19:788401029ecf trunk
[svn r23] * Updated to DMD 1.021
author | lindquist |
---|---|
date | Thu, 04 Oct 2007 03:42:56 +0200 |
parents | c53b6e3fe49a |
children | 0ccfae271c45 |
comparison
equal
deleted
inserted
replaced
18:c05ef76f1c20 | 19:788401029ecf |
---|---|
773 { | 773 { |
774 return "ScopeDsymbol"; | 774 return "ScopeDsymbol"; |
775 } | 775 } |
776 | 776 |
777 | 777 |
778 /******************************************* | |
779 * Look for member of the form: | |
780 * const(MemberInfo)[] getMembers(string); | |
781 * Returns NULL if not found | |
782 */ | |
783 | |
784 #if V2 | |
785 FuncDeclaration *ScopeDsymbol::findGetMembers() | |
786 { | |
787 Dsymbol *s = search_function(this, Id::getmembers); | |
788 FuncDeclaration *fdx = s ? s->isFuncDeclaration() : NULL; | |
789 | |
790 #if 0 // Finish | |
791 static TypeFunction *tfgetmembers; | |
792 | |
793 if (!tfgetmembers) | |
794 { | |
795 Scope sc; | |
796 Arguments *arguments = new Arguments; | |
797 Arguments *arg = new Argument(STCin, Type::tchar->constOf()->arrayOf(), NULL, NULL); | |
798 arguments->push(arg); | |
799 | |
800 Type *tret = NULL; | |
801 tfgetmembers = new TypeFunction(arguments, tret, 0, LINKd); | |
802 tfgetmembers = (TypeFunction *)tfgetmembers->semantic(0, &sc); | |
803 } | |
804 if (fdx) | |
805 fdx = fdx->overloadExactMatch(tfgetmembers); | |
806 #endif | |
807 if (fdx && fdx->isVirtual()) | |
808 fdx = NULL; | |
809 | |
810 return fdx; | |
811 } | |
812 #endif | |
813 | |
814 | |
778 /****************************** WithScopeSymbol ******************************/ | 815 /****************************** WithScopeSymbol ******************************/ |
779 | 816 |
780 WithScopeSymbol::WithScopeSymbol(WithStatement *withstate) | 817 WithScopeSymbol::WithScopeSymbol(WithStatement *withstate) |
781 : ScopeDsymbol() | 818 : ScopeDsymbol() |
782 { | 819 { |