зеркало из https://github.com/github/ruby.git
parse.y: expand tokadd_mbchar
* parse.y (tokadd_mbchar): renamed and expand callers with p. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
dc1e6f17ba
Коммит
28e554a697
20
parse.y
20
parse.y
|
@ -5748,7 +5748,7 @@ parser_regx_options(struct parser_params *p)
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
parser_tokadd_mbchar(struct parser_params *p, int c)
|
tokadd_mbchar(struct parser_params *p, int c)
|
||||||
{
|
{
|
||||||
int len = parser_precise_mbclen(p, p->lex.pcur-1);
|
int len = parser_precise_mbclen(p, p->lex.pcur-1);
|
||||||
if (len < 0) return -1;
|
if (len < 0) return -1;
|
||||||
|
@ -5758,8 +5758,6 @@ parser_tokadd_mbchar(struct parser_params *p, int c)
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define tokadd_mbchar(c) parser_tokadd_mbchar(p, (c))
|
|
||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
simple_re_meta(int c)
|
simple_re_meta(int c)
|
||||||
{
|
{
|
||||||
|
@ -5917,7 +5915,7 @@ parser_tokadd_string(struct parser_params *p,
|
||||||
mixed_error(enc, *encp);
|
mixed_error(enc, *encp);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (tokadd_mbchar(c) == -1) return -1;
|
if (tokadd_mbchar(p, c) == -1) return -1;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else if ((func & STR_FUNC_QWORDS) && ISSPACE(c)) {
|
else if ((func & STR_FUNC_QWORDS) && ISSPACE(c)) {
|
||||||
|
@ -6169,7 +6167,7 @@ parser_heredoc_identifier(struct parser_params *p)
|
||||||
tokadd(func);
|
tokadd(func);
|
||||||
term = c;
|
term = c;
|
||||||
while ((c = nextc()) != -1 && c != term) {
|
while ((c = nextc()) != -1 && c != term) {
|
||||||
if (tokadd_mbchar(c) == -1) return 0;
|
if (tokadd_mbchar(p, c) == -1) return 0;
|
||||||
if (!newline && c == '\n') newline = 1;
|
if (!newline && c == '\n') newline = 1;
|
||||||
else if (newline) newline = 2;
|
else if (newline) newline = 2;
|
||||||
}
|
}
|
||||||
|
@ -6200,7 +6198,7 @@ parser_heredoc_identifier(struct parser_params *p)
|
||||||
tokadd(term_len);
|
tokadd(term_len);
|
||||||
tokadd(func |= str_dquote);
|
tokadd(func |= str_dquote);
|
||||||
do {
|
do {
|
||||||
if (tokadd_mbchar(c) == -1) return 0;
|
if (tokadd_mbchar(p, c) == -1) return 0;
|
||||||
} while ((c = nextc()) != -1 && parser_is_identchar());
|
} while ((c = nextc()) != -1 && parser_is_identchar());
|
||||||
pushback(c);
|
pushback(c);
|
||||||
break;
|
break;
|
||||||
|
@ -7297,7 +7295,7 @@ parse_qmark(struct parser_params *p, int space_seen)
|
||||||
newtok();
|
newtok();
|
||||||
enc = p->enc;
|
enc = p->enc;
|
||||||
if (!parser_isascii()) {
|
if (!parser_isascii()) {
|
||||||
if (tokadd_mbchar(c) == -1) return 0;
|
if (tokadd_mbchar(p, c) == -1) return 0;
|
||||||
}
|
}
|
||||||
else if ((rb_enc_isalnum(c, p->enc) || c == '_') &&
|
else if ((rb_enc_isalnum(c, p->enc) || c == '_') &&
|
||||||
p->lex.pcur < p->lex.pend && is_identchar(p->lex.pcur, p->lex.pend, p->enc)) {
|
p->lex.pcur < p->lex.pend && is_identchar(p->lex.pcur, p->lex.pend, p->enc)) {
|
||||||
|
@ -7323,7 +7321,7 @@ parse_qmark(struct parser_params *p, int space_seen)
|
||||||
}
|
}
|
||||||
else if (!lex_eol_p() && !(c = *p->lex.pcur, ISASCII(c))) {
|
else if (!lex_eol_p() && !(c = *p->lex.pcur, ISASCII(c))) {
|
||||||
nextc();
|
nextc();
|
||||||
if (tokadd_mbchar(c) == -1) return 0;
|
if (tokadd_mbchar(p, c) == -1) return 0;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
c = read_escape(0, &enc);
|
c = read_escape(0, &enc);
|
||||||
|
@ -7433,7 +7431,7 @@ static int
|
||||||
tokadd_ident(struct parser_params *p, int c)
|
tokadd_ident(struct parser_params *p, int c)
|
||||||
{
|
{
|
||||||
do {
|
do {
|
||||||
if (tokadd_mbchar(c) == -1) return -1;
|
if (tokadd_mbchar(p, c) == -1) return -1;
|
||||||
c = nextc();
|
c = nextc();
|
||||||
} while (parser_is_identchar());
|
} while (parser_is_identchar());
|
||||||
pushback(c);
|
pushback(c);
|
||||||
|
@ -7515,7 +7513,7 @@ parse_gvar(struct parser_params *p, const enum lex_state_e last_state)
|
||||||
tokadd(c);
|
tokadd(c);
|
||||||
c = nextc();
|
c = nextc();
|
||||||
if (parser_is_identchar()) {
|
if (parser_is_identchar()) {
|
||||||
if (tokadd_mbchar(c) == -1) return 0;
|
if (tokadd_mbchar(p, c) == -1) return 0;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
pushback(c);
|
pushback(c);
|
||||||
|
@ -7622,7 +7620,7 @@ parse_ident(struct parser_params *p, int c, int cmd_state)
|
||||||
|
|
||||||
do {
|
do {
|
||||||
if (!ISASCII(c)) mb = ENC_CODERANGE_UNKNOWN;
|
if (!ISASCII(c)) mb = ENC_CODERANGE_UNKNOWN;
|
||||||
if (tokadd_mbchar(c) == -1) return 0;
|
if (tokadd_mbchar(p, c) == -1) return 0;
|
||||||
c = nextc();
|
c = nextc();
|
||||||
} while (parser_is_identchar());
|
} while (parser_is_identchar());
|
||||||
if ((c == '!' || c == '?') && !peek('=')) {
|
if ((c == '!' || c == '?') && !peek('=')) {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче