diff options
author | Daniel Mensinger <daniel@mensinger-ka.de> | 2019-04-02 11:39:45 +0200 |
---|---|---|
committer | Daniel Mensinger <daniel@mensinger-ka.de> | 2019-04-02 11:39:45 +0200 |
commit | 6da0df95c11fac6037d421ae8cf80af146d321da (patch) | |
tree | ae222b0a196cfac4f62c79c902dae7d98d5413ed /mesonbuild/ast/introspection.py | |
parent | 1937bbafac07df48e78fea96a8c3c086db564574 (diff) | |
download | meson-6da0df95c11fac6037d421ae8cf80af146d321da.zip meson-6da0df95c11fac6037d421ae8cf80af146d321da.tar.gz meson-6da0df95c11fac6037d421ae8cf80af146d321da.tar.bz2 |
mintro: fix some interpreter crashes
Diffstat (limited to 'mesonbuild/ast/introspection.py')
-rw-r--r-- | mesonbuild/ast/introspection.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/mesonbuild/ast/introspection.py b/mesonbuild/ast/introspection.py index fd7b412..5a12e29 100644 --- a/mesonbuild/ast/introspection.py +++ b/mesonbuild/ast/introspection.py @@ -20,7 +20,7 @@ from .. import compilers, environment, mesonlib, optinterpreter from .. import coredata as cdata from ..interpreterbase import InvalidArguments from ..build import Executable, Jar, SharedLibrary, SharedModule, StaticLibrary -from ..mparser import ArithmeticNode, ArrayNode, ElementaryNode, IdNode, FunctionNode, StringNode +from ..mparser import BaseNode, ArithmeticNode, ArrayNode, ElementaryNode, IdNode, FunctionNode, StringNode import os build_target_functions = ['executable', 'jar', 'library', 'shared_library', 'shared_module', 'static_library', 'both_libraries'] @@ -191,6 +191,8 @@ class IntrospectionInterpreter(AstInterpreter): # Make sure nothing can crash when creating the build class kwargs_reduced = {k: v for k, v in kwargs.items() if k in targetclass.known_kwargs and k in ['install', 'build_by_default', 'build_always']} + kwargs_reduced = {k: v.value if isinstance(v, ElementaryNode) else v for k, v in kwargs_reduced.items()} + kwargs_reduced = {k: v for k, v in kwargs_reduced.items() if not isinstance(v, BaseNode)} is_cross = False objects = [] empty_sources = [] # Passing the unresolved sources list causes errors |