audk/BaseTools/Source/Python/UPT/Object/Parser/InfCommonObject.py

163 lines
3.8 KiB
Python

## @file
# This file is used to define common class objects for INF file.
# It will consumed by InfParser
#
# Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials are licensed and made available
# under the terms and conditions of the BSD License which accompanies this
# distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
'''
InfCommonObject
'''
## InfLineCommentObject
#
# Comment Object for any line in the INF file
#
# #
# # HeaderComment
# #
# Line # TailComment
#
class InfLineCommentObject():
def __init__(self):
self.HeaderComments = ''
self.TailComments = ''
def SetHeaderComments(self, HeaderComments):
self.HeaderComments = HeaderComments
def GetHeaderComments(self):
return self.HeaderComments
def SetTailComments(self, TailComments):
self.TailComments = TailComments
def GetTailComments(self):
return self.TailComments
## CurrentLine
#
class CurrentLine():
def __init__(self):
self.LineNo = ''
self.LineString = ''
self.FileName = ''
## SetLineNo
#
# @param LineNo: LineNo
#
def SetLineNo(self, LineNo):
self.LineNo = LineNo
## GetLineNo
#
def GetLineNo(self):
return self.LineNo
## SetLineString
#
# @param LineString: Line String content
#
def SetLineString(self, LineString):
self.LineString = LineString
## GetLineString
#
def GetLineString(self):
return self.LineString
## SetFileName
#
# @param FileName: File Name
#
def SetFileName(self, FileName):
self.FileName = FileName
## GetFileName
#
def GetFileName(self):
return self.FileName
##
# Inf Section common data
#
class InfSectionCommonDef():
def __init__(self):
#
# #
# # HeaderComments at here
# #
# [xxSection] TailComments at here
# data
#
self.HeaderComments = ''
self.TailComments = ''
#
# The support arch list of this section
#
self.SupArchList = []
#
# Store all section content
# Key is supported Arch
#
self.AllContent = {}
## SetHeaderComments
#
# @param HeaderComments: HeaderComments
#
def SetHeaderComments(self, HeaderComments):
self.HeaderComments = HeaderComments
## GetHeaderComments
#
def GetHeaderComments(self):
return self.HeaderComments
## SetTailComments
#
# @param TailComments: TailComments
#
def SetTailComments(self, TailComments):
self.TailComments = TailComments
## GetTailComments
#
def GetTailComments(self):
return self.TailComments
## SetSupArchList
#
# @param Arch: Arch
#
def SetSupArchList(self, Arch):
if Arch not in self.SupArchList:
self.SupArchList.append(Arch)
## GetSupArchList
#
def GetSupArchList(self):
return self.SupArchList
## SetAllContent
#
# @param ArchList: ArchList
# @param Content: Content
#
def SetAllContent(self, Content):
self.AllContent = Content
## GetAllContent
#
def GetAllContent(self):
return self.AllContent