Skip to content

Commit 7d5abb5

Browse files
authored
Merge pull request #65 from KvanTTT/java8-from-java7
Fixed build
2 parents 353e6ab + eb66e0c commit 7d5abb5

File tree

3 files changed

+73
-61
lines changed

3 files changed

+73
-61
lines changed

Sources/PT.PM.SqlParseTreeUst/PlSqlConverterVisitor.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
using System.Linq;
1313
using PT.PM.Common.Nodes.Tokens.Literals;
1414
using PT.PM.PlSqlParseTreeUst;
15+
using System;
1516

1617
namespace PT.PM.SqlParseTreeUst
1718
{
@@ -1397,5 +1398,25 @@ public UstNode VisitNumeric_function_name([NotNull] PlSqlParser.Numeric_function
13971398
{
13981399
return VisitChildren(context);
13991400
}
1401+
1402+
public UstNode VisitCreate_table([NotNull] PlSqlParser.Create_tableContext context)
1403+
{
1404+
return VisitChildren(context);
1405+
}
1406+
1407+
public UstNode VisitDrop_table([NotNull] PlSqlParser.Drop_tableContext context)
1408+
{
1409+
return VisitChildren(context);
1410+
}
1411+
1412+
public UstNode VisitAnonymous_block([NotNull] PlSqlParser.Anonymous_blockContext context)
1413+
{
1414+
return VisitChildren(context);
1415+
}
1416+
1417+
public UstNode VisitStart_command([NotNull] PlSqlParser.Start_commandContext context)
1418+
{
1419+
return VisitChildren(context);
1420+
}
14001421
}
14011422
}

Sources/PT.PM.SqlParseTreeUst/TSqlConverterVisitor.cs

Lines changed: 51 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
using PT.PM.Common.Nodes.TypeMembers;
1616
using PT.PM.Common.Nodes.Tokens.Literals;
1717
using PT.PM.TSqlParseTreeUst;
18+
using Antlr4.Runtime;
1819

