From 467ff9565c0e33f4eb63a44704db380a43e3aa44 Mon Sep 17 00:00:00 2001 From: gmantele <gmantele@ari.uni-heidelberg.de> Date: Wed, 20 Apr 2016 14:24:26 +0200 Subject: [PATCH] [ADQL] Fix interpretation of math functions without parameters. Because of a test of the first parameter (non existing for functions like PI() and RAND()), a NullPointerException was thrown and so was stopping brutally an ADQL query interpretation. --- src/adql/parser/ADQLParser.java | 1115 +++++++++++++++++-------------- src/adql/parser/adqlGrammar.jj | 22 +- 2 files changed, 632 insertions(+), 505 deletions(-) diff --git a/src/adql/parser/ADQLParser.java b/src/adql/parser/ADQLParser.java index c98e3d9..a56c08a 100644 --- a/src/adql/parser/ADQLParser.java +++ b/src/adql/parser/ADQLParser.java @@ -1,3 +1,4 @@ +/* ADQLParser.java */ /* Generated By:JavaCC: Do not edit this line. ADQLParser.java */ package adql.parser; @@ -67,7 +68,7 @@ import adql.translator.TranslationException; * @see ADQLQueryFactory * * @author Grégory Mantelet (CDS;ARI) - gmantele@ari.uni-heidelberg.de -* @version 1.4 (08/2015) +* @version 1.4 (04/2016) */ public class ADQLParser implements ADQLParserConstants { @@ -493,13 +494,15 @@ public class ADQLParser implements ADQLParserConstants { try{ ADQLQuery q = null; q = QueryExpression(); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case 0: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case 0:{ jj_consume_token(0); break; - case EOQ: + } + case EOQ:{ jj_consume_token(EOQ); break; + } default: jj_la1[0] = jj_gen; jj_consume_token(-1); @@ -510,7 +513,7 @@ public class ADQLParser implements ADQLParserConstants { queryChecker.check(q); { - if (true) + if ("" != null) return q; } throw new Error("Missing return statement in function"); @@ -536,41 +539,41 @@ public class ADQLParser implements ADQLParserConstants { Select(); From(); endPos = query.getFrom().getPosition(); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case WHERE: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case WHERE:{ Where(); endPos = query.getWhere().getPosition(); break; + } default: - jj_la1[1] = jj_gen; - ; + jj_la1[1] = jj_gen;; } - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case GROUP_BY: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case GROUP_BY:{ GroupBy(); endPos = query.getGroupBy().getPosition(); break; + } default: - jj_la1[2] = jj_gen; - ; + jj_la1[2] = jj_gen;; } - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case HAVING: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case HAVING:{ Having(); endPos = query.getHaving().getPosition(); break; + } default: - jj_la1[3] = jj_gen; - ; + jj_la1[3] = jj_gen;; } - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case ORDER_BY: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case ORDER_BY:{ OrderBy(); endPos = query.getOrderBy().getPosition(); break; + } default: - jj_la1[4] = jj_gen; - ; + jj_la1[4] = jj_gen;; } // set the position of the query: query.setPosition(new TextPosition(query.getSelect().getPosition(), endPos)); @@ -583,7 +586,7 @@ public class ADQLParser implements ADQLParserConstants { query = stackQuery.peek(); { - if (true) + if ("" != null) return previousQuery; } throw new Error("Missing return statement in function"); @@ -602,7 +605,7 @@ public class ADQLParser implements ADQLParserConstants { end = jj_consume_token(RIGHT_PAR); q.setPosition(new TextPosition(start, end)); { - if (true) + if ("" != null) return q; } throw new Error("Missing return statement in function"); @@ -618,17 +621,17 @@ public class ADQLParser implements ADQLParserConstants { SelectItem item = null; Token start, t = null; start = jj_consume_token(SELECT); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case QUANTIFIER: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case QUANTIFIER:{ t = jj_consume_token(QUANTIFIER); select.setDistinctColumns(t.image.equalsIgnoreCase("DISTINCT")); break; + } default: - jj_la1[5] = jj_gen; - ; + jj_la1[5] = jj_gen;; } - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case TOP: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case TOP:{ jj_consume_token(TOP); t = jj_consume_token(UNSIGNED_INTEGER); try{ @@ -640,17 +643,18 @@ public class ADQLParser implements ADQLParserConstants { } } break; + } default: - jj_la1[6] = jj_gen; - ; + jj_la1[6] = jj_gen;; } item = SelectItem(); select.add(item); label_1: while(true){ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case COMMA: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case COMMA:{ ; break; + } default: jj_la1[7] = jj_gen; break label_1; @@ -674,43 +678,44 @@ public class ADQLParser implements ADQLParserConstants { ADQLOperand op = null; SelectItem item; Token starToken; - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case ASTERISK: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case ASTERISK:{ starToken = jj_consume_token(ASTERISK); item = new SelectAllColumns(query); item.setPosition(new TextPosition(starToken)); { - if (true) + if ("" != null) return item; } break; + } default: jj_la1[11] = jj_gen; if (jj_2_1(7)){ id = Identifier(); jj_consume_token(DOT); identifiers.append(id); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case DELIMITED_IDENTIFIER: - case REGULAR_IDENTIFIER: + case REGULAR_IDENTIFIER:{ id = Identifier(); jj_consume_token(DOT); identifiers.append(id); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case DELIMITED_IDENTIFIER: - case REGULAR_IDENTIFIER: + case REGULAR_IDENTIFIER:{ id = Identifier(); jj_consume_token(DOT); identifiers.append(id); break; + } default: - jj_la1[8] = jj_gen; - ; + jj_la1[8] = jj_gen;; } break; + } default: - jj_la1[9] = jj_gen; - ; + jj_la1[9] = jj_gen;; } starToken = jj_consume_token(ASTERISK); try{ @@ -718,7 +723,7 @@ public class ADQLParser implements ADQLParserConstants { TextPosition firstPos = identifiers.get(0).position; item.setPosition(new TextPosition(firstPos.beginLine, firstPos.beginColumn, starToken.endLine, (starToken.endColumn < 0) ? -1 : (starToken.endColumn + 1))); { - if (true) + if ("" != null) return item; } }catch(Exception ex){ @@ -728,7 +733,7 @@ public class ADQLParser implements ADQLParserConstants { } } }else{ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case LEFT_PAR: case PLUS: case MINUS: @@ -778,18 +783,19 @@ public class ADQLParser implements ADQLParserConstants { case REGULAR_IDENTIFIER: case SCIENTIFIC_NUMBER: case UNSIGNED_FLOAT: - case UNSIGNED_INTEGER: + case UNSIGNED_INTEGER:{ op = ValueExpression(); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case AS: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case AS:{ jj_consume_token(AS); label = Identifier(); break; + } default: - jj_la1[10] = jj_gen; - ; + jj_la1[10] = jj_gen;; } break; + } default: jj_la1[12] = jj_gen; jj_consume_token(-1); @@ -805,7 +811,7 @@ public class ADQLParser implements ADQLParserConstants { }else item.setPosition(new TextPosition(op.getPosition())); { - if (true) + if ("" != null) return item; } }catch(Exception ex){ @@ -828,17 +834,19 @@ public class ADQLParser implements ADQLParserConstants { jj_consume_token(FROM); content = TableRef(); label_2: while(true){ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case COMMA: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case COMMA:{ ; break; + } default: jj_la1[13] = jj_gen; break label_2; } jj_consume_token(COMMA); content2 = TableRef(); - TextPosition startPos = content.getPosition(), endPos = content2.getPosition(); + TextPosition startPos = content.getPosition(), + endPos = content2.getPosition(); content = queryFactory.createJoin(JoinType.CROSS, content, content2); content.setPosition(new TextPosition(startPos, endPos)); } @@ -879,10 +887,11 @@ public class ADQLParser implements ADQLParserConstants { colRef = ColumnRef(); groupBy.add(colRef); label_3: while(true){ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case COMMA: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case COMMA:{ ; break; + } default: jj_la1[14] = jj_gen; break label_3; @@ -921,10 +930,11 @@ public class ADQLParser implements ADQLParserConstants { order = OrderItem(); orderBy.add(order); label_4: while(true){ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case COMMA: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case COMMA:{ ; break; + } default: jj_la1[15] = jj_gen; break label_4; @@ -946,21 +956,23 @@ public class ADQLParser implements ADQLParserConstants { trace_call("Identifier"); try{ Token t; - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case REGULAR_IDENTIFIER: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case REGULAR_IDENTIFIER:{ t = jj_consume_token(REGULAR_IDENTIFIER); { - if (true) + if ("" != null) return new IdentifierItem(t, false); } break; - case DELIMITED_IDENTIFIER: + } + case DELIMITED_IDENTIFIER:{ t = jj_consume_token(DELIMITED_IDENTIFIER); { - if (true) + if ("" != null) return new IdentifierItem(t, true); } break; + } default: jj_la1[16] = jj_gen; jj_consume_token(-1); @@ -984,28 +996,28 @@ public class ADQLParser implements ADQLParserConstants { IdentifierItem id = null; id = Identifier(); identifiers.append(id); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case DOT: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case DOT:{ jj_consume_token(DOT); id = Identifier(); identifiers.append(id); break; + } default: - jj_la1[17] = jj_gen; - ; + jj_la1[17] = jj_gen;; } - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case DOT: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case DOT:{ jj_consume_token(DOT); id = Identifier(); identifiers.append(id); break; + } default: - jj_la1[18] = jj_gen; - ; + jj_la1[18] = jj_gen;; } { - if (true) + if ("" != null) return identifiers; } throw new Error("Missing return statement in function"); @@ -1023,16 +1035,17 @@ public class ADQLParser implements ADQLParserConstants { trace_call("ColumnName"); try{ IdentifierItem id; - IdentifierItems table = null, identifiers = new IdentifierItems(false); + IdentifierItems table = null, + identifiers = new IdentifierItems(false); id = Identifier(); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case DOT: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case DOT:{ jj_consume_token(DOT); table = TableName(); break; + } default: - jj_la1[19] = jj_gen; - ; + jj_la1[19] = jj_gen;; } identifiers.append(id); if (table != null){ @@ -1040,7 +1053,7 @@ public class ADQLParser implements ADQLParserConstants { identifiers.append(table.get(i)); } { - if (true) + if ("" != null) return identifiers; } throw new Error("Missing return statement in function"); @@ -1056,7 +1069,7 @@ public class ADQLParser implements ADQLParserConstants { identifiers = ColumnName(); try{ { - if (true) + if ("" != null) return queryFactory.createColumn(identifiers); } }catch(Exception ex){ @@ -1076,14 +1089,16 @@ public class ADQLParser implements ADQLParserConstants { try{ IdentifierItem identifier = null; Token ind = null; - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case DELIMITED_IDENTIFIER: - case REGULAR_IDENTIFIER: + case REGULAR_IDENTIFIER:{ identifier = Identifier(); break; - case UNSIGNED_INTEGER: + } + case UNSIGNED_INTEGER:{ ind = jj_consume_token(UNSIGNED_INTEGER); break; + } default: jj_la1[20] = jj_gen; jj_consume_token(-1); @@ -1096,7 +1111,7 @@ public class ADQLParser implements ADQLParserConstants { else colRef = queryFactory.createColRef(Integer.parseInt(ind.image), new TextPosition(ind)); { - if (true) + if ("" != null) return colRef; } }catch(Exception ex){ @@ -1116,38 +1131,42 @@ public class ADQLParser implements ADQLParserConstants { try{ IdentifierItem identifier = null; Token ind = null, desc = null; - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case DELIMITED_IDENTIFIER: - case REGULAR_IDENTIFIER: + case REGULAR_IDENTIFIER:{ identifier = Identifier(); break; - case UNSIGNED_INTEGER: + } + case UNSIGNED_INTEGER:{ ind = jj_consume_token(UNSIGNED_INTEGER); break; + } default: jj_la1[21] = jj_gen; jj_consume_token(-1); throw new ParseException(); } - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case ASC: - case DESC: - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case ASC: + case DESC:{ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case ASC:{ jj_consume_token(ASC); break; - case DESC: + } + case DESC:{ desc = jj_consume_token(DESC); break; + } default: jj_la1[22] = jj_gen; jj_consume_token(-1); throw new ParseException(); } break; + } default: - jj_la1[23] = jj_gen; - ; + jj_la1[23] = jj_gen;; } try{ ADQLOrder order = null; @@ -1159,7 +1178,7 @@ public class ADQLParser implements ADQLParserConstants { order.setPosition(new TextPosition(ind)); } { - if (true) + if ("" != null) return order; } }catch(Exception ex){ @@ -1183,27 +1202,27 @@ public class ADQLParser implements ADQLParserConstants { FromContent content = null; Token start, end; try{ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case DELIMITED_IDENTIFIER: - case REGULAR_IDENTIFIER: + case REGULAR_IDENTIFIER:{ identifiers = TableName(); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case AS: case DELIMITED_IDENTIFIER: - case REGULAR_IDENTIFIER: - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case AS: + case REGULAR_IDENTIFIER:{ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case AS:{ jj_consume_token(AS); break; + } default: - jj_la1[24] = jj_gen; - ; + jj_la1[24] = jj_gen;; } alias = Identifier(); break; + } default: - jj_la1[25] = jj_gen; - ; + jj_la1[25] = jj_gen;; } content = queryFactory.createTable(identifiers, alias); if (alias == null) @@ -1211,21 +1230,22 @@ public class ADQLParser implements ADQLParserConstants { else content.setPosition(new TextPosition(identifiers.get(0).position, alias.position)); { - if (true) + if ("" != null) return content; } break; + } default: jj_la1[27] = jj_gen; if (jj_2_2(2)){ subQuery = SubQueryExpression(); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case AS: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case AS:{ jj_consume_token(AS); break; + } default: - jj_la1[26] = jj_gen; - ; + jj_la1[26] = jj_gen;; } alias = Identifier(); content = queryFactory.createTable(subQuery, alias); @@ -1234,21 +1254,22 @@ public class ADQLParser implements ADQLParserConstants { else content.setPosition(new TextPosition(subQuery.getPosition(), alias.position)); { - if (true) + if ("" != null) return content; } }else{ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case LEFT_PAR: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case LEFT_PAR:{ start = jj_consume_token(LEFT_PAR); content = JoinedTable(); end = jj_consume_token(RIGHT_PAR); content.setPosition(new TextPosition(start, end)); { - if (true) + if ("" != null) return content; } break; + } default: jj_la1[28] = jj_gen; jj_consume_token(-1); @@ -1282,7 +1303,7 @@ public class ADQLParser implements ADQLParserConstants { content = JoinSpecification(content); } { - if (true) + if ("" != null) return content; } throw new Error("Missing return statement in function"); @@ -1298,22 +1319,23 @@ public class ADQLParser implements ADQLParserConstants { content = SimpleTableRef(); label_6: while(true){ content = JoinSpecification(content); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case NATURAL: case INNER: case RIGHT: case LEFT: case FULL: - case JOIN: + case JOIN:{ ; break; + } default: jj_la1[29] = jj_gen; break label_6; } } { - if (true) + if ("" != null) return content; } throw new Error("Missing return statement in function"); @@ -1334,145 +1356,158 @@ public class ADQLParser implements ADQLParserConstants { ADQLJoin join; Token lastPar; try{ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case NATURAL: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case NATURAL:{ jj_consume_token(NATURAL); natural = true; - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case INNER: case RIGHT: case LEFT: - case FULL: - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case INNER: + case FULL:{ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case INNER:{ jj_consume_token(INNER); break; + } case RIGHT: case LEFT: - case FULL: - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case LEFT: + case FULL:{ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case LEFT:{ jj_consume_token(LEFT); type = JoinType.OUTER_LEFT; break; - case RIGHT: + } + case RIGHT:{ jj_consume_token(RIGHT); type = JoinType.OUTER_RIGHT; break; - case FULL: + } + case FULL:{ jj_consume_token(FULL); type = JoinType.OUTER_FULL; break; + } default: jj_la1[30] = jj_gen; jj_consume_token(-1); throw new ParseException(); } - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case OUTER: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case OUTER:{ jj_consume_token(OUTER); break; + } default: - jj_la1[31] = jj_gen; - ; + jj_la1[31] = jj_gen;; } break; + } default: jj_la1[32] = jj_gen; jj_consume_token(-1); throw new ParseException(); } break; + } default: - jj_la1[33] = jj_gen; - ; + jj_la1[33] = jj_gen;; } jj_consume_token(JOIN); rightTable = TableRef(); join = queryFactory.createJoin(type, leftTable, rightTable); join.setPosition(new TextPosition(leftTable.getPosition(), rightTable.getPosition())); { - if (true) + if ("" != null) return join; } break; + } case INNER: case RIGHT: case LEFT: case FULL: - case JOIN: - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + case JOIN:{ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case INNER: case RIGHT: case LEFT: - case FULL: - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case INNER: + case FULL:{ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case INNER:{ jj_consume_token(INNER); break; + } case RIGHT: case LEFT: - case FULL: - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case LEFT: + case FULL:{ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case LEFT:{ jj_consume_token(LEFT); type = JoinType.OUTER_LEFT; break; - case RIGHT: + } + case RIGHT:{ jj_consume_token(RIGHT); type = JoinType.OUTER_RIGHT; break; - case FULL: + } + case FULL:{ jj_consume_token(FULL); type = JoinType.OUTER_FULL; break; + } default: jj_la1[34] = jj_gen; jj_consume_token(-1); throw new ParseException(); } - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case OUTER: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case OUTER:{ jj_consume_token(OUTER); break; + } default: - jj_la1[35] = jj_gen; - ; + jj_la1[35] = jj_gen;; } break; + } default: jj_la1[36] = jj_gen; jj_consume_token(-1); throw new ParseException(); } break; + } default: - jj_la1[37] = jj_gen; - ; + jj_la1[37] = jj_gen;; } jj_consume_token(JOIN); rightTable = TableRef(); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case ON: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case ON:{ jj_consume_token(ON); ConditionsList(condition); join = queryFactory.createJoin(type, leftTable, rightTable, condition); join.setPosition(new TextPosition(leftTable.getPosition(), condition.getPosition())); { - if (true) + if ("" != null) return join; } break; - case USING: + } + case USING:{ jj_consume_token(USING); jj_consume_token(LEFT_PAR); id = Identifier(); lstColumns.add(queryFactory.createColumn(id)); label_7: while(true){ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case COMMA: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case COMMA:{ ; break; + } default: jj_la1[38] = jj_gen; break label_7; @@ -1485,16 +1520,18 @@ public class ADQLParser implements ADQLParserConstants { join = queryFactory.createJoin(type, leftTable, rightTable, lstColumns); join.setPosition(new TextPosition(leftTable.getPosition().beginLine, leftTable.getPosition().beginColumn, lastPar.endLine, (lastPar.endColumn < 0) ? -1 : (lastPar.endColumn + 1))); { - if (true) + if ("" != null) return join; } break; + } default: jj_la1[39] = jj_gen; jj_consume_token(-1); throw new ParseException(); } break; + } default: jj_la1[40] = jj_gen; jj_consume_token(-1); @@ -1526,10 +1563,11 @@ public class ADQLParser implements ADQLParserConstants { str += t.image.substring(1, t.image.length() - 1).replaceAll("''", "'"); if (start == null) start = t; - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case STRING_LITERAL: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case STRING_LITERAL:{ ; break; + } default: jj_la1[41] = jj_gen; break label_8; @@ -1539,7 +1577,7 @@ public class ADQLParser implements ADQLParserConstants { cst = queryFactory.createStringConstant(str); cst.setPosition(new TextPosition(start, t)); { - if (true) + if ("" != null) return cst; } }catch(Exception ex){ @@ -1562,16 +1600,19 @@ public class ADQLParser implements ADQLParserConstants { try{ Token t; NumericConstant cst; - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case SCIENTIFIC_NUMBER: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case SCIENTIFIC_NUMBER:{ t = jj_consume_token(SCIENTIFIC_NUMBER); break; - case UNSIGNED_FLOAT: + } + case UNSIGNED_FLOAT:{ t = jj_consume_token(UNSIGNED_FLOAT); break; - case UNSIGNED_INTEGER: + } + case UNSIGNED_INTEGER:{ t = jj_consume_token(UNSIGNED_INTEGER); break; + } default: jj_la1[42] = jj_gen; jj_consume_token(-1); @@ -1581,7 +1622,7 @@ public class ADQLParser implements ADQLParserConstants { cst = queryFactory.createNumericConstant(t.image); cst.setPosition(new TextPosition(t)); { - if (true) + if ("" != null) return cst; } }catch(Exception ex){ @@ -1601,13 +1642,15 @@ public class ADQLParser implements ADQLParserConstants { try{ Token t; NumericConstant cst; - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case UNSIGNED_INTEGER: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case UNSIGNED_INTEGER:{ t = jj_consume_token(UNSIGNED_INTEGER); break; - case UNSIGNED_FLOAT: + } + case UNSIGNED_FLOAT:{ t = jj_consume_token(UNSIGNED_FLOAT); break; + } default: jj_la1[43] = jj_gen; jj_consume_token(-1); @@ -1617,7 +1660,7 @@ public class ADQLParser implements ADQLParserConstants { cst = queryFactory.createNumericConstant(t.image); cst.setPosition(new TextPosition(t)); { - if (true) + if ("" != null) return cst; } }catch(Exception ex){ @@ -1637,25 +1680,27 @@ public class ADQLParser implements ADQLParserConstants { try{ Token sign = null, number; NumericConstant cst; - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case PLUS: - case MINUS: - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case PLUS: + case MINUS:{ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case PLUS:{ sign = jj_consume_token(PLUS); break; - case MINUS: + } + case MINUS:{ sign = jj_consume_token(MINUS); break; + } default: jj_la1[44] = jj_gen; jj_consume_token(-1); throw new ParseException(); } break; + } default: - jj_la1[45] = jj_gen; - ; + jj_la1[45] = jj_gen;; } number = jj_consume_token(UNSIGNED_INTEGER); try{ @@ -1667,7 +1712,7 @@ public class ADQLParser implements ADQLParserConstants { cst.setPosition(new TextPosition(sign, number)); } { - if (true) + if ("" != null) return cst; } }catch(Exception ex){ @@ -1692,48 +1737,52 @@ public class ADQLParser implements ADQLParserConstants { ADQLOperand op; Token left, right; try{ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case SCIENTIFIC_NUMBER: case UNSIGNED_FLOAT: - case UNSIGNED_INTEGER: + case UNSIGNED_INTEGER:{ // unsigned_value_specification op = UnsignedNumeric(); { - if (true) + if ("" != null) return op; } break; + } case DELIMITED_IDENTIFIER: - case REGULAR_IDENTIFIER: + case REGULAR_IDENTIFIER:{ column = Column(); column.setExpectedType('N'); { - if (true) + if ("" != null) return column; } break; + } case AVG: case MAX: case MIN: case SUM: - case COUNT: + case COUNT:{ op = SqlFunction(); { - if (true) + if ("" != null) return op; } break; - case LEFT_PAR: + } + case LEFT_PAR:{ left = jj_consume_token(LEFT_PAR); op = NumericExpression(); right = jj_consume_token(RIGHT_PAR); WrappedOperand wop = queryFactory.createWrappedOperand(op); wop.setPosition(new TextPosition(left, right)); { - if (true) + if ("" != null) return wop; } break; + } default: jj_la1[46] = jj_gen; jj_consume_token(-1); @@ -1759,35 +1808,38 @@ public class ADQLParser implements ADQLParserConstants { ADQLOperand op; Token left, right; try{ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case STRING_LITERAL: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case STRING_LITERAL:{ // string expr = String(); { - if (true) + if ("" != null) return expr; } break; + } case DELIMITED_IDENTIFIER: - case REGULAR_IDENTIFIER: + case REGULAR_IDENTIFIER:{ column = Column(); column.setExpectedType('S'); { - if (true) + if ("" != null) return column; } break; - case LEFT_PAR: + } + case LEFT_PAR:{ left = jj_consume_token(LEFT_PAR); op = StringExpression(); right = jj_consume_token(RIGHT_PAR); WrappedOperand wop = queryFactory.createWrappedOperand(op); wop.setPosition(new TextPosition(left, right)); { - if (true) + if ("" != null) return wop; } break; + } default: jj_la1[47] = jj_gen; jj_consume_token(-1); @@ -1824,15 +1876,16 @@ public class ADQLParser implements ADQLParserConstants { }else if (jj_2_7(2147483647)){ valueExpr = UserDefinedFunction(); }else{ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case BOX: case CENTROID: case CIRCLE: case POINT: case POLYGON: - case REGION: + case REGION:{ valueExpr = GeometryValueFunction(); break; + } default: jj_la1[48] = jj_gen; if (jj_2_8(2147483647)){ @@ -1840,7 +1893,7 @@ public class ADQLParser implements ADQLParserConstants { }else if (jj_2_9(2147483647)){ valueExpr = StringFactor(); }else{ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case LEFT_PAR: case PLUS: case MINUS: @@ -1882,9 +1935,10 @@ public class ADQLParser implements ADQLParserConstants { case REGULAR_IDENTIFIER: case SCIENTIFIC_NUMBER: case UNSIGNED_FLOAT: - case UNSIGNED_INTEGER: + case UNSIGNED_INTEGER:{ valueExpr = Factor(); break; + } default: jj_la1[49] = jj_gen; jj_consume_token(-1); @@ -1894,7 +1948,7 @@ public class ADQLParser implements ADQLParserConstants { } } { - if (true) + if ("" != null) return valueExpr; } }catch(Exception ex){ @@ -1915,16 +1969,18 @@ public class ADQLParser implements ADQLParserConstants { Token sign = null; ADQLOperand leftOp, rightOp = null; leftOp = NumericTerm(); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case PLUS: - case MINUS: - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case PLUS: + case MINUS:{ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case PLUS:{ sign = jj_consume_token(PLUS); break; - case MINUS: + } + case MINUS:{ sign = jj_consume_token(MINUS); break; + } default: jj_la1[50] = jj_gen; jj_consume_token(-1); @@ -1932,19 +1988,19 @@ public class ADQLParser implements ADQLParserConstants { } rightOp = NumericExpression(); break; + } default: - jj_la1[51] = jj_gen; - ; + jj_la1[51] = jj_gen;; } if (sign == null){ - if (true) + if ("" != null) return leftOp; }else{ try{ Operation operation = queryFactory.createOperation(leftOp, OperationType.getOperator(sign.image), rightOp); operation.setPosition(new TextPosition(leftOp.getPosition(), rightOp.getPosition())); { - if (true) + if ("" != null) return operation; } }catch(Exception ex){ @@ -1966,16 +2022,18 @@ public class ADQLParser implements ADQLParserConstants { Token sign = null; ADQLOperand leftOp, rightOp = null; leftOp = Factor(); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case ASTERISK: - case DIVIDE: - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case ASTERISK: + case DIVIDE:{ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case ASTERISK:{ sign = jj_consume_token(ASTERISK); break; - case DIVIDE: + } + case DIVIDE:{ sign = jj_consume_token(DIVIDE); break; + } default: jj_la1[52] = jj_gen; jj_consume_token(-1); @@ -1983,19 +2041,19 @@ public class ADQLParser implements ADQLParserConstants { } rightOp = NumericTerm(); break; + } default: - jj_la1[53] = jj_gen; - ; + jj_la1[53] = jj_gen;; } if (sign == null){ - if (true) + if ("" != null) return leftOp; }else{ try{ Operation operation = queryFactory.createOperation(leftOp, OperationType.getOperator(sign.image), rightOp); operation.setPosition(new TextPosition(leftOp.getPosition(), rightOp.getPosition())); { - if (true) + if ("" != null) return operation; } }catch(Exception ex){ @@ -2017,31 +2075,33 @@ public class ADQLParser implements ADQLParserConstants { boolean negative = false; Token minusSign = null; ADQLOperand op; - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case PLUS: - case MINUS: - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case PLUS: + case MINUS:{ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case PLUS:{ jj_consume_token(PLUS); break; - case MINUS: + } + case MINUS:{ minusSign = jj_consume_token(MINUS); negative = true; break; + } default: jj_la1[54] = jj_gen; jj_consume_token(-1); throw new ParseException(); } break; + } default: - jj_la1[55] = jj_gen; - ; + jj_la1[55] = jj_gen;; } if (jj_2_10(2)){ op = NumericFunction(); }else{ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case LEFT_PAR: case AVG: case MAX: @@ -2052,9 +2112,10 @@ public class ADQLParser implements ADQLParserConstants { case REGULAR_IDENTIFIER: case SCIENTIFIC_NUMBER: case UNSIGNED_FLOAT: - case UNSIGNED_INTEGER: + case UNSIGNED_INTEGER:{ op = NumericValueExpressionPrimary(); break; + } default: jj_la1[56] = jj_gen; jj_consume_token(-1); @@ -2079,7 +2140,7 @@ public class ADQLParser implements ADQLParserConstants { } { - if (true) + if ("" != null) return op; } throw new Error("Missing return statement in function"); @@ -2095,10 +2156,11 @@ public class ADQLParser implements ADQLParserConstants { ADQLOperand rightOp = null; leftOp = StringFactor(); label_9: while(true){ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case CONCAT: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case CONCAT:{ ; break; + } default: jj_la1[57] = jj_gen; break label_9; @@ -2124,7 +2186,7 @@ public class ADQLParser implements ADQLParserConstants { concat.setPosition(new TextPosition(concat.get(0).getPosition(), concat.get(concat.size() - 1).getPosition())); } { - if (true) + if ("" != null) return leftOp; } throw new Error("Missing return statement in function"); @@ -2137,23 +2199,25 @@ public class ADQLParser implements ADQLParserConstants { trace_call("StringFactor"); try{ ADQLOperand op; - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case COORDSYS: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case COORDSYS:{ op = ExtractCoordSys(); break; + } default: jj_la1[58] = jj_gen; if (jj_2_11(2)){ op = UserDefinedFunction(); ((UserDefinedFunction)op).setExpectedType('S'); }else{ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case LEFT_PAR: case STRING_LITERAL: case DELIMITED_IDENTIFIER: - case REGULAR_IDENTIFIER: + case REGULAR_IDENTIFIER:{ op = StringValueExpressionPrimary(); break; + } default: jj_la1[59] = jj_gen; jj_consume_token(-1); @@ -2162,7 +2226,7 @@ public class ADQLParser implements ADQLParserConstants { } } { - if (true) + if ("" != null) return op; } throw new Error("Missing return statement in function"); @@ -2176,19 +2240,21 @@ public class ADQLParser implements ADQLParserConstants { try{ ADQLColumn col = null; GeometryFunction gf = null; - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case DELIMITED_IDENTIFIER: - case REGULAR_IDENTIFIER: + case REGULAR_IDENTIFIER:{ col = Column(); break; + } case BOX: case CENTROID: case CIRCLE: case POINT: case POLYGON: - case REGION: + case REGION:{ gf = GeometryValueFunction(); break; + } default: jj_la1[60] = jj_gen; jj_consume_token(-1); @@ -2197,11 +2263,11 @@ public class ADQLParser implements ADQLParserConstants { if (col != null){ col.setExpectedType('G'); { - if (true) + if ("" != null) return new GeometryValue<GeometryFunction>(col); } }else{ - if (true) + if ("" != null) return new GeometryValue<GeometryFunction>(gf); } throw new Error("Missing return statement in function"); @@ -2220,14 +2286,14 @@ public class ADQLParser implements ADQLParserConstants { Token op = null; boolean notOp = false; try{ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case NOT: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case NOT:{ op = jj_consume_token(NOT); notOp = true; break; + } default: - jj_la1[61] = jj_gen; - ; + jj_la1[61] = jj_gen;; } constraint = Constraint(); if (notOp){ @@ -2242,35 +2308,38 @@ public class ADQLParser implements ADQLParserConstants { else clause.add(constraint); label_10: while(true){ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case AND: - case OR: + case OR:{ ; break; + } default: jj_la1[62] = jj_gen; break label_10; } - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case AND: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case AND:{ op = jj_consume_token(AND); break; - case OR: + } + case OR:{ op = jj_consume_token(OR); break; + } default: jj_la1[63] = jj_gen; jj_consume_token(-1); throw new ParseException(); } - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case NOT: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case NOT:{ jj_consume_token(NOT); notOp = true; break; + } default: - jj_la1[64] = jj_gen; - ; + jj_la1[64] = jj_gen;; } constraint = Constraint(); if (notOp){ @@ -2297,7 +2366,7 @@ public class ADQLParser implements ADQLParserConstants { clause.setPosition(new TextPosition(start, end)); } { - if (true) + if ("" != null) return clause; } throw new Error("Missing return statement in function"); @@ -2314,8 +2383,8 @@ public class ADQLParser implements ADQLParserConstants { if (jj_2_12(2147483647)){ constraint = Predicate(); }else{ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case LEFT_PAR: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case LEFT_PAR:{ start = jj_consume_token(LEFT_PAR); try{ constraint = queryFactory.createGroupOfConstraints(); @@ -2329,6 +2398,7 @@ public class ADQLParser implements ADQLParserConstants { end = jj_consume_token(RIGHT_PAR); ((ConstraintsGroup)constraint).setPosition(new TextPosition(start, end)); break; + } default: jj_la1[65] = jj_gen; jj_consume_token(-1); @@ -2336,7 +2406,7 @@ public class ADQLParser implements ADQLParserConstants { } } { - if (true) + if ("" != null) return constraint; } throw new Error("Missing return statement in function"); @@ -2355,57 +2425,58 @@ public class ADQLParser implements ADQLParserConstants { Token start, notToken = null, end; ADQLConstraint constraint = null; try{ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case EXISTS: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case EXISTS:{ start = jj_consume_token(EXISTS); q = SubQueryExpression(); Exists e = queryFactory.createExists(q); e.setPosition(new TextPosition(start.beginLine, start.beginColumn, q.getPosition().endLine, q.getPosition().endColumn)); { - if (true) + if ("" != null) return e; } break; + } default: jj_la1[70] = jj_gen; if (jj_2_14(2147483647)){ column = Column(); jj_consume_token(IS); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case NOT: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case NOT:{ notToken = jj_consume_token(NOT); break; + } default: - jj_la1[66] = jj_gen; - ; + jj_la1[66] = jj_gen;; } end = jj_consume_token(NULL); IsNull in = queryFactory.createIsNull((notToken != null), column); in.setPosition(new TextPosition(column.getPosition().beginLine, column.getPosition().beginColumn, end.endLine, (end.endColumn < 0) ? -1 : (end.endColumn + 1))); { - if (true) + if ("" != null) return in; } }else if (jj_2_15(2147483647)){ strExpr1 = StringExpression(); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case NOT: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case NOT:{ notToken = jj_consume_token(NOT); break; + } default: - jj_la1[67] = jj_gen; - ; + jj_la1[67] = jj_gen;; } jj_consume_token(LIKE); strExpr2 = StringExpression(); Comparison comp = queryFactory.createComparison(strExpr1, (notToken == null) ? ComparisonOperator.LIKE : ComparisonOperator.NOTLIKE, strExpr2); comp.setPosition(new TextPosition(strExpr1.getPosition(), strExpr2.getPosition())); { - if (true) + if ("" != null) return comp; } }else{ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case LEFT_PAR: case PLUS: case MINUS: @@ -2455,27 +2526,29 @@ public class ADQLParser implements ADQLParserConstants { case REGULAR_IDENTIFIER: case SCIENTIFIC_NUMBER: case UNSIGNED_FLOAT: - case UNSIGNED_INTEGER: + case UNSIGNED_INTEGER:{ op = ValueExpression(); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case EQUAL: case NOT_EQUAL: case LESS_THAN: case LESS_EQUAL_THAN: case GREATER_THAN: - case GREATER_EQUAL_THAN: + case GREATER_EQUAL_THAN:{ constraint = ComparisonEnd(op); break; + } default: jj_la1[68] = jj_gen; if (jj_2_13(2)){ constraint = BetweenEnd(op); }else{ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case NOT: - case IN: + case IN:{ constraint = InEnd(op); break; + } default: jj_la1[69] = jj_gen; jj_consume_token(-1); @@ -2484,6 +2557,7 @@ public class ADQLParser implements ADQLParserConstants { } } break; + } default: jj_la1[71] = jj_gen; jj_consume_token(-1); @@ -2498,7 +2572,7 @@ public class ADQLParser implements ADQLParserConstants { } } { - if (true) + if ("" != null) return constraint; } throw new Error("Missing return statement in function"); @@ -2512,25 +2586,31 @@ public class ADQLParser implements ADQLParserConstants { try{ Token comp; ADQLOperand rightOp; - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case EQUAL: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case EQUAL:{ comp = jj_consume_token(EQUAL); break; - case NOT_EQUAL: + } + case NOT_EQUAL:{ comp = jj_consume_token(NOT_EQUAL); break; - case LESS_THAN: + } + case LESS_THAN:{ comp = jj_consume_token(LESS_THAN); break; - case LESS_EQUAL_THAN: + } + case LESS_EQUAL_THAN:{ comp = jj_consume_token(LESS_EQUAL_THAN); break; - case GREATER_THAN: + } + case GREATER_THAN:{ comp = jj_consume_token(GREATER_THAN); break; - case GREATER_EQUAL_THAN: + } + case GREATER_EQUAL_THAN:{ comp = jj_consume_token(GREATER_EQUAL_THAN); break; + } default: jj_la1[72] = jj_gen; jj_consume_token(-1); @@ -2541,7 +2621,7 @@ public class ADQLParser implements ADQLParserConstants { Comparison comparison = queryFactory.createComparison(leftOp, ComparisonOperator.getOperator(comp.image), rightOp); comparison.setPosition(new TextPosition(leftOp.getPosition(), rightOp.getPosition())); { - if (true) + if ("" != null) return comparison; } }catch(Exception ex){ @@ -2561,13 +2641,13 @@ public class ADQLParser implements ADQLParserConstants { try{ Token start, notToken = null; ADQLOperand min, max; - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case NOT: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case NOT:{ notToken = jj_consume_token(NOT); break; + } default: - jj_la1[73] = jj_gen; - ; + jj_la1[73] = jj_gen;; } start = jj_consume_token(BETWEEN); min = ValueExpression(); @@ -2579,7 +2659,7 @@ public class ADQLParser implements ADQLParserConstants { start = notToken; bet.setPosition(new TextPosition(start.beginLine, start.beginColumn, max.getPosition().endLine, max.getPosition().endColumn)); { - if (true) + if ("" != null) return bet; } }catch(Exception ex){ @@ -2601,28 +2681,29 @@ public class ADQLParser implements ADQLParserConstants { ADQLQuery q = null; ADQLOperand item; Vector<ADQLOperand> items = new Vector<ADQLOperand>(); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case NOT: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case NOT:{ not = jj_consume_token(NOT); break; + } default: - jj_la1[74] = jj_gen; - ; + jj_la1[74] = jj_gen;; } start = jj_consume_token(IN); if (jj_2_16(2)){ q = SubQueryExpression(); }else{ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case LEFT_PAR: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case LEFT_PAR:{ jj_consume_token(LEFT_PAR); item = ValueExpression(); items.add(item); label_11: while(true){ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case COMMA: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case COMMA:{ ; break; + } default: jj_la1[75] = jj_gen; break label_11; @@ -2633,6 +2714,7 @@ public class ADQLParser implements ADQLParserConstants { } jj_consume_token(RIGHT_PAR); break; + } default: jj_la1[76] = jj_gen; jj_consume_token(-1); @@ -2654,7 +2736,7 @@ public class ADQLParser implements ADQLParserConstants { in.setPosition(new TextPosition(start.beginLine, start.beginColumn, list[list.length - 1].getPosition().endLine, list[list.length - 1].getPosition().endColumn)); } { - if (true) + if ("" != null) return in; } }catch(Exception ex){ @@ -2679,22 +2761,23 @@ public class ADQLParser implements ADQLParserConstants { ADQLOperand op = null; SQLFunction funct = null; try{ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case COUNT: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case COUNT:{ fct = jj_consume_token(COUNT); jj_consume_token(LEFT_PAR); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case QUANTIFIER: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case QUANTIFIER:{ distinct = jj_consume_token(QUANTIFIER); break; + } default: - jj_la1[77] = jj_gen; - ; + jj_la1[77] = jj_gen;; } - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case ASTERISK: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case ASTERISK:{ all = jj_consume_token(ASTERISK); break; + } case LEFT_PAR: case PLUS: case MINUS: @@ -2744,9 +2827,10 @@ public class ADQLParser implements ADQLParserConstants { case REGULAR_IDENTIFIER: case SCIENTIFIC_NUMBER: case UNSIGNED_FLOAT: - case UNSIGNED_INTEGER: + case UNSIGNED_INTEGER:{ op = ValueExpression(); break; + } default: jj_la1[78] = jj_gen; jj_consume_token(-1); @@ -2756,42 +2840,48 @@ public class ADQLParser implements ADQLParserConstants { funct = queryFactory.createSQLFunction((all != null) ? SQLFunctionType.COUNT_ALL : SQLFunctionType.COUNT, op, distinct != null && distinct.image.equalsIgnoreCase("distinct")); funct.setPosition(new TextPosition(fct, end)); break; + } case AVG: case MAX: case MIN: - case SUM: - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case AVG: + case SUM:{ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case AVG:{ fct = jj_consume_token(AVG); break; - case MAX: + } + case MAX:{ fct = jj_consume_token(MAX); break; - case MIN: + } + case MIN:{ fct = jj_consume_token(MIN); break; - case SUM: + } + case SUM:{ fct = jj_consume_token(SUM); break; + } default: jj_la1[79] = jj_gen; jj_consume_token(-1); throw new ParseException(); } jj_consume_token(LEFT_PAR); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case QUANTIFIER: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case QUANTIFIER:{ distinct = jj_consume_token(QUANTIFIER); break; + } default: - jj_la1[80] = jj_gen; - ; + jj_la1[80] = jj_gen;; } op = ValueExpression(); end = jj_consume_token(RIGHT_PAR); funct = queryFactory.createSQLFunction(SQLFunctionType.valueOf(fct.image.toUpperCase()), op, distinct != null && distinct.image.equalsIgnoreCase("distinct")); funct.setPosition(new TextPosition(fct, end)); break; + } default: jj_la1[81] = jj_gen; jj_consume_token(-1); @@ -2804,7 +2894,7 @@ public class ADQLParser implements ADQLParserConstants { } } { - if (true) + if ("" != null) return funct; } throw new Error("Missing return statement in function"); @@ -2824,7 +2914,7 @@ public class ADQLParser implements ADQLParserConstants { jj_consume_token(COMMA); ops[1] = NumericExpression(); { - if (true) + if ("" != null) return ops; } throw new Error("Missing return statement in function"); @@ -2843,16 +2933,18 @@ public class ADQLParser implements ADQLParserConstants { PointFunction p1 = null, p2 = null; ADQLColumn col1 = null, col2 = null; try{ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case CONTAINS: - case INTERSECTS: - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case CONTAINS: + case INTERSECTS:{ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case CONTAINS:{ fct = jj_consume_token(CONTAINS); break; - case INTERSECTS: + } + case INTERSECTS:{ fct = jj_consume_token(INTERSECTS); break; + } default: jj_la1[82] = jj_gen; jj_consume_token(-1); @@ -2868,27 +2960,31 @@ public class ADQLParser implements ADQLParserConstants { else gf = queryFactory.createIntersects(gvf1, gvf2); break; - case AREA: + } + case AREA:{ fct = jj_consume_token(AREA); jj_consume_token(LEFT_PAR); gvf1 = GeometryExpression(); end = jj_consume_token(RIGHT_PAR); gf = queryFactory.createArea(gvf1); break; - case COORD1: + } + case COORD1:{ fct = jj_consume_token(COORD1); jj_consume_token(LEFT_PAR); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case POINT: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case POINT:{ p1 = Point(); gf = queryFactory.createCoord1(p1); break; + } case DELIMITED_IDENTIFIER: - case REGULAR_IDENTIFIER: + case REGULAR_IDENTIFIER:{ col1 = Column(); col1.setExpectedType('G'); gf = queryFactory.createCoord1(col1); break; + } default: jj_la1[83] = jj_gen; jj_consume_token(-1); @@ -2896,20 +2992,23 @@ public class ADQLParser implements ADQLParserConstants { } end = jj_consume_token(RIGHT_PAR); break; - case COORD2: + } + case COORD2:{ fct = jj_consume_token(COORD2); jj_consume_token(LEFT_PAR); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case POINT: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case POINT:{ p1 = Point(); gf = queryFactory.createCoord2(p1); break; + } case DELIMITED_IDENTIFIER: - case REGULAR_IDENTIFIER: + case REGULAR_IDENTIFIER:{ col1 = Column(); col1.setExpectedType('G'); gf = queryFactory.createCoord2(col1); break; + } default: jj_la1[84] = jj_gen; jj_consume_token(-1); @@ -2917,17 +3016,20 @@ public class ADQLParser implements ADQLParserConstants { } end = jj_consume_token(RIGHT_PAR); break; - case DISTANCE: + } + case DISTANCE:{ fct = jj_consume_token(DISTANCE); jj_consume_token(LEFT_PAR); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case POINT: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case POINT:{ p1 = Point(); break; + } case DELIMITED_IDENTIFIER: - case REGULAR_IDENTIFIER: + case REGULAR_IDENTIFIER:{ col1 = Column(); break; + } default: jj_la1[85] = jj_gen; jj_consume_token(-1); @@ -2940,14 +3042,16 @@ public class ADQLParser implements ADQLParserConstants { gvp1 = new GeometryValue<PointFunction>(col1); } jj_consume_token(COMMA); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case POINT: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case POINT:{ p2 = Point(); break; + } case DELIMITED_IDENTIFIER: - case REGULAR_IDENTIFIER: + case REGULAR_IDENTIFIER:{ col2 = Column(); break; + } default: jj_la1[86] = jj_gen; jj_consume_token(-1); @@ -2962,6 +3066,7 @@ public class ADQLParser implements ADQLParserConstants { end = jj_consume_token(RIGHT_PAR); gf = queryFactory.createDistance(gvp1, gvp2); break; + } default: jj_la1[87] = jj_gen; jj_consume_token(-1); @@ -2975,7 +3080,7 @@ public class ADQLParser implements ADQLParserConstants { } gf.setPosition(new TextPosition(fct, end)); { - if (true) + if ("" != null) return gf; } throw new Error("Missing return statement in function"); @@ -2990,7 +3095,7 @@ public class ADQLParser implements ADQLParserConstants { ADQLOperand coordSys = null; coordSys = StringExpression(); { - if (true) + if ("" != null) return coordSys; } throw new Error("Missing return statement in function"); @@ -3011,8 +3116,8 @@ public class ADQLParser implements ADQLParserConstants { GeometryValue<GeometryFunction> gvf = null; GeometryFunction gf = null; try{ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case BOX: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case BOX:{ fct = jj_consume_token(BOX); jj_consume_token(LEFT_PAR); coordSys = CoordinateSystem(); @@ -3025,14 +3130,16 @@ public class ADQLParser implements ADQLParserConstants { end = jj_consume_token(RIGHT_PAR); gf = queryFactory.createBox(coordSys, coords[0], coords[1], width, height); break; - case CENTROID: + } + case CENTROID:{ fct = jj_consume_token(CENTROID); jj_consume_token(LEFT_PAR); gvf = GeometryExpression(); end = jj_consume_token(RIGHT_PAR); gf = queryFactory.createCentroid(gvf); break; - case CIRCLE: + } + case CIRCLE:{ fct = jj_consume_token(CIRCLE); jj_consume_token(LEFT_PAR); coordSys = CoordinateSystem(); @@ -3043,10 +3150,12 @@ public class ADQLParser implements ADQLParserConstants { end = jj_consume_token(RIGHT_PAR); gf = queryFactory.createCircle(coordSys, coords[0], coords[1], width); break; - case POINT: + } + case POINT:{ gf = Point(); break; - case POLYGON: + } + case POLYGON:{ fct = jj_consume_token(POLYGON); jj_consume_token(LEFT_PAR); coordSys = CoordinateSystem(); @@ -3064,10 +3173,11 @@ public class ADQLParser implements ADQLParserConstants { vCoords.add(tmp[0]); vCoords.add(tmp[1]); label_12: while(true){ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case COMMA: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case COMMA:{ ; break; + } default: jj_la1[88] = jj_gen; break label_12; @@ -3080,13 +3190,15 @@ public class ADQLParser implements ADQLParserConstants { end = jj_consume_token(RIGHT_PAR); gf = queryFactory.createPolygon(coordSys, vCoords); break; - case REGION: + } + case REGION:{ fct = jj_consume_token(REGION); jj_consume_token(LEFT_PAR); op = StringExpression(); end = jj_consume_token(RIGHT_PAR); gf = queryFactory.createRegion(op); break; + } default: jj_la1[89] = jj_gen; jj_consume_token(-1); @@ -3101,7 +3213,7 @@ public class ADQLParser implements ADQLParserConstants { if (fct != null && end != null) // = !(gf instanceof Point) gf.setPosition(new TextPosition(fct, end)); { - if (true) + if ("" != null) return gf; } throw new Error("Missing return statement in function"); @@ -3126,7 +3238,7 @@ public class ADQLParser implements ADQLParserConstants { PointFunction pf = queryFactory.createPoint(coordSys, coords[0], coords[1]); pf.setPosition(new TextPosition(start, end)); { - if (true) + if ("" != null) return pf; } }catch(Exception ex){ @@ -3154,7 +3266,7 @@ public class ADQLParser implements ADQLParserConstants { GeometryFunction gf = queryFactory.createExtractCoordSys(gvf); gf.setPosition(new TextPosition(start, end)); { - if (true) + if ("" != null) return gf; } }catch(Exception ex){ @@ -3176,7 +3288,7 @@ public class ADQLParser implements ADQLParserConstants { trace_call("NumericFunction"); try{ ADQLFunction fct; - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case ABS: case CEILING: case DEGREES: @@ -3191,9 +3303,10 @@ public class ADQLParser implements ADQLParserConstants { case RAND: case ROUND: case SQRT: - case TRUNCATE: + case TRUNCATE:{ fct = MathFunction(); break; + } case ACOS: case ASIN: case ATAN: @@ -3201,28 +3314,31 @@ public class ADQLParser implements ADQLParserConstants { case COS: case COT: case SIN: - case TAN: + case TAN:{ fct = TrigFunction(); break; + } case CONTAINS: case INTERSECTS: case AREA: case COORD1: case COORD2: - case DISTANCE: + case DISTANCE:{ fct = GeometryFunction(); break; - case REGULAR_IDENTIFIER: + } + case REGULAR_IDENTIFIER:{ fct = UserDefinedFunction(); ((UserDefinedFunction)fct).setExpectedType('N'); break; + } default: jj_la1[90] = jj_gen; jj_consume_token(-1); throw new ParseException(); } { - if (true) + if ("" != null) return fct; } throw new Error("Missing return statement in function"); @@ -3238,50 +3354,57 @@ public class ADQLParser implements ADQLParserConstants { ADQLOperand param1 = null, param2 = null; NumericConstant integerValue = null; try{ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case ABS: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case ABS:{ fct = jj_consume_token(ABS); jj_consume_token(LEFT_PAR); param1 = NumericExpression(); end = jj_consume_token(RIGHT_PAR); break; - case CEILING: + } + case CEILING:{ fct = jj_consume_token(CEILING); jj_consume_token(LEFT_PAR); param1 = NumericExpression(); end = jj_consume_token(RIGHT_PAR); break; - case DEGREES: + } + case DEGREES:{ fct = jj_consume_token(DEGREES); jj_consume_token(LEFT_PAR); param1 = NumericExpression(); end = jj_consume_token(RIGHT_PAR); break; - case EXP: + } + case EXP:{ fct = jj_consume_token(EXP); jj_consume_token(LEFT_PAR); param1 = NumericExpression(); end = jj_consume_token(RIGHT_PAR); break; - case FLOOR: + } + case FLOOR:{ fct = jj_consume_token(FLOOR); jj_consume_token(LEFT_PAR); param1 = NumericExpression(); end = jj_consume_token(RIGHT_PAR); break; - case LOG: + } + case LOG:{ fct = jj_consume_token(LOG); jj_consume_token(LEFT_PAR); param1 = NumericExpression(); end = jj_consume_token(RIGHT_PAR); break; - case LOG10: + } + case LOG10:{ fct = jj_consume_token(LOG10); jj_consume_token(LEFT_PAR); param1 = NumericExpression(); end = jj_consume_token(RIGHT_PAR); break; - case MOD: + } + case MOD:{ fct = jj_consume_token(MOD); jj_consume_token(LEFT_PAR); param1 = NumericExpression(); @@ -3289,12 +3412,14 @@ public class ADQLParser implements ADQLParserConstants { param2 = NumericExpression(); end = jj_consume_token(RIGHT_PAR); break; - case PI: + } + case PI:{ fct = jj_consume_token(PI); jj_consume_token(LEFT_PAR); end = jj_consume_token(RIGHT_PAR); break; - case POWER: + } + case POWER:{ fct = jj_consume_token(POWER); jj_consume_token(LEFT_PAR); param1 = NumericExpression(); @@ -3302,16 +3427,18 @@ public class ADQLParser implements ADQLParserConstants { param2 = NumericExpression(); end = jj_consume_token(RIGHT_PAR); break; - case RADIANS: + } + case RADIANS:{ fct = jj_consume_token(RADIANS); jj_consume_token(LEFT_PAR); param1 = NumericExpression(); end = jj_consume_token(RIGHT_PAR); break; - case RAND: + } + case RAND:{ fct = jj_consume_token(RAND); jj_consume_token(LEFT_PAR); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case LEFT_PAR: case PLUS: case MINUS: @@ -3353,66 +3480,65 @@ public class ADQLParser implements ADQLParserConstants { case REGULAR_IDENTIFIER: case SCIENTIFIC_NUMBER: case UNSIGNED_FLOAT: - case UNSIGNED_INTEGER: + case UNSIGNED_INTEGER:{ param1 = NumericExpression(); break; + } default: - jj_la1[91] = jj_gen; - ; + jj_la1[91] = jj_gen;; } end = jj_consume_token(RIGHT_PAR); break; - case ROUND: + } + case ROUND:{ fct = jj_consume_token(ROUND); jj_consume_token(LEFT_PAR); param1 = NumericExpression(); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case COMMA: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case COMMA:{ jj_consume_token(COMMA); param2 = SignedInteger(); break; + } default: - jj_la1[92] = jj_gen; - ; + jj_la1[92] = jj_gen;; } end = jj_consume_token(RIGHT_PAR); break; - case SQRT: + } + case SQRT:{ fct = jj_consume_token(SQRT); jj_consume_token(LEFT_PAR); param1 = NumericExpression(); end = jj_consume_token(RIGHT_PAR); break; - case TRUNCATE: + } + case TRUNCATE:{ fct = jj_consume_token(TRUNCATE); jj_consume_token(LEFT_PAR); param1 = NumericExpression(); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case COMMA: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case COMMA:{ jj_consume_token(COMMA); param2 = SignedInteger(); break; + } default: - jj_la1[93] = jj_gen; - ; + jj_la1[93] = jj_gen;; } end = jj_consume_token(RIGHT_PAR); break; + } default: jj_la1[94] = jj_gen; jj_consume_token(-1); throw new ParseException(); } - if (param1 != null){ - MathFunction mf = queryFactory.createMathFunction(MathFunctionType.valueOf(fct.image.toUpperCase()), param1, param2); - mf.setPosition(new TextPosition(fct, end)); - { - if (true) - return mf; - } - }else{ - if (true) - return null; + MathFunction mf = queryFactory.createMathFunction(MathFunctionType.valueOf(fct.image.toUpperCase()), param1, param2); + mf.setPosition(new TextPosition(fct, end)); + { + if ("" != null) + return mf; } }catch(Exception ex){ { @@ -3431,26 +3557,29 @@ public class ADQLParser implements ADQLParserConstants { try{ Token fct = null, end; ADQLOperand param1 = null, param2 = null; - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case ACOS: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case ACOS:{ fct = jj_consume_token(ACOS); jj_consume_token(LEFT_PAR); param1 = NumericExpression(); end = jj_consume_token(RIGHT_PAR); break; - case ASIN: + } + case ASIN:{ fct = jj_consume_token(ASIN); jj_consume_token(LEFT_PAR); param1 = NumericExpression(); end = jj_consume_token(RIGHT_PAR); break; - case ATAN: + } + case ATAN:{ fct = jj_consume_token(ATAN); jj_consume_token(LEFT_PAR); param1 = NumericExpression(); end = jj_consume_token(RIGHT_PAR); break; - case ATAN2: + } + case ATAN2:{ fct = jj_consume_token(ATAN2); jj_consume_token(LEFT_PAR); param1 = NumericExpression(); @@ -3458,46 +3587,46 @@ public class ADQLParser implements ADQLParserConstants { param2 = NumericExpression(); end = jj_consume_token(RIGHT_PAR); break; - case COS: + } + case COS:{ fct = jj_consume_token(COS); jj_consume_token(LEFT_PAR); param1 = NumericExpression(); end = jj_consume_token(RIGHT_PAR); break; - case COT: + } + case COT:{ fct = jj_consume_token(COT); jj_consume_token(LEFT_PAR); param1 = NumericExpression(); end = jj_consume_token(RIGHT_PAR); break; - case SIN: + } + case SIN:{ fct = jj_consume_token(SIN); jj_consume_token(LEFT_PAR); param1 = NumericExpression(); end = jj_consume_token(RIGHT_PAR); break; - case TAN: + } + case TAN:{ fct = jj_consume_token(TAN); jj_consume_token(LEFT_PAR); param1 = NumericExpression(); end = jj_consume_token(RIGHT_PAR); break; + } default: jj_la1[95] = jj_gen; jj_consume_token(-1); throw new ParseException(); } try{ - if (param1 != null){ - MathFunction mf = queryFactory.createMathFunction(MathFunctionType.valueOf(fct.image.toUpperCase()), param1, param2); - mf.setPosition(new TextPosition(fct, end)); - { - if (true) - return mf; - } - }else{ - if (true) - return null; + MathFunction mf = queryFactory.createMathFunction(MathFunctionType.valueOf(fct.image.toUpperCase()), param1, param2); + mf.setPosition(new TextPosition(fct, end)); + { + if ("" != null) + return mf; } }catch(Exception ex){ { @@ -3519,7 +3648,7 @@ public class ADQLParser implements ADQLParserConstants { ADQLOperand op; fct = jj_consume_token(REGULAR_IDENTIFIER); jj_consume_token(LEFT_PAR); - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ case LEFT_PAR: case PLUS: case MINUS: @@ -3569,14 +3698,15 @@ public class ADQLParser implements ADQLParserConstants { case REGULAR_IDENTIFIER: case SCIENTIFIC_NUMBER: case UNSIGNED_FLOAT: - case UNSIGNED_INTEGER: + case UNSIGNED_INTEGER:{ op = ValueExpression(); params.add(op); label_13: while(true){ - switch((jj_ntk == -1) ? jj_ntk() : jj_ntk){ - case COMMA: + switch((jj_ntk == -1) ? jj_ntk_f() : jj_ntk){ + case COMMA:{ ; break; + } default: jj_la1[96] = jj_gen; break label_13; @@ -3586,9 +3716,9 @@ public class ADQLParser implements ADQLParserConstants { params.add(op); } break; + } default: - jj_la1[97] = jj_gen; - ; + jj_la1[97] = jj_gen;; } end = jj_consume_token(RIGHT_PAR); //System.out.println("INFO [ADQLParser]: \""+fct.image+"\" (from line "+fct.beginLine+" and column "+fct.beginColumn+" to line "+token.endLine+" and column "+(token.endColumn+1)+") is considered as an user defined function !"); @@ -3601,7 +3731,7 @@ public class ADQLParser implements ADQLParserConstants { UserDefinedFunction udf = queryFactory.createUserDefinedFunction(fct.image, parameters); udf.setPosition(new TextPosition(fct, end)); { - if (true) + if ("" != null) return udf; } }catch(UnsupportedOperationException uoe){ @@ -4392,14 +4522,6 @@ public class ADQLParser implements ADQLParserConstants { return false; } - private boolean jj_3R_133(){ - if (jj_scan_token(COMMA)) - return true; - if (jj_3R_42()) - return true; - return false; - } - private boolean jj_3R_66(){ Token xsp; xsp = jj_scanpos; @@ -4414,6 +4536,14 @@ public class ADQLParser implements ADQLParserConstants { return false; } + private boolean jj_3R_133(){ + if (jj_scan_token(COMMA)) + return true; + if (jj_3R_42()) + return true; + return false; + } + private boolean jj_3R_25(){ if (jj_3R_42()) return true; @@ -4431,6 +4561,14 @@ public class ADQLParser implements ADQLParserConstants { return false; } + private boolean jj_3R_52(){ + if (jj_scan_token(DOT)) + return true; + if (jj_3R_71()) + return true; + return false; + } + private boolean jj_3R_115(){ if (jj_3R_42()) return true; @@ -4445,14 +4583,6 @@ public class ADQLParser implements ADQLParserConstants { return false; } - private boolean jj_3R_52(){ - if (jj_scan_token(DOT)) - return true; - if (jj_3R_71()) - return true; - return false; - } - private boolean jj_3R_21(){ if (jj_3R_36()) return true; @@ -4520,6 +4650,18 @@ public class ADQLParser implements ADQLParserConstants { return false; } + private boolean jj_3R_29(){ + if (jj_scan_token(DELIMITED_IDENTIFIER)) + return true; + return false; + } + + private boolean jj_3R_28(){ + if (jj_scan_token(REGULAR_IDENTIFIER)) + return true; + return false; + } + private boolean jj_3R_24(){ if (jj_scan_token(REGULAR_IDENTIFIER)) return true; @@ -4534,30 +4676,35 @@ public class ADQLParser implements ADQLParserConstants { return false; } - private boolean jj_3R_29(){ - if (jj_scan_token(DELIMITED_IDENTIFIER)) + private boolean jj_3R_141(){ + if (jj_3R_100()) return true; return false; } - private boolean jj_3R_28(){ - if (jj_scan_token(REGULAR_IDENTIFIER)) - return true; + private boolean jj_3R_14(){ + Token xsp; + xsp = jj_scanpos; + if (jj_3R_28()){ + jj_scanpos = xsp; + if (jj_3R_29()) + return true; + } return false; } - private boolean jj_3R_141(){ - if (jj_3R_100()) + private boolean jj_3R_131(){ + if (jj_3R_21()) return true; return false; } - private boolean jj_3R_14(){ + private boolean jj_3R_114(){ Token xsp; xsp = jj_scanpos; - if (jj_3R_28()){ + if (jj_3R_131()){ jj_scanpos = xsp; - if (jj_3R_29()) + if (jj_3R_132()) return true; } return false; @@ -4575,12 +4722,6 @@ public class ADQLParser implements ADQLParserConstants { return false; } - private boolean jj_3R_131(){ - if (jj_3R_21()) - return true; - return false; - } - private boolean jj_3R_93(){ if (jj_scan_token(SIN)) return true; @@ -4593,14 +4734,9 @@ public class ADQLParser implements ADQLParserConstants { return false; } - private boolean jj_3R_114(){ - Token xsp; - xsp = jj_scanpos; - if (jj_3R_131()){ - jj_scanpos = xsp; - if (jj_3R_132()) - return true; - } + private boolean jj_3R_51(){ + if (jj_3R_70()) + return true; return false; } @@ -4616,6 +4752,12 @@ public class ADQLParser implements ADQLParserConstants { return false; } + private boolean jj_3_11(){ + if (jj_3R_24()) + return true; + return false; + } + private boolean jj_3R_91(){ if (jj_scan_token(COS)) return true; @@ -4644,8 +4786,8 @@ public class ADQLParser implements ADQLParserConstants { return false; } - private boolean jj_3R_51(){ - if (jj_3R_70()) + private boolean jj_3R_50(){ + if (jj_3R_69()) return true; return false; } @@ -4662,9 +4804,17 @@ public class ADQLParser implements ADQLParserConstants { return false; } - private boolean jj_3_11(){ - if (jj_3R_24()) - return true; + private boolean jj_3R_35(){ + Token xsp; + xsp = jj_scanpos; + if (jj_3R_50()){ + jj_scanpos = xsp; + if (jj_3_11()){ + jj_scanpos = xsp; + if (jj_3R_51()) + return true; + } + } return false; } @@ -4680,12 +4830,6 @@ public class ADQLParser implements ADQLParserConstants { return false; } - private boolean jj_3R_50(){ - if (jj_3R_69()) - return true; - return false; - } - private boolean jj_3R_87(){ if (jj_scan_token(ACOS)) return true; @@ -4698,20 +4842,6 @@ public class ADQLParser implements ADQLParserConstants { return false; } - private boolean jj_3R_35(){ - Token xsp; - xsp = jj_scanpos; - if (jj_3R_50()){ - jj_scanpos = xsp; - if (jj_3_11()){ - jj_scanpos = xsp; - if (jj_3R_51()) - return true; - } - } - return false; - } - private boolean jj_3R_54(){ Token xsp; xsp = jj_scanpos; @@ -5687,6 +5817,7 @@ public class ADQLParser implements ADQLParserConstants { throw generateParseException(); } + @SuppressWarnings("serial") static private final class LookaheadSuccess extends java.lang.Error {} final private LookaheadSuccess jj_ls = new LookaheadSuccess(); @@ -5743,7 +5874,7 @@ public class ADQLParser implements ADQLParserConstants { return t; } - private int jj_ntk(){ + private int jj_ntk_f(){ if ((jj_nt = token.next) == null) return (jj_ntk = (token.next = token_source.getNextToken()).kind); else diff --git a/src/adql/parser/adqlGrammar.jj b/src/adql/parser/adqlGrammar.jj index 7d4c062..f2936cd 100644 --- a/src/adql/parser/adqlGrammar.jj +++ b/src/adql/parser/adqlGrammar.jj @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with ADQLLibrary. If not, see <http://www.gnu.org/licenses/>. * - * Copyright 2012-2015 - UDS/Centre de DonnĂ©es astronomiques de Strasbourg (CDS), + * Copyright 2012-2016 - UDS/Centre de DonnĂ©es astronomiques de Strasbourg (CDS), * Astronomisches Rechen Institute (ARI) */ @@ -26,7 +26,7 @@ * If the syntax is not conform to the ADQL definition an error message is printed else it will be the message "Correct syntax". * * Author: Grégory Mantelet (CDS;ARI) - gmantele@ari.uni-heidelberg.de -* Version: 1.4 (08/2015) +* Version: 1.4 (04/2016) */ /* ########### */ @@ -89,7 +89,7 @@ import adql.translator.TranslationException; * @see ADQLQueryFactory * * @author Grégory Mantelet (CDS;ARI) - gmantele@ari.uni-heidelberg.de -* @version 1.4 (08/2015) +* @version 1.4 (04/2016) */ public class ADQLParser { @@ -1604,11 +1604,9 @@ MathFunction MathFunction(): {Token fct=null, end; ADQLOperand param1=null, para | (fct=<SQRT> <LEFT_PAR> param1=NumericExpression() end=<RIGHT_PAR>) | (fct=<TRUNCATE> <LEFT_PAR> param1=NumericExpression() (<COMMA> param2=SignedInteger())? end=<RIGHT_PAR>)) { - if (param1 != null){ MathFunction mf = queryFactory.createMathFunction(MathFunctionType.valueOf(fct.image.toUpperCase()), param1, param2); - mf.setPosition(new TextPosition(fct, end)); - return mf; - }else - return null; + MathFunction mf = queryFactory.createMathFunction(MathFunctionType.valueOf(fct.image.toUpperCase()), param1, param2); + mf.setPosition(new TextPosition(fct, end)); + return mf; } }catch(Exception ex){ throw generateParseException(ex); @@ -1626,11 +1624,9 @@ MathFunction TrigFunction(): {Token fct=null, end; ADQLOperand param1=null, para | (fct=<TAN> <LEFT_PAR> param1=NumericExpression() end=<RIGHT_PAR>)) { try{ - if (param1 != null){ MathFunction mf = queryFactory.createMathFunction(MathFunctionType.valueOf(fct.image.toUpperCase()), param1, param2); - mf.setPosition(new TextPosition(fct, end)); - return mf; - }else - return null; + MathFunction mf = queryFactory.createMathFunction(MathFunctionType.valueOf(fct.image.toUpperCase()), param1, param2); + mf.setPosition(new TextPosition(fct, end)); + return mf; }catch(Exception ex){ throw generateParseException(ex); } -- GitLab