<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -131,7 +131,7 @@ interfaceExtends = do{ k &lt;- kw &quot;extends&quot;; s &lt;- many1 (do{n &lt;- nident; c &lt;- optio
 
 classDecl = do{ a &lt;- classAttributes; k &lt;- kw &quot;class&quot;; i &lt;- ident; e &lt;- optionMaybe(classExtends); im &lt;- optionMaybe(classImplements); storeClass i; b &lt;- classBlock; return $ ClassDecl a k i e im b}
 
-classAttributes = permute $ list &lt;$?&gt; (emptyctok, (try (kw &quot;public&quot;) &lt;|&gt; (kw &quot;internal&quot;))) &lt;|?&gt; (emptyctok, kw &quot;static&quot;) &lt;|?&gt; (emptyctok, kw &quot;dynamic&quot;)
+classAttributes = permute $ list &lt;$?&gt; (emptyctok, (choice[kw &quot;public&quot;, kw &quot;internal&quot;])) &lt;|?&gt; (emptyctok, kw &quot;static&quot;) &lt;|?&gt; (emptyctok, kw &quot;dynamic&quot;)
     where list v s d = filter (\a -&gt; fst a /= []) [v,s,d]
 
 classExtends = do{ k &lt;- kw &quot;extends&quot;; s &lt;- nident; return $ (k, s)}
@@ -149,7 +149,7 @@ methodDecl = try(do{ attr &lt;- methodAttributes
                ; storeProperty n acc sig
                ; return $ MethodDecl attr k acc n sig b})
 
-methodAttributes = permute $ list &lt;$?&gt; (emptyctok, (try (kw &quot;public&quot;) &lt;|&gt; try (kw &quot;private&quot;) &lt;|&gt; (kw &quot;protected&quot;))) &lt;|?&gt; (emptyctok, ident) &lt;|?&gt; (emptyctok, kw &quot;internal&quot;) &lt;|?&gt; (emptyctok, kw &quot;override&quot;) &lt;|?&gt; (emptyctok, kw &quot;static&quot;) &lt;|?&gt; (emptyctok, kw &quot;final&quot;) &lt;|?&gt; (emptyctok, kw &quot;native&quot;)
+methodAttributes = permute $ list &lt;$?&gt; (emptyctok, (choice[kw &quot;public&quot;, kw &quot;private&quot;, kw &quot;protected&quot;, kw &quot;internal&quot;])) &lt;|?&gt; (emptyctok, ident) &lt;|?&gt; (emptyctok, kw &quot;internal&quot;) &lt;|?&gt; (emptyctok, kw &quot;override&quot;) &lt;|?&gt; (emptyctok, kw &quot;static&quot;) &lt;|?&gt; (emptyctok, kw &quot;final&quot;) &lt;|?&gt; (emptyctok, kw &quot;native&quot;)
     where list v ns i o s f n = filter (\a -&gt; fst a /= []) [v,ns,i,o,s,f,n]
 
 signature = do{ lp &lt;- op &quot;(&quot;; a &lt;- sigargs; rp &lt;- op &quot;)&quot;; ret &lt;- optionMaybe ( do{ o &lt;- op &quot;:&quot;; r &lt;- datatype; return (o, r)}); return $ Signature lp a rp ret} -- missing return type means constructor
@@ -168,6 +168,14 @@ sigarg = try(do{ a &lt;- idn; o &lt;- op &quot;:&quot;;
              })
      &lt;|&gt; do{ d &lt;- op &quot;...&quot;; i &lt;- idn; t &lt;- optionMaybe (do{ o &lt;- op &quot;:&quot;; t &lt;- datatype; return (o, t)}); storeVar i AsTypeRest; return $ RestArg d i t }
 
+-- extractDynamicType used by sigarg to split TokenOp *= into the * datatype and = for assignment
+extractDynamicType ([t], s) = (([dt], []), ([eq], s))
+    where sourceName = tokenSource t
+          sourceLine = tokenLine t
+          sourceCol  = tokenCol t
+          dt = (TPos sourceName sourceLine sourceCol, TokenOp &quot;*&quot;)
+          eq = (TPos sourceName sourceLine (sourceCol+1), TokenOp &quot;=&quot;)
+ 
 varS = try(do{ ns &lt;- varAttributes
              ; k &lt;- choice[kw &quot;var&quot;, kw &quot;const&quot;]
              ; v &lt;- varBinding
@@ -176,31 +184,9 @@ varS = try(do{ ns &lt;- varAttributes
              }
           )
 
-varAttributes = permute $ list &lt;$?&gt; (emptyctok, (choice[kw &quot;public&quot;, kw &quot;private&quot;, kw &quot;protected&quot;])) &lt;|?&gt; (emptyctok, ident) &lt;|?&gt; (emptyctok, kw &quot;static&quot;) &lt;|?&gt; (emptyctok, kw &quot;native&quot;)
+varAttributes = permute $ list &lt;$?&gt; (emptyctok, (choice[kw &quot;public&quot;, kw &quot;private&quot;, kw &quot;protected&quot;, kw &quot;internal&quot;])) &lt;|?&gt; (emptyctok, ident) &lt;|?&gt; (emptyctok, kw &quot;static&quot;) &lt;|?&gt; (emptyctok, kw &quot;native&quot;)
     where list v ns s n = filter (\a -&gt; fst a /= []) [v,ns,s,n]
 
-{-
-varBinding = try(do n &lt;- idn
-                    t &lt;- optionMaybe(do{c &lt;- op &quot;:&quot;; dt &lt;- datatype; return (c, dt)})
-                    i &lt;- optionMaybe (do{ o &lt;- op &quot;=&quot;; e &lt;- assignE; return $ (o, e)})
-                    return $ VarBinding n t i
-                )
-             &lt;|&gt; do n &lt;- idn
-                    c &lt;- op &quot;:&quot;
-                    dt &lt;- op &quot;*=&quot;
-                    let (dt', o) = extractDynamicType dt
-                    e &lt;- assignE;
-                    return $ VarBinding n (Just (c, AsType dt')) (Just (o, e))
--}
-
-extractDynamicType ([t], s) = (([dt], []), ([eq], s))
-    where sourceName = tokenSource t
-          sourceLine = tokenLine t
-          sourceCol  = tokenCol t
-          dt = (TPos sourceName sourceLine sourceCol, TokenOp &quot;*&quot;)
-          eq = (TPos sourceName sourceLine (sourceCol+1), TokenOp &quot;=&quot;)
- 
-
 varBinding = try(do{ n &lt;- idn
                    ; t &lt;- optionMaybe(do{c &lt;- op &quot;:&quot;; dt &lt;- datatype; return (c, dt)})
                    ; i &lt;- optionMaybe (do{ o &lt;- op &quot;=&quot;; e &lt;- assignE; return $ (o, e)})
@@ -226,7 +212,7 @@ datatype = try(do{ t &lt;- kw &quot;void&quot;;      return $ AsType t})
 
 primaryE = try(do{ x &lt;- kw &quot;this&quot;; return $ PEThis x})
        &lt;|&gt; try(do{ x &lt;- idn; return $ PEIdent x})
-       &lt;|&gt; try(do{ x &lt;- choice[(kw &quot;null&quot;), (kw &quot;true&quot;), (kw &quot;false&quot;), (kw &quot;public&quot;), (kw &quot;private&quot;), (kw &quot;protected&quot;), (kw &quot;internal&quot;)]; return $ PELit x})
+       &lt;|&gt; try(do{ x &lt;- choice[kw &quot;null&quot;, kw &quot;true&quot;, kw &quot;false&quot;, kw &quot;public&quot;, kw &quot;private&quot;, kw &quot;protected&quot;, kw &quot;internal&quot;]; return $ PELit x})
        &lt;|&gt; try(do{ x &lt;- str; return $ PELit x})
        &lt;|&gt; try(do{ x &lt;- num; return $ PELit x})
        &lt;|&gt; try(do{ x &lt;- arrayLit; return $ PEArray x})</diff>
      <filename>ActionhaXe/Parser.hs</filename>
    </modified>
    <modified>
      <diff>@@ -280,7 +280,7 @@ methodDecl (MethodDecl a f ac n s b) = do
 imethodDecl (MethodDecl a f ac n s b) = do 
     s' &lt;- signature s
     return $ attr a ++ showb f ++ showb n ++ s'
-    where attr as = concat $ map (\attr -&gt; case (showd attr) of { &quot;internal&quot; -&gt; &quot;private&quot; ++ showw attr; x -&gt; showb attr }) as
+    where attr as = concat $ map (\attr -&gt; case (showd attr) of { &quot;internal&quot; -&gt; &quot;public&quot; ++ showw attr; x -&gt; showb attr }) as
 
 
 signatureArgs (Signature l args r ret) = do{ a &lt;- showArgs args
@@ -365,9 +365,9 @@ getTypeTokenType (TokenKw &quot;false&quot;) = Just &quot;Bool&quot;
 getTypeTokenType _ = Nothing
 
 namespace ns = concat $ map (\attr -&gt; (case showd attr of { &quot;private&quot; -&gt; &quot;&quot; -- all fields by default are private
-                                                          ; &quot;protected&quot; -&gt; &quot;&quot; -- in haXe private  fields are accessible by subclasses
-                                                          ; &quot;internal&quot; -&gt; &quot;&quot;
-                                                          ; &quot;dynamic&quot; -&gt; &quot;&quot;
+                                                          ; &quot;protected&quot; -&gt; &quot;&quot; -- in haXe private fields are accessible by subclasses
+                                                          ; &quot;internal&quot; -&gt; &quot;public&quot; ++ showw attr -- internal fields are used by different packages in as3
+                                                          ; &quot;dynamic&quot; -&gt; &quot;dynamic /*class must implement Dynamic&lt;Dynamic&gt;*/&quot; ++ showw attr
                                                           ; &quot;final&quot; -&gt; &quot;&quot;
                                                           ; _ -&gt; showb attr 
                                                           }</diff>
      <filename>ActionhaXe/Translator.hs</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1,2 @@
+ghc --make -XDeriveDataTypeable Parseit.hs
 ghc --make -XDeriveDataTypeable as3tohaxe.hs</diff>
      <filename>build</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>6f8a2f45ef1357a3f7eec1b9f7a17b82fde616e3</id>
    </parent>
  </parents>
  <author>
    <name>Don-Duong Quach</name>
    <email>geekrelief@gmail.com</email>
  </author>
  <url>http://github.com/geekrelief/as3tohaxe/commit/0c33248b81545178225123a876742d4d9765dd63</url>
  <id>0c33248b81545178225123a876742d4d9765dd63</id>
  <committed-date>2009-01-19T12:46:17-08:00</committed-date>
  <authored-date>2009-01-19T12:46:17-08:00</authored-date>
  <message>translated internal for variables to public, dynamic displays a comment to implement Dynamic</message>
  <tree>09c7ccb25514b6214e4214bbbd70b2629041b0f6</tree>
  <committer>
    <name>Don-Duong Quach</name>
    <email>geekrelief@gmail.com</email>
  </committer>
</commit>
