From: <cod...@go...> - 2008-12-10 16:32:18
|
Author: jam...@us... Date: Wed Dec 10 08:29:58 2008 New Revision: 375 Modified: branches/objc2/hoc/InterfaceGenerator2/Output.hs Log: (objc2 branch) Updated InterfaceGenerator2 to properly import and export metaclasses in support of r374. Modified: branches/objc2/hoc/InterfaceGenerator2/Output.hs ============================================================================== --- branches/objc2/hoc/InterfaceGenerator2/Output.hs (original) +++ branches/objc2/hoc/InterfaceGenerator2/Output.hs Wed Dec 10 08:29:58 2008 @@ -25,6 +25,7 @@ ClassEntity _ -> [eHaskellName e, '_' `BS.cons` eHaskellName e, eHaskellName e `BS.append` BS.pack "Class", + eHaskellName e `BS.append` BS.pack "MetaClass", BS.pack "super_" `BS.append` eHaskellName e, eHaskellName e `BS.snoc` '_' ] EnumEntity complete values -> @@ -56,11 +57,13 @@ LocalModule m -> text "import {-# SOURCE #-}" <+> textBS m <+> parens (textBS (eHaskellName e) <> comma - <+> textBS (eHaskellName e) <> text "Class") + <+> textBS (eHaskellName e) <> text "Class" <> comma + <+> textBS (eHaskellName e) <> text "MetaClass") FrameworkModule f m -> text "import" <+> textBS m <+> parens (textBS (eHaskellName e) <> comma - <+> textBS (eHaskellName e) <> text "Class") + <+> textBS (eHaskellName e) <> text "Class" <> comma + <+> textBS (eHaskellName e) <> text "MetaClass") pprHsBoot entityPile modName entities = text "module" <+> textBS modName <+> text "where" $+$ @@ -78,6 +81,9 @@ <+> parens (textBS name <> char '_' <+> char 'a') $+$ text "type" <+> textBS name <> text "Class" <+> char 'a' <+> equals <+> text (maybe "Class" ( (++ "Class") . BS.unpack . eHaskellName ) mbSuper) + <+> parens (textBS name <> char '_' <+> char 'a') $+$ + text "type" <+> textBS name <> text "MetaClass" <+> char 'a' <+> equals + <+> text (maybe "MetaClass" ( (++ "MetaClass") . BS.unpack . eHaskellName ) mbSuper) <+> parens (textBS name <> char '_' <+> char 'a') | (name, mbSuper) <- classes0 ] |