@permittedKwargs({'prefix', 'no_builtin_args', 'include_directories', 'args', 'dependencies'})
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.')
    extra_args = functools.partial(self.determine_args, kwargs)
    (deps, msg) = self.determine_dependencies(kwargs)
    (had, cached) = self.compiler.has_type(typename, prefix, self.environment, extra_args=extra_args, dependencies=deps)
    cached = (mlog.blue('(cached)') if cached else '')
    if had:
        hadtxt = mlog.green('YES')
    else:
        hadtxt = mlog.red('NO')
    mlog.log('Checking for type', mlog.bold(typename, True), msg, hadtxt, cached)
    return had
@permittedKwargs({'prefix', 'no_builtin_args', 'include_directories', 'args', 'dependencies'})
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.')
    extra_args = functools.partial(self.determine_args, kwargs)
    (deps, msg) = self.determine_dependencies(kwargs)
    (had, cached) = self.compiler.has_type(typename, prefix, self.environment, extra_args=extra_args, dependencies=deps)
    cached = (mlog.blue('(cached)') if cached else )
    if had:
        hadtxt = mlog.green('YES')
    else:
        hadtxt = mlog.red('NO')
    mlog.log('Checking for type', mlog.bold(typename, True), msg, hadtxt, cached)
    return had