From 1affd81889e652178c1c840163c97a76435837cd Mon Sep 17 00:00:00 2001 From: Eric Squires Date: Mon, 4 Sep 2017 14:15:48 -0400 Subject: [PATCH] fixes to pass unit tests --- .gitignore | 1 + cpp/ast.py | 14 ++++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index fa8ad13..a0043df 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ htmlcov/ *.egg*/ .coverage .travis-solo/ +tags diff --git a/cpp/ast.py b/cpp/ast.py index 742888e..a460a84 100644 --- a/cpp/ast.py +++ b/cpp/ast.py @@ -615,8 +615,8 @@ def get_template_indices(self, names): class ASTBuilder(object): - def __init__(self, token_stream, filename, system_includes=[], - nonsystem_includes=[], in_class=None, + def __init__(self, token_stream, filename, system_includes=tuple(), + nonsystem_includes=tuple(), in_class=None, namespace_stack=None, quiet=False): if namespace_stack is None: namespace_stack = [] @@ -748,12 +748,13 @@ def _generate_one(self, token): name = name[1:].strip() filename = name.strip('<>"') - def is_file(prefix): + + def _is_file(prefix): return os.path.isfile(os.path.join(prefix, filename)) - if filter(is_file, self.system_includes): + if any([d for d in self.system_includes if _is_file(d)]): system = True - elif filter(is_file, self.nonsystem_includes): + elif any([d for d in self.nonsystem_includes if _is_file(d)]): system = False else: system = True @@ -761,8 +762,9 @@ def is_file(prefix): if name[0] in '<"': assert_parse(name[-1] in '>"', token) - system = name[0] == '<' + filename = name[1:-1] + return Include(token.start, token.end, filename, system) if name.startswith('define'): # Remove "define".