RoseFE_SourceProcessing

changeset 546:33a001c70b43

more details in errors
author m_utkej@utke2.site
date Fri Dec 04 16:53:40 2009 -0600 (2009-12-04)
parents 65e48f1c388d
children 25572a032a09
files PyFort/stmt2unit.py
line diff
     1.1 --- a/PyFort/stmt2unit.py	Fri Dec 04 16:52:31 2009 -0600
     1.2 +++ b/PyFort/stmt2unit.py	Fri Dec 04 16:53:40 2009 -0600
     1.3 @@ -77,7 +77,12 @@
     1.4                  localSymtab.enter_name(name,newSymtabEntry)
     1.5              unitSymbolEntry,sTable=localSymtab.lookup_name_level(curr.val.name())
     1.6              if (unitSymbolEntry and unitSymbolEntry.entryKind==SymtabEntry.FunctionEntryKind and  unitSymbolEntry.genericInfo and unitSymbolEntry.genericInfo.genericName):
     1.7 -                argsTypeDict=localSymtab.lookup_name(unitSymbolEntry.genericInfo.genericName).genericInfo.resolvableTo[curr.val.name()]
     1.8 +                genericSymbolEntry=localSymtab.lookup_name(unitSymbolEntry.genericInfo.genericName)
     1.9 +                if (genericSymbolEntry is None):
    1.10 +                    raise SymtabError('cannot find generic '+unitSymbolEntry.genericInfo.genericName+' for specific '+curr.val.name()+' entry: '+unitSymbolEntry.debug(curr.val.name()))
    1.11 +                if (genericSymbolEntry.genericInfo is None or (not curr.val.name().lower() in genericSymbolEntry.genericInfo.resolvableTo)):
    1.12 +                    raise SymtabError('no info available for specific '+curr.val.name()+' in generic entry: '+genericSymbolEntry.debug(unitSymbolEntry.genericInfo.genericName))
    1.13 +                argsTypeDict=localSymtab.lookup_name(unitSymbolEntry.genericInfo.genericName).genericInfo.resolvableTo[curr.val.name().lower()]
    1.14                  if (argsTypeDict is None):
    1.15                      raise SymtabError('no arguments set for specific '+curr.val.name()+' under generic '+ unitSymbolEntry.genericInfo.genericName+' entry: '+localSymtab.lookup_name(unitSymbolEntry.genericInfo.genericName).debug(unitSymbolEntry.genericInfo.genericName))
    1.16                  if name.lower() in argsTypeDict: