BaseTools: Use absolute import in Ecc
[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 from __future__ import absolute_import
20 import re
21 import Common.LongFilePathOs as os
22 from .ParserWarning import Warning
23 from Common.LongFilePathSupport import OpenLongFilePath as open
24
25 CommentList = []
26 PPDirectiveList = []
27 PredicateExpressionList = []
28 FunctionDefinitionList = []
29 VariableDeclarationList = []
30 EnumerationDefinitionList = []
31 StructUnionDefinitionList = []
32 TypedefDefinitionList = []
33 FunctionCallingList = []
34
35 ## record file data when parsing source
36 #
37 # May raise Exception when opening file.
38 #
39 class FileProfile :
40
41 ## The constructor
42 #
43 # @param self The object pointer
44 # @param FileName The file that to be parsed
45 #
46 def __init__(self, FileName):
47 self.FileLinesList = []
48 self.FileLinesListFromFile = []
49 try:
50 fsock = open(FileName, "rb", 0)
51 try:
52 self.FileLinesListFromFile = fsock.readlines()
53 finally:
54 fsock.close()
55
56 except IOError:
57 raise Warning("Error when opening file %s" % FileName)