From dfd763c269137adb62c92957dfea1e45a77555ea Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Tue, 1 Dec 2015 19:05:37 -0600 Subject: [PATCH] Improve error checking in ArrayChanger --- loopy/kernel/tools.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/loopy/kernel/tools.py b/loopy/kernel/tools.py index 1b12373e4..8b21fc787 100644 --- a/loopy/kernel/tools.py +++ b/loopy/kernel/tools.py @@ -903,12 +903,18 @@ class ArrayChanger(object): def get(self): ary_name = self.array_name if ary_name in self.kernel.temporary_variables: - return self.kernel.temporary_variables[ary_name] + result = self.kernel.temporary_variables[ary_name] elif ary_name in self.kernel.arg_dict: - return self.kernel.arg_dict[ary_name] + result = self.kernel.arg_dict[ary_name] else: raise NameError("array '%s' was not found" % ary_name) + from loopy.kernel.array import ArrayBase + if not isinstance(result, ArrayBase): + raise LoopyError("variable '%s' is not an array" % ary_name) + + return result + def with_changed_array(self, new_array): knl = self.kernel ary_name = self.array_name -- GitLab