Ignore:
Timestamp:
May 21, 2013, 4:12:07 PM (6 years ago)
Author:
ksherdy
Message:

Minor mods to sync with the refactored pabloS grammar.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • proto/pabloj/branches/refactor-experimental/src/toolchain/pabloS/ast/Accessors.java

    r3143 r3164  
    1818        // Narrowest node type returned whenever possible. ASTNode type otherwise.
    1919        //
    20         // WARNING: Add addition methods as needed. Do not hard code child index
    21         //                      values in general code.
     20        // WARNING: Add addition methods as needed. Avoid hard coding child index
     21        //                      values in general compiler code. Use the accessor methods of
     22        //                      this class.
    2223        //
    2324        ////////////////////////////////////////////////////////////////////////////
     
    2829               
    2930                for(ASTNode child: node.getChildren()) {
    30                         if (child instanceof TypeDeclNode) {
    31                                 ASTNode type = child.child(0);
    32                                 if(type instanceof StructTypeNode) {
    33                                         structTypeDecls.add((StructTypeNode)type);
    34                                 }
     31                        if(child instanceof StructTypeNode) {
     32                                structTypeDecls.add((StructTypeNode)child);
    3533                        }
    3634                }
     
    315313                return Accessors.name(node);
    316314        }       
    317 
    318         public static boolean hasFieldWidth(StreamTypeNode node) {             
    319                 if(1 == node.nChildren()) {
    320                         assert node.child(0) instanceof FieldWidthNode;
    321                         return true;
    322                 }
    323                 return false;
    324         }
    325        
    326         public static FieldWidthNode fieldWidthNode(StreamTypeNode node) {
    327                 assert node.nChildren() == 1 && node.child(0) instanceof FieldWidthNode;
    328                 return (FieldWidthNode) node.child(0);
    329         }
    330        
     315       
     316        public static String fieldWidth(StreamTypeNode node) {
     317                return Accessors.lexeme(node);
     318        }
    331319
    332320        ////////////////////////////////////////////////////////////////////////////
Note: See TracChangeset for help on using the changeset viewer.