Changeset 6e8bd43 for src/SynTree


Ignore:
Timestamp:
Mar 16, 2017, 7:41:45 AM (8 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
64b6913, 68fe077a
Parents:
905eca1
Message:

cleanup interface to qualifiers/specifiers

Location:
src/SynTree
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • src/SynTree/FunctionDecl.cc

    r905eca1 r6e8bd43  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Mar  7 07:54:58 2017
    13 // Update Count     : 68
     12// Last Modified On : Wed Mar 15 23:33:43 2017
     13// Update Count     : 72
    1414//
    1515
     
    6565        printAll( get_attributes(), os, indent );
    6666
    67         DeclarationNode::print_StorageClass( os, get_storageClasses() );
    68         DeclarationNode::print_FuncSpec( os, get_funcSpec() );
     67        get_storageClasses().print( os );
     68        get_funcSpec().print( os );
    6969
    7070        if ( get_type() ) {
     
    9191        // xxx - should printShort print attributes?
    9292
    93         DeclarationNode::print_StorageClass( os, get_storageClasses() );
    94         DeclarationNode::print_FuncSpec( os, get_funcSpec() );
     93        get_storageClasses().print( os );
     94        get_funcSpec().print( os );
    9595
    9696        if ( get_type() ) {
  • src/SynTree/NamedTypeDecl.cc

    r905eca1 r6e8bd43  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Mar  7 07:39:41 2017
    13 // Update Count     : 10
     12// Last Modified On : Wed Mar 15 23:25:41 2017
     13// Update Count     : 12
    1414//
    1515
     
    3939                os << get_name() << ": ";
    4040        } // if
    41         DeclarationNode::print_StorageClass( os, get_storageClasses() );
     41        get_storageClasses().print( os );
    4242        os << typeString();
    4343        if ( base ) {
     
    6161                os << get_name() << ": ";
    6262        } // if
    63         DeclarationNode::print_StorageClass( os, get_storageClasses() );
     63        get_storageClasses().print( os );
    6464        os << typeString();
    6565        if ( base ) {
  • src/SynTree/ObjectDecl.cc

    r905eca1 r6e8bd43  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Mar  7 07:55:24 2017
    13 // Update Count     : 54
     12// Last Modified On : Wed Mar 15 23:26:22 2017
     13// Update Count     : 57
    1414//
    1515
     
    4747        printAll( get_attributes(), os, indent );
    4848
    49         DeclarationNode::print_StorageClass( os, get_storageClasses() );
     49        get_storageClasses().print( os );
    5050
    5151        if ( get_type() ) {
     
    8181        // xxx - should printShort print attributes?
    8282
    83         DeclarationNode::print_StorageClass( os, get_storageClasses() );
     83        get_storageClasses().print( os );
    8484
    8585        if ( get_type() ) {
  • src/SynTree/Type.cc

    r905eca1 r6e8bd43  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Mar 15 21:22:16 2017
    13 // Update Count     : 15
     12// Last Modified On : Wed Mar 15 23:14:35 2017
     13// Update Count     : 19
    1414//
    1515
     
    5959}
    6060
    61 const char * Type::QualifierNames[] = { "const", "restrict", "volatile", "lvalue", "mutex", "_Atomic", "NoTypeQualifierNames" };
     61const char * Type::Qualifiers::Names[] = { "const", "restrict", "volatile", "lvalue", "mutex", "_Atomic" };
    6262
    6363void Type::print( std::ostream &os, int indent ) const {
  • src/SynTree/Type.h

    r905eca1 r6e8bd43  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Mar 15 21:28:09 2017
    13 // Update Count     : 85
     12// Last Modified On : Wed Mar 15 23:28:33 2017
     13// Update Count     : 89
    1414//
    1515
     
    2424class Type : public BaseSyntaxNode {
    2525  public:
    26         static const char * QualifierNames[];
    27 
    2826        enum { Const = 1 << 0, Restrict = 1 << 1, Volatile = 1 << 2, Lvalue = 1 << 3, Mutex = 1 << 4, Atomic = 1 << 5, NumTypeQualifier = 6 };
    2927        union Qualifiers {
     28                static const char * Names[];
    3029                enum { Mask = ~(Restrict | Lvalue) };
    3130                unsigned int val;
     
    3837                        bool isAtomic : 1;
    3938                };
     39
    4040                Qualifiers() : val( 0 ) {}
    4141                Qualifiers( unsigned int val ) : val( val ) {}
     
    8080                                for ( unsigned int i = 0; i < NumTypeQualifier; i += 1 ) {
    8181                                        if ( (*this)[i] ) {
    82                                                 os << QualifierNames[i] << ' ';
     82                                                os << Names[i] << ' ';
    8383                                        } // if
    8484                                } // for
Note: See TracChangeset for help on using the changeset viewer.