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