MCPcopy Create free account
hub / github.com/numpy/numpy / appenddecl

Function appenddecl

numpy/f2py/crackfortran.py:901–930  ·  view source on GitHub ↗
(decl, decl2, force=1)

Source from the content-addressed store, hash-verified

899
900
901def appenddecl(decl, decl2, force=1):
902 if not decl:
903 decl = {}
904 if not decl2:
905 return decl
906 if decl is decl2:
907 return decl
908 for k in list(decl2.keys()):
909 if k == 'typespec':
910 if force or k not in decl:
911 decl[k] = decl2[k]
912 elif k == 'attrspec':
913 for l in decl2[k]:
914 decl = setattrspec(decl, l, force)
915 elif k == 'kindselector':
916 decl = setkindselector(decl, decl2[k], force)
917 elif k == 'charselector':
918 decl = setcharselector(decl, decl2[k], force)
919 elif k in ['=', 'typename']:
920 if force or k not in decl:
921 decl[k] = decl2[k]
922 elif k == 'note':
923 pass
924 elif k in ['intent', 'check', 'dimension', 'optional',
925 'required', 'depend']:
926 errmess('appenddecl: "%s" not implemented.\n' % k)
927 else:
928 raise Exception('appenddecl: Unknown variable definition key: ' +
929 str(k))
930 return decl
931
932selectpattern = re.compile(
933 r'\s*(?P<this>(@\(@.*?@\)@|\*[\d*]+|\*\s*@\(@.*?@\)@|))(?P<after>.*)\Z', re.I)

Callers 2

analyzelineFunction · 0.85
analyzevarsFunction · 0.85

Calls 4

setattrspecFunction · 0.85
setkindselectorFunction · 0.85
setcharselectorFunction · 0.85
keysMethod · 0.80

Tested by

no test coverage detected