|
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 ]
|