1920
namespace PT.PM.SqlParseTreeUst
2021
{
@@ -67,7 +68,7 @@ public UstNode VisitDdl_clause([NotNull] TSqlParser.Ddl_clauseContext context)
6768
/// <returns><see cref="Statement"/></returns>
6869
public UstNode VisitCfl_statement([NotNull] TSqlParser.Cfl_statementContext context)
6970
{
70-
return Visit(context);
71+
return VisitChildren(context);
7172
}
7273

7374
/// <returns><see cref="Statement"/></returns>
@@ -137,11 +138,11 @@ public UstNode VisitReturn_statement([NotNull] TSqlParser.Return_statementContex
137138
public UstNode VisitThrow_statement([NotNull] TSqlParser.Throw_statementContext context)
138139
{
139140
var exprs = new List<Expression>();
140-
if (context.error_number != null)
141+
if (context.throw_error_number() != null)
141142
{
142-
exprs.Add(ExtractLiteral(context.error_number));
143-
exprs.Add(ExtractLiteral(context.message));
144-
exprs.Add(ExtractLiteral(context.state));
143+
exprs.Add((Token)VisitTerminal((ITerminalNode)context.throw_error_number().GetChild(0)));
144+
exprs.Add((Token)VisitTerminal((ITerminalNode)context.throw_message().GetChild(0)));
145+
exprs.Add((Token)VisitTerminal((ITerminalNode)context.throw_state().GetChild(0)));
145146
}
146147
var result = new ThrowStatement(
147148
new MultichildExpression(exprs, FileNode),
@@ -1165,7 +1166,26 @@ public UstNode VisitConstant_LOCAL_ID([NotNull] TSqlParser.Constant_LOCAL_IDCont
11651166
/// <returns><see cref="Expression"/></returns>
11661167
public UstNode VisitExpression([NotNull] TSqlParser.ExpressionContext context)
11671168
{
1168-
return Visit(context);
1169+
if (context.expression().Length == 2)
1170+
{
1171+
var expr1 = (Expression)Visit(context.expression(0));
1172+
var expr2 = (Expression)Visit(context.expression(1));
1173+
var opText = RemoveSpaces(context.GetChild(1).GetText());
1174+
if (opText == "=")
1175+
{
1176+
opText = "==";
1177+
}
1178+
BinaryOperator op;
1179+
if (!BinaryOperatorLiteral.TextBinaryOperator.TryGetValue(opText, out op))
1180+
{
1181+
op = BinaryOperator.Equal;
1182+
}
1183+
var opLiteral = new BinaryOperatorLiteral(op, context.GetTextSpan(), FileNode);
1184+
var result = new BinaryOperatorExpression(expr1, opLiteral, expr2, context.GetTextSpan(), FileNode);
1185+
return result;
1186+
}
1187+
1188+
return VisitChildren(context);
11691189
}
11701190

11711191
/// <returns><see cref="IdToken"/></returns>
@@ -1191,21 +1211,6 @@ public UstNode VisitPrimitive_expression([NotNull] TSqlParser.Primitive_expressi
11911211
return result;
11921212
}
11931213

1194-
/// <returns><see cref="InvocationExpression"/></returns>
1195-
public UstNode VisitFunction_call_expression([NotNull] TSqlParser.Function_call_expressionContext context)
1196-
{
1197-
if (context.function_call() != null)
1198-
{
1199-
return Visit(context.function_call());
1200-
}
1201-
else
1202-
{
1203-
return new InvocationExpression(
1204-
new IdToken("Collate", context.COLLATE().GetTextSpan(), FileNode),
1205-
new ArgsNode((IdToken)Visit(context.id())), context.GetTextSpan(), FileNode);
1206-
}
1207-
}
1208-
12091214
/// <returns><see cref="WrapperExpression"/></returns>
12101215
public UstNode VisitCase_expression([NotNull] TSqlParser.Case_expressionContext context)
12111216
{
@@ -1226,24 +1231,12 @@ public UstNode VisitCase_expression([NotNull] TSqlParser.Case_expressionContext
12261231
return new WrapperExpression(result);
12271232
}
12281233

1229-
/// <returns><see cref="Expression"/></returns>
1230-
public UstNode VisitColumn_ref_expression([NotNull] TSqlParser.Column_ref_expressionContext context)
1231-
{
1232-
return Visit(context.full_column_name());
1233-
}
1234-
12351234
/// <returns><see cref="Expression"/></returns>
12361235
public UstNode VisitBracket_expression([NotNull] TSqlParser.Bracket_expressionContext context)
12371236
{
12381237
return Visit(context.expression());
12391238
}
12401239

1241-
/// <returns><see cref="Expression"/></returns>
1242-
public UstNode VisitSubquery_expression([NotNull] TSqlParser.Subquery_expressionContext context)
1243-
{
1244-
return Visit(context.subquery());
1245-
}
1246-
12471240
/// <returns><see cref="UnaryOperatorExpression"/></returns>
12481241
public UstNode VisitUnary_operator_expression([NotNull] TSqlParser.Unary_operator_expressionContext context)
12491242
{
@@ -1254,28 +1247,6 @@ public UstNode VisitUnary_operator_expression([NotNull] TSqlParser.Unary_operato
12541247
return result;
12551248
}
12561249

1257-
/// <returns><see cref="BinaryOperatorExpression"/></returns>
1258-
public UstNode VisitBinary_operator_expression([NotNull] TSqlParser.Binary_operator_expressionContext context)
1259-
{
1260-
var expr1 = (Expression)Visit(context.expression(0));
1261-
var expr2 = (Expression)Visit(context.expression(1));
1262-
var opText = RemoveSpaces(context.GetChild(1).GetText());
1263-
if (opText == "=")
1264-
{
1265-
opText = "==";
1266-
}
1267-
BinaryOperator op = BinaryOperatorLiteral.TextBinaryOperator[opText];
1268-
var opLiteral = new BinaryOperatorLiteral(op, context.GetTextSpan(), FileNode);
1269-
var result = new BinaryOperatorExpression(expr1, opLiteral, expr2, context.GetTextSpan(), FileNode);
1270-
return result;
1271-
}
1272-
1273-
/// <returns><see cref="InvocationExpression"/></returns>
1274-
public UstNode VisitOver_clause_expression([NotNull] TSqlParser.Over_clause_expressionContext context)
1275-
{
1276-
return Visit(context.over_clause());
1277-
}
1278-
12791250
/// <returns><see cref="Expression"/></returns>
12801251
public UstNode VisitConstant_expression([NotNull] TSqlParser.Constant_expressionContext context)
12811252
{
@@ -2446,11 +2417,6 @@ public UstNode VisitTop_count([NotNull] TSqlParser.Top_countContext context)
24462417

24472418
#endregion
24482419

2449-
public UstNode VisitAsssignment_operator_expression([NotNull] TSqlParser.Asssignment_operator_expressionContext context)
2450-
{
2451-
return VisitChildren(context);
2452-
}
2453-
24542420
public UstNode VisitCreate_queue([NotNull] TSqlParser.Create_queueContext context)
24552421
{
24562422
return VisitChildren(context);
@@ -2806,5 +2772,30 @@ public UstNode VisitSend_conversation([NotNull] TSqlParser.Send_conversationCont
28062772
{
28072773
return VisitChildren(context);
28082774
}
2775+
2776+
public UstNode VisitThrow_error_number([NotNull] TSqlParser.Throw_error_numberContext context)
2777+
{
2778+
return VisitChildren(context);
2779+
}
2780+
2781+
public UstNode VisitThrow_message([NotNull] TSqlParser.Throw_messageContext context)
2782+
{
2783+
return VisitChildren(context);
2784+
}
2785+
2786+
public UstNode VisitThrow_state([NotNull] TSqlParser.Throw_stateContext context)
2787+
{
2788+
return VisitChildren(context);
2789+
}
2790+
2791+
public UstNode VisitDrop_relational_or_xml_or_spatial_index([NotNull] TSqlParser.Drop_relational_or_xml_or_spatial_indexContext context)
2792+
{
2793+
return VisitChildren(context);
2794+
}
2795+
2796+
public UstNode VisitDrop_backward_compatible_index([NotNull] TSqlParser.Drop_backward_compatible_indexContext context)
2797+
{
2798+
return VisitChildren(context);
2799+
}
28092800
}
28102801
}

0 commit comments

Comments
 (0)