From 9c4486f2fbf0d226b1d41b7fef50a07dcc49f376 Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Fri, 20 Jul 2018 15:23:27 +0200 Subject: [PATCH 01/10] [plsql] Add basic support for CursorForLoop statement --- pmd-plsql/etc/grammar/PldocAST.jjt | 20 ++++++++- .../plsql/ast/PLSQLParserVisitorAdapter.java | 10 +++++ .../lang/plsql/rule/AbstractPLSQLRule.java | 10 +++++ .../lang/plsql/AbstractPLSQLParserTst.java | 11 +++++ .../pmd/lang/plsql/ast/CursorForLoopTest.java | 44 +++++++++++++++++++ .../lang/plsql/ast/CursorForLoopNested.pls | 14 ++++++ .../lang/plsql/ast/CursorForLoopSimple.pls | 16 +++++++ 7 files changed, 123 insertions(+), 2 deletions(-) create mode 100644 pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/CursorForLoopTest.java create mode 100644 pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CursorForLoopNested.pls create mode 100644 pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CursorForLoopSimple.pls diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt index 0d162e6bec..16a46143d4 100644 --- a/pmd-plsql/etc/grammar/PldocAST.jjt +++ b/pmd-plsql/etc/grammar/PldocAST.jjt @@ -28,6 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /** * Added more complete support for CREATE TABLE + * Added ASTCursorForLoop and ASTSelectStatement * * Andreas Dangel 07/2018 *==================================================================== @@ -1176,6 +1177,7 @@ ASTUnlabelledStatement UnlabelledStatement() : | LOOKAHEAD(3) ContinueStatement() ";" // CONTINUE keyword was added in 11G, so Oracle compilation supports CONTINUE as a variable name | CaseStatement() ";" | IfStatement() ";" + | LOOKAHEAD( ID() "("