diff options
Diffstat (limited to 'interpreter.py')
-rwxr-xr-x | interpreter.py | 61 |
1 files changed, 30 insertions, 31 deletions
diff --git a/interpreter.py b/interpreter.py index 61ea28d..5153c2e 100755 --- a/interpreter.py +++ b/interpreter.py @@ -683,7 +683,7 @@ class Interpreter(): elif isinstance(cur, nodes.IntStatement): return cur else: - raise InvalidCode("Line %d: Unknown statement." % cur.lineno()) + raise InvalidCode("Unknown statement.") def validate_arguments(self, args, argcount, arg_types): if argcount is not None: @@ -711,9 +711,9 @@ class Interpreter(): raise InvalidArguments('Project() does not take keyword arguments.') for a in args: if not isinstance(a, str): - raise InvalidArguments('Line %d: Argument %s is not a string.' % (node.lineno(), str(a))) + raise InvalidArguments('Argument %s is not a string.' % str(a)) if self.build.project is not None: - raise InvalidCode('Second call to project() on line %d.' % node.lineno()) + raise InvalidCode('Second call to project().') self.build.project = args[0] print('Project name is "%s".' % self.build.project) self.add_languages(node, args[1:]) @@ -745,7 +745,7 @@ class Interpreter(): self.validate_arguments(args, 1, [str]) required = kwargs.get('required', False) if not isinstance(required, bool): - raise InvalidArguments('Line %d: "required" argument must be a boolean.' % node.lineno()) + raise InvalidArguments('"required" argument must be a boolean.') exename = args[0] if exename in self.coredata.ext_progs and\ self.coredata.ext_progs[exename].found(): @@ -754,14 +754,14 @@ class Interpreter(): progobj = ExternalProgramHolder(extprog) self.coredata.ext_progs[exename] = extprog if required and not progobj.found(): - raise InvalidArguments('Line %d: program "%s" not found.' % (node.lineno(), exename)) + raise InvalidArguments('Program "%s" not found.' % exename) return progobj def func_find_library(self, node, args, kwargs): self.validate_arguments(args, 1, [str]) required = kwargs.get('required', False) if not isinstance(required, bool): - raise InvalidArguments('Line %d: "required" argument must be a boolean.' % node.lineno()) + raise InvalidArguments('"required" argument must be a boolean.') libname = args[0] if libname in self.coredata.ext_libs and\ self.coredata.ext_libs[libname].found(): @@ -771,7 +771,7 @@ class Interpreter(): libobj = ExternalLibraryHolder(extlib) self.coredata.ext_libs[libname] = extlib if required and not libobj.found(): - raise InvalidArguments('Line %d: external library "%s" not found.' % (node.lineno(), libname)) + raise InvalidArguments('External library "%s" not found.' % libname) return libobj def func_find_dep(self, node, args, kwargs): @@ -810,7 +810,7 @@ class Interpreter(): def func_headers(self, node, args, kwargs): for a in args: if not isinstance(a, str): - raise InvalidArguments('Line %d: Argument %s is not a string.' % (node.lineno(), str(a))) + raise InvalidArguments('Argument %s is not a string.' % str(a)) h = Headers(args, kwargs) self.build.headers.append(h) return h @@ -818,20 +818,20 @@ class Interpreter(): def func_man(self, node, args, kwargs): for a in args: if not isinstance(a, str): - raise InvalidArguments('Line %d: Argument %s is not a string.' % (node.lineno(), str(a))) + raise InvalidArguments('Argument %s is not a string.' % str(a)) m = Man(args, kwargs) self.build.man.append(m) return m def func_subdir(self, node, args, kwargs): if len(kwargs) > 0: - raise InvalidArguments('Line %d: subdir command takes no keyword arguments.' % node.lineno()) + raise InvalidArguments('subdir command takes no keyword arguments.') self.validate_arguments(args, 1, [str]) prev_subdir = self.subdir subdir = os.path.join(prev_subdir, args[0]) if subdir in self.visited_subdirs: - raise InvalidArguments('Line %d: tried to enter directory "%s", which has already been visited.'\ - % (node.lineno(), subdir)) + raise InvalidArguments('Tried to enter directory "%s", which has already been visited.'\ + % subdir) self.visited_subdirs[subdir] = True self.subdir = subdir buildfilename = os.path.join(self.subdir, environment.build_filename) @@ -845,10 +845,10 @@ class Interpreter(): def func_data(self, node, args, kwargs): if len(args ) < 1: - raise InvalidArguments('Line %d: Data function must have at least one argument: the subdirectory.' % node.lineno()) + raise InvalidArguments('Data function must have at least one argument: the subdirectory.') for a in args: if not isinstance(a, str): - raise InvalidArguments('Line %d: Argument %s is not a string.' % (node.lineno(), str(a))) + raise InvalidArguments('Argument %s is not a string.' % str(a)) data = Data(args[0], args[1:], kwargs) self.build.data.append(data) return data @@ -877,18 +877,18 @@ class Interpreter(): def func_include_directories(self, node, args, kwargs): for a in args: if not isinstance(a, str): - raise InvalidArguments('Line %d: Argument %s is not a string.' % (node.lineno(), str(a))) + raise InvalidArguments('Argument %s is not a string.' % str(a)) i = IncludeDirs(self.subdir, args, kwargs) return i def func_add_global_arguments(self, node, args, kwargs): for a in args: if not isinstance(a, str): - raise InvalidArguments('Line %d: Argument %s is not a string.' % (node.lineno(), str(a))) + raise InvalidArguments('Argument %s is not a string.' % str(a)) if len(self.build.get_targets()) > 0: - raise InvalidCode('Line %d: global flags can not be set once any build target is defined.' % node.lineno()) + raise InvalidCode('Global flags can not be set once any build target is defined.') if not 'language' in kwargs: - raise InvalidCode('Line %d: missing language definition in add_global_arguments' % node.lineno()) + raise InvalidCode('Missing language definition in add_global_arguments') lang = kwargs['language'].lower() if lang in self.build.global_args: self.build.global_args[lang] += args @@ -913,8 +913,8 @@ class Interpreter(): name = args[0] sources = args[1:] if name in coredata.forbidden_target_names: - raise InvalidArguments('Line %d: target name "%s" is reserved for Meson\'s internal use. Please rename.'\ - % (node.lineno(), name)) + raise InvalidArguments('Target name "%s" is reserved for Meson\'s internal use. Please rename.'\ + % name) try: kw_src = self.flatten(kwargs['sources']) if not isinstance(kw_src, list): @@ -923,7 +923,7 @@ class Interpreter(): kw_src = [] sources += kw_src if name in self.build.targets: - raise InvalidCode('Line %d: tried to create target "%s", but a target of that name already exists.' % (node.lineno(), name)) + raise InvalidCode('Tried to create target "%s", but a target of that name already exists.' % name) l = targetclass(name, self.subdir, sources, self.environment, kwargs) self.build.targets[name] = l print('Creating build target "%s" with %d files.' % (name, len(sources))) @@ -951,13 +951,13 @@ class Interpreter(): def assignment(self, node): var_name = node.var_name if not isinstance(var_name, nodes.AtomExpression): - raise InvalidArguments('Line %d: Tried to assign value to a non-variable.' % node.lineno()) + raise InvalidArguments('Tried to assign value to a non-variable.') var_name = var_name.get_value() value = self.evaluate_statement(node.value) if value is None: - raise InvalidCode('Line %d: Can not assign None to variable.' % node.lineno()) + raise InvalidCode('Can not assign None to variable.') if not self.is_assignable(value): - raise InvalidCode('Line %d: Tried to assign an invalid value to variable.' % node.lineno()) + raise InvalidCode('Tried to assign an invalid value to variable.') self.set_variable(var_name, value) return value @@ -979,17 +979,17 @@ class Interpreter(): elif isinstance(arg, nodes.IntStatement): return arg.get_value() else: - raise InvalidCode('Line %d: Irreducible argument.' % arg.lineno()) + raise InvalidCode('Irreducible argument.') def reduce_arguments(self, args): assert(isinstance(args, nodes.Arguments)) if args.incorrect_order(): - raise InvalidArguments('Line %d: all keyword arguments must be after positional arguments.' % args.lineno()) + raise InvalidArguments('All keyword arguments must be after positional arguments.') reduced_pos = [self.reduce_single(arg) for arg in args.arguments] reduced_kw = {} for key in args.kwargs.keys(): if not isinstance(key, str): - raise InvalidArguments('Line %d: keyword argument name is not a string.' % args.lineno()) + raise InvalidArguments('Keyword argument name is not a string.') a = args.kwargs[key] reduced_kw[key] = self.reduce_single(a) return (reduced_pos, reduced_kw) @@ -1000,7 +1000,7 @@ class Interpreter(): args = node.arguments obj = self.get_variable(object_name) if not isinstance(obj, InterpreterObject): - raise InvalidArguments('Line %d: variable "%s" is not callable.' % (node.lineno(), object_name)) + raise InvalidArguments('Variable "%s" is not callable.' % object_name) (args, kwargs) = self.reduce_arguments(args) return obj.method_call(method_name, args, kwargs) @@ -1020,8 +1020,7 @@ class Interpreter(): self.evaluate_codeblock(node.get_falseblock()) else: print(node.get_clause()) - print(result) - raise InvalidCode('Line %d: If clause does not evaluate to true or false.' % node.lineno()) + raise InvalidCode('If clause does not evaluate to true or false.') def is_elementary_type(self, v): if isinstance(v, int) or isinstance(v, str) or isinstance(v, bool): @@ -1050,7 +1049,7 @@ class Interpreter(): def evaluate_arraystatement(self, cur): (arguments, kwargs) = self.reduce_arguments(cur.get_args()) if len(kwargs) > 0: - raise InvalidCode('Line %d: Keyword arguments are invalid in array construction.' % cur.lineno()) + raise InvalidCode('Keyword arguments are invalid in array construction.') return arguments if __name__ == '__main__': |