浏览代码

Improved error message for Eachin use. Fixes #356.

woollybah 6 年之前
父节点
当前提交
b8ec703996
共有 1 个文件被更改,包括 5 次插入0 次删除
  1. 5 0
      parser.bmx

+ 5 - 0
parser.bmx

@@ -183,6 +183,11 @@ Type TForEachinStmt Extends TLoopStmt
 			
 			If TObjectType(expr.exprType).classDecl.ImplementsInterface("iiterable") Then
 				iterable = True
+			Else
+				Local declList:TFuncDeclList = TFuncDeclList(TObjectType(expr.exprType).classDecl.GetDecl("objectenumerator"))
+				If Not declList Then
+					Err "Use of EachIn requires enumerable Type with either ObjectEnumerator method or one which implements IIterable interface."
+				End If
 			End If
 
 			If TInvokeExpr(expr) Or TInvokeMemberExpr(expr) Then