| Index: testing/gmock/scripts/generator/cpp/utils.py | 
| diff --git a/testing/gmock/scripts/generator/cpp/utils.py b/testing/gmock/scripts/generator/cpp/utils.py | 
| new file mode 100755 | 
| index 0000000000000000000000000000000000000000..eab36eec335ebaa603051b7bc5186c87a8f78f81 | 
| --- /dev/null | 
| +++ b/testing/gmock/scripts/generator/cpp/utils.py | 
| @@ -0,0 +1,41 @@ | 
| +#!/usr/bin/env python | 
| +# | 
| +# Copyright 2007 Neal Norwitz | 
| +# Portions Copyright 2007 Google Inc. | 
| +# | 
| +# Licensed under the Apache License, Version 2.0 (the "License"); | 
| +# you may not use this file except in compliance with the License. | 
| +# You may obtain a copy of the License at | 
| +# | 
| +#      http://www.apache.org/licenses/LICENSE-2.0 | 
| +# | 
| +# Unless required by applicable law or agreed to in writing, software | 
| +# distributed under the License is distributed on an "AS IS" BASIS, | 
| +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
| +# See the License for the specific language governing permissions and | 
| +# limitations under the License. | 
| + | 
| +"""Generic utilities for C++ parsing.""" | 
| + | 
| +__author__ = 'nnorwitz@google.com (Neal Norwitz)' | 
| + | 
| + | 
| +import sys | 
| + | 
| + | 
| +# Set to True to see the start/end token indices. | 
| +DEBUG = True | 
| + | 
| + | 
| +def ReadFile(filename, print_error=True): | 
| +    """Returns the contents of a file.""" | 
| +    try: | 
| +        fp = open(filename) | 
| +        try: | 
| +            return fp.read() | 
| +        finally: | 
| +            fp.close() | 
| +    except IOError: | 
| +        if print_error: | 
| +            print('Error reading %s: %s' % (filename, sys.exc_info()[1])) | 
| +        return None | 
|  |