[geany/geany] 297bca: JavaScript parser: Don't drop the token after an unbraced if
Colomban Wendling
git-noreply at xxxxx
Mon Sep 24 17:46:48 UTC 2012
Branch: refs/heads/master
Author: Colomban Wendling <ban at herbesfolles.org>
Committer: Colomban Wendling <ban at herbesfolles.org>
Date: Mon, 24 Sep 2012 17:46:48
Commit: 297bca3799a99f68d177e1105d79a69a7d9ef103
https://github.com/geany/geany/commit/297bca3799a99f68d177e1105d79a69a7d9ef103
Log Message:
-----------
JavaScript parser: Don't drop the token after an unbraced if
If an `if` haven't had braces, the code used to check itself for an
`else` after it, eating the next token if it wasn't actually an `else`.
So, drop the check for the else altogether since parseLine() handles
`else`s by calling parseIf() anyway.
This fixes constructs like:
if (foo)
bar();
function baz() {
// ...
}
Closes #3568542.
Modified Paths:
--------------
tagmanager/ctags/js.c
Modified: tagmanager/ctags/js.c
33 files changed, 3 insertions(+), 30 deletions(-)
===================================================================
@@ -805,36 +805,9 @@ static boolean parseIf (tokenInfo *const token)
{
findCmdTerm (token);
- /*
- * The IF could be followed by an ELSE statement.
- * This too could have two formats, a curly braced
- * multiline section, or another single line.
- */
-
- if (isType (token, TOKEN_CLOSE_CURLY))
- {
- /*
- * This statement did not have a line terminator.
- */
- read_next_token = FALSE;
- }
- else
- {
- readToken (token);
-
- if (isType (token, TOKEN_CLOSE_CURLY))
- {
- /*
- * This statement did not have a line terminator.
- */
- read_next_token = FALSE;
- }
- else
- {
- if (isKeyword (token, KEYWORD_else))
- read_next_token = parseIf (token);
- }
- }
+ /* The next token should only be read if this statement had its own
+ * terminator */
+ read_next_token = isType (token, TOKEN_SEMICOLON);
}
return read_next_token;
}
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: TBD).
More information about the Commits
mailing list