Ignore:
Timestamp:
Jun 20, 2018, 11:23:42 AM (6 years ago)
Author:
Rob Schluntz <rschlunt@…>
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, no_list, persistent-indexer, pthread-emulation, qualifiedEnum
Children:
0b3b2ae
Parents:
9a7a3b6
Message:

Reorganize QualifiedType? node

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/TypeData.cc

    r9a7a3b6 rc194661  
    9999          case Builtin:
    100100                // builtin = new Builtin_t;
     101                case Qualified:
     102                qualified.parent = nullptr;
     103                qualified.child = nullptr;
    101104                break;
    102105        } // switch
     
    167170                // delete builtin;
    168171                break;
     172          case Qualified:
     173                delete qualified.parent;
     174                delete qualified.child;
    169175        } // switch
    170176} // TypeData::~TypeData
     
    240246                assert( builtintype == DeclarationNode::Zero || builtintype == DeclarationNode::One );
    241247                newtype->builtintype = builtintype;
     248                break;
     249                case Qualified:
     250                newtype->qualified.parent = maybeClone( qualified.parent );
     251                newtype->qualified.child = maybeClone( qualified.child );
    242252                break;
    243253        } // switch
     
    468478                return new EnumInstType( buildQualifiers( td ), "" );
    469479          case TypeData::SymbolicInst:
    470                 return buildSymbolicInst( td );;
     480                return buildSymbolicInst( td );
    471481          case TypeData::Tuple:
    472482                return buildTuple( td );
     
    483493                        return new VarArgsType( buildQualifiers( td ) );
    484494                }
     495          case TypeData::GlobalScope:
     496                return new GlobalScopeType();
     497                case TypeData::Qualified:
     498                return new QualifiedType( buildQualifiers( td ), typebuild( td->qualified.parent ), typebuild( td->qualified.child ) );
    485499          case TypeData::Symbolic:
    486500          case TypeData::Enum:
     
    488502                assert( false );
    489503        } // switch
     504
    490505        return nullptr;
    491506} // typebuild
Note: See TracChangeset for help on using the changeset viewer.