]> git.proxmox.com Git - mirror_edk2.git/blob - BaseTools/Source/Python/Eot/FileProfile.py
BaseTools: Use absolute import in Eot
[mirror_edk2.git] / BaseTools / Source / Python / Eot / FileProfile.py
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
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 # Profile contents of a file
26 PPDirectiveList = []
27 AssignmentExpressionList = []
28 PredicateExpressionList = []
29 FunctionDefinitionList = []
30 VariableDeclarationList = []
31 EnumerationDefinitionList = []
32 StructUnionDefinitionList = []
33 TypedefDefinitionList = []
34 FunctionCallingList = []
35
36 ## Class FileProfile
37 #
38 # record file data when parsing source
39 #
40 # May raise Exception when opening file.
41 #
42 class FileProfile :
43
44 ## The constructor
45 #
46 # @param self: The object pointer
47 # @param FileName: The file that to be parsed
48 #
49 def __init__(self, FileName):
50 self.FileLinesList = []
51 self.FileLinesListFromFile = []
52 try:
53 fsock = open(FileName, "rb", 0)
54 try:
55 self.FileLinesListFromFile = fsock.readlines()
56 finally:
57 fsock.close()
58
59 except IOError:
60 raise Warning("Error when opening file %s" % FileName)