Nice/src/bossa/parser Parser.jj,1.322,1.323

Daniel Bonniot <[email protected]> Mon, 28 Mar 2005 11:35:18 +0000
Newsgroups gmane.comp.lang.nice.cvs
Message-ID <[email protected]>
Update of /cvsroot/nice/Nice/src/bossa/parser
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1516/src/bossa/parser

Modified Files:
	Parser.jj 
Log Message:
Enforce private visibility for methods (no restriction yet).


Index: Parser.jj
===================================================================
RCS file: /cvsroot/nice/Nice/src/bossa/parser/Parser.jj,v
retrieving revision 1.322
retrieving revision 1.323
diff -C2 -d -r1.322 -r1.323
*** Parser.jj	22 Mar 2005 10:55:06 -0000	1.322
--- Parser.jj	28 Mar 2005 11:35:15 -0000	1.323
***************
*** 869,872 ****
--- 869,883 ----
  
  /***********************************************************************/
+ /*                          Visibility                                 */
+ /***********************************************************************/
+ 
+ Visibility visibility():
+ { boolean pub = false, priv = false; }
+ {
+   [ "public" { pub = true; } | "private"  { priv = true; } ]
+   { return dispatch.visibility(pub, priv); }
+ }
+ 
+ /***********************************************************************/
  /*                          Classes                                    */
  /***********************************************************************/
***************
*** 945,949 ****
  }
  
! Definition internalMethodOrFunction(MethodContainer c, boolean isOverride):
  {
    LocatedString name;
--- 956,961 ----
  }
  
! Definition internalMethodOrFunction
!   (MethodContainer c, boolean isOverride, Visibility vis):
  {
    LocatedString name;
***************
*** 963,969 ****
    ( ";" | body = code() {statements.add(body);} )
  
!   { return c.createMemberMethod(name, cst, returnType, parameters,
!                              body != null ? bossa.syntax.dispatch.createBlock(statements) : null,
!                              contract, isOverride); }
  }
  
--- 975,983 ----
    ( ";" | body = code() {statements.add(body);} )
  
!   { return c.createMemberMethod
!       (name, cst, returnType, parameters,
!        body != null ? bossa.syntax.dispatch.createBlock(statements) : null,
!        contract, isOverride, vis);
!   }
  }
  
***************
*** 1106,1110 ****
        getField(impl, storeDocString)
      | { Definition m; Token t = getToken(1); boolean isOverride = false; }
!       [ "public" | "private" ]
        [ "override" { isOverride = true; } ]
        (
--- 1120,1125 ----
        getField(impl, storeDocString)
      | { Definition m; Token t = getToken(1); boolean isOverride = false; }
!       { Visibility vis; }
!       vis = visibility()
        [ "override" { isOverride = true; } ]
        (
***************
*** 1113,1117 ****
  	{ definitions.add(m); }
        |
!         m = internalMethodOrFunction(res, isOverride)
          { methods.add(m); }
        )
--- 1128,1132 ----
  	{ definitions.add(m); }
        |
!         m = internalMethodOrFunction(res, isOverride, vis)
          { methods.add(m); }
        )
***************
*** 1175,1181 ****
  				extensions); }
      (
!       { Definition m; }
!       [ "public" | "private" ]
!       m = internalMethodOrFunction(res, false)
        { definitions.add(m); }
      )*
--- 1190,1196 ----
  				extensions); }
      (
!       { Definition m; Visibility vis; }
!       vis = visibility()
!       m = internalMethodOrFunction(res, false, vis)
        { definitions.add(m); }
      )*
***************
*** 1423,1427 ****
  }
  
! Definition methodDeclaration(Constraint cst, boolean isOverride):
  {
      LocatedString name;
--- 1438,1442 ----
  }
  
! Definition methodDeclaration(Constraint cst, boolean isOverride, Visibility vis):
  {
      LocatedString name;
***************
*** 1459,1463 ****
              (name, cst, returnType, parameters,
               bossa.syntax.dispatch.createBlock(statements),
!              contract, isOverride);
          }
        |
--- 1474,1478 ----
              (name, cst, returnType, parameters,
               bossa.syntax.dispatch.createBlock(statements),
!              contract, isOverride, vis);
          }
        |
***************
*** 1465,1469 ****
          ";"
          { res = bossa.syntax.dispatch.createNiceMethod
!             (name, cst, returnType, parameters, contract, isOverride); }
        )
      )
--- 1480,1484 ----
          ";"
          { res = bossa.syntax.dispatch.createNiceMethod
!             (name, cst, returnType, parameters, contract, isOverride, vis); }
        )
      )
***************
*** 1585,1589 ****
  
  Definition definition(List definitions, boolean storeDocString):
! { Definition res; boolean pub = false, priv = false; }
  {
    (
--- 1600,1604 ----
  
  Definition definition(List definitions, boolean storeDocString):
! { Definition res; Visibility vis; }
  {
    (
***************
*** 1594,1604 ****
      res=methodBodyDefinition(null)
    |
!     [ "public" { pub = true; } | "private"  { priv = true; } ]
!     { Visibility vis = dispatch.visibility(pub, priv); }
      (
        res=globalVariable(vis)
      | res=enumDefinition(definitions)
      | "override" { Constraint cst; } cst = constraint()
!       res=methodDeclaration(cst, true)
      | cst = constraint()
        (
--- 1609,1618 ----
      res=methodBodyDefinition(null)
    |
!     vis = visibility()
      (
        res=globalVariable(vis)
      | res=enumDefinition(definitions)
      | "override" { Constraint cst; } cst = constraint()
!       res=methodDeclaration(cst, true, vis)
      | cst = constraint()
        (
***************
*** 1607,1611 ****
          res=interfaceDefinition(cst, definitions)
        | res=typeDefinition(cst, definitions, storeDocString)
!       | res=methodDeclaration(cst, false)
        )
      )
--- 1621,1625 ----
          res=interfaceDefinition(cst, definitions)
        | res=typeDefinition(cst, definitions, storeDocString)
!       | res=methodDeclaration(cst, false, vis)
        )
      )



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click