def _parse_decl_specs_simple(self, outer: str, typed: bool) -> ASTDeclSpecsSimple:
    'Just parse the simple ones.'
    storage = None
    threadLocal = None
    inline = None
    virtual = None
    explicit = None
    constexpr = None
    volatile = None
    const = None
    friend = None
    attrs = []
    while 1:
        self.skip_ws()
        if (not storage):
            if (outer in ('member', 'function')):
                if self.skip_word('static'):
                    storage = 'static'
                    continue
                if self.skip_word('extern'):
                    storage = 'extern'
                    continue
            if (outer == 'member'):
                if self.skip_word('mutable'):
                    storage = 'mutable'
                    continue
            if self.skip_word('register'):
                storage = 'register'
                continue
        if ((not threadLocal) and (outer == 'member')):
            threadLocal = self.skip_word('thread_local')
            if threadLocal:
                continue
        if (outer == 'function'):
            if (not inline):
                inline = self.skip_word('inline')
                if inline:
                    continue
            if (not friend):
                friend = self.skip_word('friend')
                if friend:
                    continue
            if (not virtual):
                virtual = self.skip_word('virtual')
                if virtual:
                    continue
            if (not explicit):
                explicit = self.skip_word('explicit')
                if explicit:
                    continue
        if ((not constexpr) and (outer in ('member', 'function'))):
            constexpr = self.skip_word('constexpr')
            if constexpr:
                continue
        if ((not volatile) and typed):
            volatile = self.skip_word('volatile')
            if volatile:
                continue
        if ((not const) and typed):
            const = self.skip_word('const')
            if const:
                continue
        attr = self._parse_attribute()
        if attr:
            attrs.append(attr)
            continue
        break
    return ASTDeclSpecsSimple(storage, threadLocal, inline, virtual, explicit, constexpr, volatile, const, friend, attrs)
Just parse the simple ones.
def _parse_decl_specs_simple(self, outer: str, typed: bool) -> ASTDeclSpecsSimple:
    
    storage = None
    threadLocal = None
    inline = None
    virtual = None
    explicit = None
    constexpr = None
    volatile = None
    const = None
    friend = None
    attrs = []
    while 1:
        self.skip_ws()
        if (not storage):
            if (outer in ('member', 'function')):
                if self.skip_word('static'):
                    storage = 'static'
                    continue
                if self.skip_word('extern'):
                    storage = 'extern'
                    continue
            if (outer == 'member'):
                if self.skip_word('mutable'):
                    storage = 'mutable'
                    continue
            if self.skip_word('register'):
                storage = 'register'
                continue
        if ((not threadLocal) and (outer == 'member')):
            threadLocal = self.skip_word('thread_local')
            if threadLocal:
                continue
        if (outer == 'function'):
            if (not inline):
                inline = self.skip_word('inline')
                if inline:
                    continue
            if (not friend):
                friend = self.skip_word('friend')
                if friend:
                    continue
            if (not virtual):
                virtual = self.skip_word('virtual')
                if virtual:
                    continue
            if (not explicit):
                explicit = self.skip_word('explicit')
                if explicit:
                    continue
        if ((not constexpr) and (outer in ('member', 'function'))):
            constexpr = self.skip_word('constexpr')
            if constexpr:
                continue
        if ((not volatile) and typed):
            volatile = self.skip_word('volatile')
            if volatile:
                continue
        if ((not const) and typed):
            const = self.skip_word('const')
            if const:
                continue
        attr = self._parse_attribute()
        if attr:
            attrs.append(attr)
            continue
        break
    return ASTDeclSpecsSimple(storage, threadLocal, inline, virtual, explicit, constexpr, volatile, const, friend, attrs)