瀏覽代碼

fcl-passrc: resolver: sanity check

git-svn-id: trunk@38713 -
Mattias Gaertner 7 年之前
父節點
當前提交
22fa27a70b
共有 1 個文件被更改,包括 10 次插入0 次删除
  1. 10 0
      packages/fcl-passrc/src/pasresolver.pp

+ 10 - 0
packages/fcl-passrc/src/pasresolver.pp

@@ -4586,6 +4586,16 @@ begin
 
     if El.ObjKind=okClass then
       begin
+      if (El.Interfaces.Count>0) then
+        begin
+        if (ClassScope.Interfaces=nil) then
+          RaiseInternalError(20180408162725,'');
+        if (ClassScope.Interfaces.Count<>El.Interfaces.Count) then
+          RaiseInternalError(20180408162746,'');
+        end
+      else if ClassScope.Interfaces<>nil then
+        RaiseInternalError(20180408162803,'');
+
       // check explicit method resolutions, e.g. procedure intf.intfproc = implproc
       for i:=0 to El.Members.Count-1 do
         begin