Exemplo n.º 1
0
 private void SetParentWithChildNode()
 {
     if (ParentNodeToggleIs)
     {
         if (BeforeNode.ParentNode.ParentNode != null)
         {
             // カンマやAND、ORによりエイリアスの単位が異なるが定義群の単位が同一階層のとき
             ParentNode = BeforeNode.ParentNode.ParentNode;
             Level      = BeforeNode.Level - 1;
             BeforeNode.ParentNode.ParentNode.SetParentInChildNode(this);
         }
         else
         {
             // 第一階層のFrom句などは、親がないためParentノードがnullのとき
             Level = 0;
         }
     }
     else
     {
         // SELECTのあとなど予約語の直後のStatementのとき
         ParentNode = BeforeNode;
         Level      = BeforeNode.Level + 1;
         BeforeNode.SetParentInChildNode(this);
     }
 }
Exemplo n.º 2
0
 public override void SetParentNode()
 {
     if (BeforeNode.GetType() == typeof(ReservedTopLevel))
     {
         CreateNewStatement();
     }
     else
     {
         base.SetParentNode();
     }
 }