private function parsePropertyModifiers($loc): int
    {
        $tokens    = $this->getTokenStream();
        $modifiers = 0; // initialize bit filed with all modifiers switched off

        // Enable visibility bits
        switch ($tokens->type($loc)) {
            case T_PRIVATE:
                $modifiers |= \ReflectionProperty::IS_PRIVATE;
                break;
            case T_PROTECTED:
                $modifiers |= \ReflectionProperty::IS_PROTECTED;
                break;
            case T_VAR:
            case T_PUBLIC:
                $modifiers |= \ReflectionProperty::IS_PUBLIC;
                break;
        }

        // Look forward and backward for STATIC modifier
        $prev = $tokens->previous($loc);
        $next = $tokens->next($loc);

        // If found write the bits
        if ($tokens->type($prev) === T_STATIC || $tokens->type($next) === T_STATIC) {
            $modifiers |= \ReflectionProperty::IS_STATIC;
        }

        return $modifiers;
    }