diff options
author | Igor Gnatenko <i.gnatenko.brain@gmail.com> | 2015-05-21 19:10:01 +0300 |
---|---|---|
committer | Igor Gnatenko <i.gnatenko.brain@gmail.com> | 2015-05-21 19:10:01 +0300 |
commit | 46804d4fe6985da8ea1de99792c506a24e469489 (patch) | |
tree | ffca7e87aecf1dd49bd1346f9621099083f6e786 /interpreter.py | |
parent | 0ba1d545afe021e09090f434d5242ae942e7d5b4 (diff) | |
download | meson-46804d4fe6985da8ea1de99792c506a24e469489.zip meson-46804d4fe6985da8ea1de99792c506a24e469489.tar.gz meson-46804d4fe6985da8ea1de99792c506a24e469489.tar.bz2 |
add has_type method
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Diffstat (limited to 'interpreter.py')
-rw-r--r-- | interpreter.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/interpreter.py b/interpreter.py index e8bfecf..63f343f 100644 --- a/interpreter.py +++ b/interpreter.py @@ -502,6 +502,7 @@ class CompilerHolder(InterpreterObject): 'run' : self.run_method, 'has_function' : self.has_function_method, 'has_member' : self.has_member_method, + 'has_type' : self.has_type_method, 'alignment' : self.alignment_method, 'version' : self.version_method, 'cmd_array' : self.cmd_array_method, @@ -578,6 +579,22 @@ class CompilerHolder(InterpreterObject): mlog.log('Checking for function "', mlog.bold(funcname), '": ', hadtxt, sep='') return had + def has_type_method(self, args, kwargs): + if len(args) != 1: + raise InterpreterException('Has_type takes exactly one argument.') + check_stringlist(args) + typename = args[0] + prefix = kwargs.get('prefix', '') + if not isinstance(prefix, str): + raise InterpreterException('Prefix argument of has_type must be a string.') + had = self.compiler.has_type(typename, prefix) + if had: + hadtxt = mlog.green('YES') + else: + hadtxt = mlog.red('NO') + mlog.log('Checking for type "', mlog.bold(typename), '": ', hadtxt, sep='') + return had + def sizeof_method(self, args, kwargs): if len(args) != 1: raise InterpreterException('Sizeof takes exactly one argument.') |