On Thu, Aug 28, 2008 at 6:57 AM, Mike Stay <[EMAIL PROTECTED]> wrote:
> Please also add the following to CommonJsRewriterTest.java:
> assertConsistent("for (var i = 0, j = 0; i < 10; i++, j += 10) { } j;
> to test comma expressions in the final position.
>
> Otherwise lgtm.
>
>
> On Wed, Aug 27, 2008 at 5:14 PM, <[EMAIL PROTECTED]> wrote:
> > I'd like you to do a code review. To review this change, run
> >
> > gvn review --project
> > https://google-caja.googlecode.com/svn/trunkihab/[EMAIL PROTECTED]
> >
> > Alternatively, to review the latest snapshot of this change
> > branch, run
> >
> > gvn --project https://google-caja.googlecode.com/svn/trunk review
> ihab/cajamodemultidecl
> >
> > to review the following change:
> >
> > *ihab/[EMAIL PROTECTED] | ihab | 2008-08-27 16:12:05 -0800 (Wed, 27
> Aug 2008)
> >
> > Description:
> >
> > Add "-a, --caja" command line flag and remove "warts mode" flag. Fix bug
> in
> > handling of multi-declarations in for loops.
> >
> >
> >
> > Affected Paths:
> > M //trunk/src/com/google/caja/opensocial/GadgetRewriterMain.java
> > M
> //trunk/src/com/google/caja/parser/quasiliteral/DefaultValijaRewriter.java
> > M //trunk/src/com/google/caja/plugin/Config.java
> > M //trunk/src/com/google/caja/plugin/PluginCompilerMain.java
> > M
> //trunk/tests/com/google/caja/parser/quasiliteral/CommonJsRewriterTest.java
> > M
> //trunk/tests/com/google/caja/parser/quasiliteral/DefaultValijaRewriterTest.java
> >
> >
> > This is a semiautomated message from "gvn mail". See
> > <http://code.google.com/p/gvn/> to learn more.
> >
> > Index: src/com/google/caja/opensocial/GadgetRewriterMain.java
> > ===================================================================
> > --- src/com/google/caja/opensocial/GadgetRewriterMain.java
> (//trunk/src/com/google/caja/opensocial/[EMAIL PROTECTED])
> > +++ src/com/google/caja/opensocial/GadgetRewriterMain.java
>
> (//changes/ihab/cajamodemultidecl/trunk/src/com/google/caja/opensocial/[EMAIL
> PROTECTED]
> )
> > @@ -71,6 +71,7 @@
> > rewriter.setCssSchema(config.getCssSchema(mq));
> > rewriter.setHtmlSchema(config.getHtmlSchema(mq));
> > rewriter.setDebugMode(config.debugMode());
> > + rewriter.setValijaMode(config.cajaMode());
> >
> > Writer w = new BufferedWriter(new
> FileWriter(config.getOutputBase()));
> > try {
> > Index: src/com/google/caja/parser/quasiliteral/DefaultValijaRewriter.java
> > ===================================================================
> > --- src/com/google/caja/parser/quasiliteral/DefaultValijaRewriter.java
>
> (//trunk/src/com/google/caja/parser/quasiliteral/[EMAIL PROTECTED]
> )
> > +++ src/com/google/caja/parser/quasiliteral/DefaultValijaRewriter.java
>
>
> (//changes/ihab/cajamodemultidecl/trunk/src/com/google/caja/parser/quasiliteral/[EMAIL
> PROTECTED]
> )
> > @@ -1228,15 +1228,18 @@
> > @Override
> > @RuleDescription(
> > name="multiDeclaration",
> > - synopsis="Convert a MultiDeclaration into a Block of
> initializer exprs",
> > + synopsis="Convert a MultiDeclaration into a comma expression",
> > reason="")
> > public ParseTreeNode fire(ParseTreeNode node, Scope scope,
> MessageQueue mq) {
> > if (node instanceof MultiDeclaration) {
> > - ParseTreeNodeContainer children =
> > - new ParseTreeNodeContainer(node.children());
> > - return substV(
> > - "{ @init*; }",
> > - "init", expandAll(children, scope, mq));
> > + Expression[] newChildren = new
> Expression[node.children().size()];
> > + for (int i = 0; i < newChildren.length; i++) {
> > + ExpressionStmt result = (ExpressionStmt)
> > + expand(node.children().get(i), scope, mq);
> > + newChildren[i] = result.getExpression();
> > + }
> > + return new ExpressionStmt(
> > + Operation.create(Operator.COMMA, newChildren));
> > }
> > return NONE;
> > }
> > Index: src/com/google/caja/plugin/Config.java
> > ===================================================================
> > --- src/com/google/caja/plugin/Config.java
> (//trunk/src/com/google/caja/plugin/[EMAIL PROTECTED])
> > +++ src/com/google/caja/plugin/Config.java
> (//changes/ihab/cajamodemultidecl/trunk/src/com/google/caja/plugin/[EMAIL
> PROTECTED]
> )
> > @@ -98,8 +98,8 @@
> > private final Option DEBUG_MODE = defineBooleanOption(
> > "g", "debug", "Set to add debugging info to cajoled output.");
> >
> > - private final Option WARTS_MODE = defineBooleanOption(
> > - "w", "warts", "Enables more lenient cajoling via 'warts'
> features.");
> > + private final Option CAJA_MODE = defineBooleanOption(
> > + "a", "caja", "Enables Caja (as opposed to Cajita) mode.");
> >
> > private final Class<?> mainClass;
> > private final PrintWriter stderr;
> > @@ -113,7 +113,7 @@
> > private URI baseUri;
> > private String gadgetView;
> > private boolean debugMode;
> > - private boolean wartsMode;
> > + private boolean cajaMode;
> > private int servicePort;
> >
> > public Config(Class<?> mainClass, PrintStream stderr, String usageText)
> {
> > @@ -158,7 +158,7 @@
> >
> > public boolean debugMode() { return debugMode; }
> >
> > - public boolean wartsMode() { return wartsMode; }
> > + public boolean cajaMode() { return cajaMode; }
> >
> > public boolean processArguments(String[] argv) {
> > try {
> > @@ -250,7 +250,7 @@
> >
> > gadgetView = cl.getOptionValue(VIEW.getOpt(), "canvas");
> > debugMode = cl.hasOption(DEBUG_MODE.getOpt());
> > - wartsMode = cl.hasOption(WARTS_MODE.getOpt());
> > + cajaMode = cl.hasOption(CAJA_MODE.getOpt());
> >
> > String servicePortString;
> > try {
> > Index: src/com/google/caja/plugin/PluginCompilerMain.java
> > ===================================================================
> > --- src/com/google/caja/plugin/PluginCompilerMain.java
> (//trunk/src/com/google/caja/plugin/[EMAIL PROTECTED])
> > +++ src/com/google/caja/plugin/PluginCompilerMain.java
> (//changes/ihab/cajamodemultidecl/trunk/src/com/google/caja/plugin/[EMAIL
> PROTECTED]
> )
> > @@ -83,7 +83,8 @@
> > try {
> > PluginMeta meta = new PluginMeta(makeEnvironment(config));
> > meta.setDebugMode(config.debugMode());
> > - meta.setWartsMode(config.wartsMode());
> > + meta.setWartsMode(false);
> > + meta.setValijaMode(config.cajaMode());
> > PluginCompiler compiler = new PluginCompiler(meta, mq);
> > mc = compiler.getMessageContext();
> > compiler.setCssSchema(config.getCssSchema(mq));
> > Index:
> tests/com/google/caja/parser/quasiliteral/CommonJsRewriterTest.java
> > ===================================================================
> > --- tests/com/google/caja/parser/quasiliteral/CommonJsRewriterTest.java
>
> (//trunk/tests/com/google/caja/parser/quasiliteral/[EMAIL PROTECTED]
> )
> > +++ tests/com/google/caja/parser/quasiliteral/CommonJsRewriterTest.java
>
>
> (//changes/ihab/cajamodemultidecl/trunk/tests/com/google/caja/parser/quasiliteral/[EMAIL
> PROTECTED]
> )
> > @@ -220,6 +220,12 @@
> > " (['test', 'x_', 'y']).toSource());");
> > }
> > }
> > +
> > + public void testFor() throws Exception{
> > + assertConsistent("var i; for (i = 0; i < 10; i++) {} i;");
> > + assertConsistent("for (var i = 0; i < 10; i++) {} i;");
> > + assertConsistent("for (var i = 0, j = 0; i < 10; i++) { j += 10; }
> j;");
> > + }
> > }
> >
> >
> > Index:
> tests/com/google/caja/parser/quasiliteral/DefaultValijaRewriterTest.java
> > ===================================================================
> > ---
> tests/com/google/caja/parser/quasiliteral/DefaultValijaRewriterTest.java
> (//trunk/tests/com/google/caja/parser/quasiliteral/[EMAIL PROTECTED]
> )
> > +++
> tests/com/google/caja/parser/quasiliteral/DefaultValijaRewriterTest.java
>
> (//changes/ihab/cajamodemultidecl/trunk/tests/com/google/caja/parser/quasiliteral/[EMAIL
> PROTECTED]
> )
> > @@ -65,10 +65,6 @@
> > public void testObject() throws Exception {
> > assertConsistent("({x:1,y:2}).toString();");
> > }
> > - public void testFor() throws Exception {
> > - assertConsistent("for (i=0; i<10; i++) {} i;");
> > - assertConsistent("for (var i=0; i<10; i++) {} i;");
> > - }
> > public void testUnderscore() throws Exception {
> > // TODO: enable this behavior
> > // assertConsistent("var x_=1; x_;");
> > @@ -152,10 +148,6 @@
> > + "assertEquals(3, x);");
> > }
> >
> > - public void testTestToSource() throws Exception {
> > - testToSource();
> > - }
> > -
> > @Override
> > protected Object executePlain(String caja) throws IOException,
> ParseException {
> > mq.getMessages().clear();
> >
> >
>
>
>
> --
> Mike Stay - [EMAIL PROTECTED]
> http://math.ucr.edu/~mike <http://math.ucr.edu/%7Emike>
> http://reperiendi.wordpress.com
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to
http://groups.google.com/group/google-caja-discuss
To unsubscribe, email [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---