a071fd020eb4c747b4fab267693acfdb1d6b1180
[mirror_edk2.git] / BaseTools / Source / Python / Ecc / FileProfile.py
1 ## @file
2 # fragments of source file
3 #
4 # Copyright (c) 2007 - 2018, 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
19 import re
20 import Common.LongFilePathOs as os
21 from ParserWarning import Warning
22 from Common.LongFilePathSupport import OpenLongFilePath as open
23
24 CommentList = []
25 PPDirectiveList = []
26 PredicateExpressionList = []
27 FunctionDefinitionList = []
28 VariableDeclarationList = []
29 EnumerationDefinitionList = []
30 StructUnionDefinitionList = []
31 TypedefDefinitionList = []
32 FunctionCallingList = []
33
34 ## record file data when parsing source
35 #
36 # May raise Exception when opening file.
37 #
38 class 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