1## @file
2# fragments of source file
3#
4#  Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>
5#
6#  This program and the accompanying materials
7#  are licensed and made available under the terms and conditions of the BSD License
8#  which accompanies this distribution.  The full text of the license may be found at
9#  http://opensource.org/licenses/bsd-license.php
10#
11#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13#
14
15##
16# Import Modules
17#
18
19import re
20import Common.LongFilePathOs as os
21from ParserWarning import Warning
22from Common.LongFilePathSupport import OpenLongFilePath as open
23
24CommentList = []
25PPDirectiveList = []
26PredicateExpressionList = []
27FunctionDefinitionList = []
28VariableDeclarationList = []
29EnumerationDefinitionList = []
30StructUnionDefinitionList = []
31TypedefDefinitionList = []
32FunctionCallingList = []
33
34## record file data when parsing source
35#
36# May raise Exception when opening file.
37#
38class FileProfile :
39
40    ## The constructor
41    #
42    #   @param  self        The object pointer
43    #   @param  FileName    The file that to be parsed
44    #
45    def __init__(self, FileName):
46        self.FileLinesList = []
47        self.FileLinesListFromFile = []
48        try:
49            fsock = open(FileName, "rb", 0)
50            try:
51                self.FileLinesListFromFile = fsock.readlines()
52            finally:
53                fsock.close()
54
55        except IOError:
56            raise Warning("Error when opening file %s" % FileName)
57
58