Branch: refs/heads/master Author: dfishburn dfishburn@c5d04d22-be80-434c-894e-aa346cc9e8e8 Committer: Colomban Wendling ban@herbesfolles.org Date: Mon, 24 Nov 2014 00:48:04 UTC Commit: c54c3ad5e815d16e3b48f3c477465627808aadee https://github.com/geany/geany/commit/c54c3ad5e815d16e3b48f3c477465627808aad...
Log Message: ----------- Added new method findMatchingToken() to skip over blocks of code. Updated parseSwitch() to use the new method.
Updated tests/ctags/ui5.ui.controller.js with code that broke the switch statement.
git-svn-id: https://svn.code.sf.net/p/ctags/code/trunk@809 c5d04d22-be80-434c-894e-aa346cc9e8e8
Modified Paths: -------------- tagmanager/ctags/js.c tests/ctags/ui5.controller.js tests/ctags/ui5.controller.js.tags
Modified: tagmanager/ctags/js.c 35 lines changed, 27 insertions(+), 8 deletions(-) =================================================================== @@ -674,10 +674,35 @@ static void findCmdTerm (tokenInfo *const token) } }
+static void findMatchingToken (tokenInfo *const token, tokenType begin_token, tokenType end_token) +{ + int nest_level = 0; + + if ( ! isType (token, end_token)) + { + nest_level++; + while (! (isType (token, end_token) && (nest_level == 0))) + { + readToken (token); + if (isType (token, begin_token)) + { + nest_level++; + } + if (isType (token, end_token)) + { + if (nest_level > 0) + { + nest_level--; + } + } + } + } +} + static void parseSwitch (tokenInfo *const token) { /* - * switch (expression){ + * switch (expression) { * case value1: * statement; * break; @@ -701,13 +726,7 @@ static void parseSwitch (tokenInfo *const token)
if (isType (token, TOKEN_OPEN_CURLY)) { - /* - * This will be either a function or a class. - * We can only determine this by checking the body - * of the function. If we find a "this." we know - * it is a class, otherwise it is a function. - */ - parseBlock (token, token); + findMatchingToken (token, TOKEN_OPEN_CURLY, TOKEN_CLOSE_CURLY); }
}
Modified: tests/ctags/ui5.controller.js 8 lines changed, 8 insertions(+), 0 deletions(-) =================================================================== @@ -1,5 +1,13 @@ sap.ui.controller("app.my_form", {
+ successfulRequest: function(data) { + switch( data.mParameters.headers.SAAP_SERVICE ) { + case SAAP_SERVICE.APPROVAL_DETAIL: + if (thisForm.getController().mApproval) { + } + } + }, + onInit : function () { this.selectListView = null; sap.ui.getCore().byId("id_createButton").setEnabled(true);
Modified: tests/ctags/ui5.controller.js.tags 1 lines changed, 1 insertions(+), 0 deletions(-) =================================================================== @@ -3,3 +3,4 @@ onInit refreshForm�128�sap.app.my_form�0 refreshSettlements�128�sap.app.my_form�0 setRefreshed�128�sap.app.my_form�0 +successfulRequest�128�app.my_form�0
-------------- This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).