From b1c66dee9b1e045292fd171596d5dc55a5ed96e2 Mon Sep 17 00:00:00 2001
From: svenbarth <pascaldragon@googlemail.com>
Date: Thu, 4 May 2017 21:16:47 +0000
Subject: [PATCH] + tarrayconstructornode: add utility method has_range_node to
 check whether the array constructor node tree contains any range node

git-svn-id: trunk@36091 -
---
 compiler/nld.pas | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/compiler/nld.pas b/compiler/nld.pas
index eb4f313e87..2140b4cfa9 100644
--- a/compiler/nld.pas
+++ b/compiler/nld.pas
@@ -108,6 +108,8 @@ interface
        tarrayconstructorrangenodeclass = class of tarrayconstructorrangenode;
 
        tarrayconstructornode = class(tbinarynode)
+         private
+          function has_range_node:boolean;
          protected
           procedure wrapmanagedvarrec(var n: tnode);virtual;abstract;
          public
@@ -987,6 +989,24 @@ implementation
       end;
 
 
+    function tarrayconstructornode.has_range_node:boolean;
+      var
+        n : tarrayconstructornode;
+      begin
+        result:=false;
+        n:=self;
+        while assigned(n) do
+          begin
+            if assigned(n.left) and (n.left.nodetype=arrayconstructorrangen) then
+              begin
+                result:=true;
+                break;
+              end;
+            n:=tarrayconstructornode(n.right);
+          end;
+      end;
+
+
     function tarrayconstructornode.pass_typecheck:tnode;
       var
         hdef  : tdef;