parseTypeName_() {
    let start = this.getTreeStartLocation_();
    let id = this.eatId_();
    let typeName = new TypeName(this.getTreeLocation_(start), null, id);
    while (this.eatIf_(PERIOD)) {
      let memberName = this.eatIdName_();
      typeName = new TypeName(this.getTreeLocation_(start), typeName,
      memberName);
    }
    return typeName;
  }
Type Name ::
  ModuleOrTypeName

ModuleOrTypeName ::
  Identifier
  ModuleName . Identifier

ModuleName ::
  ModuleOrTypeName

@return {ParseTree}
@private