Ignore:
Timestamp:
Aug 22, 2016, 2:28:47 PM (5 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
aaron-thesis, arm-eh, cleanup-dtors, ctor, deferred_resn, demangler, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, resolv-new, with_gc
Children:
2acf5fc
Parents:
80722d0
Message:

more refactoring of parser code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/LinkageSpec.cc

    r80722d0 rab57786  
    1010// Created On       : Sat May 16 13:22:09 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Aug 18 23:47:14 2016
    13 // Update Count     : 12
     12// Last Modified On : Sun Aug 21 12:32:53 2016
     13// Update Count     : 17
    1414//
    1515
     
    2020#include "Common/SemanticError.h"
    2121
    22 LinkageSpec::Spec LinkageSpec::fromString( const std::string &stringSpec ) {
    23         if ( stringSpec == "\"Cforall\"" ) {
     22LinkageSpec::Spec LinkageSpec::fromString( const std::string &spec ) {
     23        if ( spec == "\"Cforall\"" ) {
    2424                return Cforall;
    25         } else if ( stringSpec == "\"C\"" ) {
     25        } else if ( spec == "\"C\"" ) {
    2626                return C;
    2727        } else {
    28                 throw SemanticError( "Invalid linkage specifier " + stringSpec );
    29         }
     28                throw SemanticError( "Invalid linkage specifier " + spec );
     29        } // if
     30        delete &spec;                                                                           // allocated by lexer
    3031}
    3132
     
    3738}
    3839
    39 bool LinkageSpec::isDecoratable( Spec t ) {
     40bool LinkageSpec::isDecoratable( Spec spec ) {
    4041        static bool decoratable[LinkageSpec::NoOfSpecs] = {
    4142                //      Intrinsic,      Cforall,        C,              AutoGen,        Compiler
    4243                        true,           true,           false,  true,           false,
    4344        };
    44         return decoratable[t];
     45        return decoratable[spec];
    4546}
    4647
    47 bool LinkageSpec::isGeneratable( Spec t ) {
     48bool LinkageSpec::isGeneratable( Spec spec ) {
    4849        static bool generatable[LinkageSpec::NoOfSpecs] = {
    4950                //      Intrinsic,      Cforall,        C,              AutoGen,        Compiler
    5051                        true,           true,           true,   true,           false,
    5152        };
    52         return generatable[t];
     53        return generatable[spec];
    5354}
    5455
    55 bool LinkageSpec::isOverloadable( Spec t ) {
    56         return isDecoratable( t );
    57 }
    58 
    59 
    60 bool LinkageSpec::isOverridable( Spec t ) {
     56bool LinkageSpec::isOverridable( Spec spec ) {
    6157        static bool overridable[LinkageSpec::NoOfSpecs] = {
    6258                //      Intrinsic,      Cforall,        C,              AutoGen,        Compiler
    6359                        true,           false,          false,  true,           false,
    6460        };
    65         return overridable[t];
     61        return overridable[spec];
    6662}
    6763
    68 bool LinkageSpec::isBuiltin( Spec t ) {
     64bool LinkageSpec::isBuiltin( Spec spec ) {
    6965        static bool builtin[LinkageSpec::NoOfSpecs] = {
    7066                //      Intrinsic,      Cforall,        C,              AutoGen,        Compiler
    7167                        true,           false,          false,  false,          true,
    7268        };
    73         return builtin[t];
     69        return builtin[spec];
    7470}
    7571
Note: See TracChangeset for help on using the changeset viewer.