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