X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=VHDL.hs;h=efa14097adb09301b8a6f7a617fa3598b787f644;hb=30a05fb3678f430135654b3f5d6612b409b7cd39;hp=0387327c05d2c02f4503c4990e6d742200d4b009;hpb=d347b7fdac3421817da5d1f571c0837fdbd28127;p=matthijs%2Fmaster-project%2Fc%CE%BBash.git diff --git a/VHDL.hs b/VHDL.hs index 0387327..efa1409 100644 --- a/VHDL.hs +++ b/VHDL.hs @@ -71,6 +71,16 @@ mkEntityId hsfunc = -- TODO: This doesn't work for functions with multiple signatures! mkVHDLId $ hsFuncName hsfunc +getLibraryUnits :: + (HsFunction, FuncData) -- | A function from the session + -> [AST.LibraryUnit] -- | The library units it generates + +getLibraryUnits (hsfunc, fdata) = + case entity fdata of + Nothing -> [] + Just ent -> case ent_decl ent of + Nothing -> [] + Just decl -> [AST.LUEntity decl] -- | The VHDL Bit type bit_ty :: AST.TypeMark