7198582: (java) Minor refactor of JavacParser

Sat, 29 Sep 2012 09:00:58 -0700

author
ksrini
date
Sat, 29 Sep 2012 09:00:58 -0700
changeset 1346
20e4a54b1629
parent 1345
e77841f2c74b
child 1347
1408af4cd8b0

7198582: (java) Minor refactor of JavacParser
Reviewed-by: jjg, ksrini
Contributed-by: jan.lahoda@oracle.com

src/share/classes/com/sun/tools/javac/comp/Resolve.java file | annotate | diff | comparison | revisions
src/share/classes/com/sun/tools/javac/parser/JavacParser.java file | annotate | diff | comparison | revisions
src/share/classes/com/sun/tools/javap/CodeWriter.java file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/classes/com/sun/tools/javac/comp/Resolve.java	Fri Sep 28 14:57:31 2012 -0700
     1.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Resolve.java	Sat Sep 29 09:00:58 2012 -0700
     1.3 @@ -251,7 +251,7 @@
     1.4      /** An environment is "static" if its static level is greater than
     1.5       *  the one of its outer environment
     1.6       */
     1.7 -    static boolean isStatic(Env<AttrContext> env) {
     1.8 +    protected static boolean isStatic(Env<AttrContext> env) {
     1.9          return env.info.staticLevel > env.outer.info.staticLevel;
    1.10      }
    1.11  
     2.1 --- a/src/share/classes/com/sun/tools/javac/parser/JavacParser.java	Fri Sep 28 14:57:31 2012 -0700
     2.2 +++ b/src/share/classes/com/sun/tools/javac/parser/JavacParser.java	Sat Sep 29 09:00:58 2012 -0700
     2.3 @@ -2165,27 +2165,10 @@
     2.4          while (true) {
     2.5              int pos = token.pos;
     2.6              switch (token.kind) {
     2.7 -            case CASE: {
     2.8 -                nextToken();
     2.9 -                JCExpression pat = parseExpression();
    2.10 -                accept(COLON);
    2.11 -                List<JCStatement> stats = blockStatements();
    2.12 -                JCCase c = F.at(pos).Case(pat, stats);
    2.13 -                if (stats.isEmpty())
    2.14 -                    storeEnd(c, S.prevToken().endPos);
    2.15 -                cases.append(c);
    2.16 +            case CASE:
    2.17 +            case DEFAULT:
    2.18 +                cases.append(switchBlockStatementGroup());
    2.19                  break;
    2.20 -            }
    2.21 -            case DEFAULT: {
    2.22 -                nextToken();
    2.23 -                accept(COLON);
    2.24 -                List<JCStatement> stats = blockStatements();
    2.25 -                JCCase c = F.at(pos).Case(null, stats);
    2.26 -                if (stats.isEmpty())
    2.27 -                    storeEnd(c, S.prevToken().endPos);
    2.28 -                cases.append(c);
    2.29 -                break;
    2.30 -            }
    2.31              case RBRACE: case EOF:
    2.32                  return cases.toList();
    2.33              default:
    2.34 @@ -2196,6 +2179,32 @@
    2.35          }
    2.36      }
    2.37  
    2.38 +    protected JCCase switchBlockStatementGroup() {
    2.39 +        int pos = token.pos;
    2.40 +        List<JCStatement> stats;
    2.41 +        JCCase c;
    2.42 +        switch (token.kind) {
    2.43 +        case CASE:
    2.44 +            nextToken();
    2.45 +            JCExpression pat = parseExpression();
    2.46 +            accept(COLON);
    2.47 +            stats = blockStatements();
    2.48 +            c = F.at(pos).Case(pat, stats);
    2.49 +            if (stats.isEmpty())
    2.50 +                storeEnd(c, S.prevToken().endPos);
    2.51 +            return c;
    2.52 +        case DEFAULT:
    2.53 +            nextToken();
    2.54 +            accept(COLON);
    2.55 +            stats = blockStatements();
    2.56 +            c = F.at(pos).Case(null, stats);
    2.57 +            if (stats.isEmpty())
    2.58 +                storeEnd(c, S.prevToken().endPos);
    2.59 +            return c;
    2.60 +        }
    2.61 +        throw new AssertionError("should not reach here");
    2.62 +    }
    2.63 +
    2.64      /** MoreStatementExpressions = { COMMA StatementExpression }
    2.65       */
    2.66      <T extends ListBuffer<? super JCExpressionStatement>> T moreStatementExpressions(int pos,
     3.1 --- a/src/share/classes/com/sun/tools/javap/CodeWriter.java	Fri Sep 28 14:57:31 2012 -0700
     3.2 +++ b/src/share/classes/com/sun/tools/javap/CodeWriter.java	Sat Sep 29 09:00:58 2012 -0700
     3.3 @@ -1,5 +1,5 @@
     3.4  /*
     3.5 - * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
     3.6 + * Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
     3.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3.8   *
     3.9   * This code is free software; you can redistribute it and/or modify it
    3.10 @@ -45,8 +45,8 @@
    3.11   *  This code and its internal interfaces are subject to change or
    3.12   *  deletion without notice.</b>
    3.13   */
    3.14 -class CodeWriter extends BasicWriter {
    3.15 -    static CodeWriter instance(Context context) {
    3.16 +public class CodeWriter extends BasicWriter {
    3.17 +    public static CodeWriter instance(Context context) {
    3.18          CodeWriter instance = context.get(CodeWriter.class);
    3.19          if (instance == null)
    3.20              instance = new CodeWriter(context);

mercurial