Fix autogen bug:[Edk67][Edk35].

Add "/FI" to "PP" option in EdkModulePkg-All-Archs.fpd.
Modify BuildMacro.xml changing "S" for IPF assembler.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@746 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
qouyang 2006-07-04 13:44:18 +00:00
parent 1eb73ab57a
commit 25832ed337
5 changed files with 93 additions and 95 deletions

View File

@ -15044,7 +15044,7 @@
"/nologo", "/W3", "/WX", "/c", "/coff", "/DEFI32", "/Fl${DEST_DIR_OUTPUT}/${FILE_PATH}/${FILE_BASENAME}.lst" "/nologo", "/W3", "/WX", "/c", "/coff", "/DEFI32", "/Fl${DEST_DIR_OUTPUT}/${FILE_PATH}/${FILE_BASENAME}.lst"
</Option> </Option>
<Option BuildTargets="DEBUG" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="ASMLINK"/> <Option BuildTargets="DEBUG" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="ASMLINK"/>
<Option ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="PP"> "/P", "/TC" </Option> <Option ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="PP"> "/P", "/TC", "/FI${DEST_DIR_DEBUG}/AutoGen.h" </Option>
<Option ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="ASL"> "/nologo" </Option> <Option ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="ASL"> "/nologo" </Option>
<!-- MSFT tool chain options definition : X64 --> <!-- MSFT tool chain options definition : X64 -->
@ -15062,7 +15062,7 @@
</Option> </Option>
<Option ToolChainFamily="MSFT" SupArchList="X64" ToolCode="ASMLINK"> </Option> <Option ToolChainFamily="MSFT" SupArchList="X64" ToolCode="ASMLINK"> </Option>
<Option ToolChainFamily="MSFT" SupArchList="X64" ToolCode="PP"> <Option ToolChainFamily="MSFT" SupArchList="X64" ToolCode="PP">
"/P", "/TC" "/P", "/TC", "/FI${DEST_DIR_DEBUG}/AutoGen.h"
</Option> </Option>
<Option ToolChainFamily="MSFT" SupArchList="X64" ToolCode="ASL"> "/nologo" </Option> <Option ToolChainFamily="MSFT" SupArchList="X64" ToolCode="ASL"> "/nologo" </Option>

View File

@ -164,7 +164,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<if> <if>
<or> <or>
<equals arg1="@{FILEEXT}" arg2="asm" /> <equals arg1="@{FILEEXT}" arg2="asm" />
<equals arg1="@{FILEEXT}" arg2="s" /> <equals arg1="@{FILEEXT}" arg2="S" />
</or> </or>
<then> <then>
<Build_Assembly FILEPATH="@{FILEPATH}" FILENAME="@{FILENAME}" FILEEXT="@{FILEEXT}"> <Build_Assembly FILEPATH="@{FILEPATH}" FILENAME="@{FILENAME}" FILEEXT="@{FILEEXT}">
@ -173,7 +173,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</Build_Assembly> </Build_Assembly>
</then> </then>
<elseif> <elseif>
<equals arg1="@{FILEEXT}" arg2="S" /> <equals arg1="@{FILEEXT}" arg2="s" />
<then> <then>
<Build_IPF_Assembly_Code FILEPATH="@{FILEPATH}" FILENAME="@{FILENAME}" FILEEXT="@{FILEEXT}"> <Build_IPF_Assembly_Code FILEPATH="@{FILEPATH}" FILENAME="@{FILENAME}" FILEEXT="@{FILEEXT}">
<EXTRA.INC.1><EXTRA.INC /></EXTRA.INC.1> <EXTRA.INC.1><EXTRA.INC /></EXTRA.INC.1>

View File

@ -41,7 +41,7 @@
# EBC definitions # EBC definitions
*_MSFT_EBC_*_FAMILY = INTEL *_MSFT_EBC_*_FAMILY = INTEL
*_MSFT_EBC_*_PATH = C:\Program Files\Intel\EBC\Bin *_MSFT_EBC_*_PATH = C:\Program Files\Intel\EBC\Bin
*_MSFT_EBC_*_SPATH = C:\Program Files\Intel\EBC\Lib\EbcLib.lib *_MSFT_EBC_*_SPATH = C:\Progra~1\Intel\EBC\Lib\EbcLib.lib
*_MSFT_EBC_CC_NAME = iec.exe *_MSFT_EBC_CC_NAME = iec.exe
*_MSFT_EBC_SLINK_NAME = link.exe *_MSFT_EBC_SLINK_NAME = link.exe

View File

@ -882,16 +882,11 @@ public class AutoGen {
.append("GLOBAL_REMOVE_IF_UNREFERENCED const UINT8 _gDriverEntryPointCount = "); .append("GLOBAL_REMOVE_IF_UNREFERENCED const UINT8 _gDriverEntryPointCount = ");
fileBuffer.append(Integer.toString(entryPointCount)); fileBuffer.append(Integer.toString(entryPointCount));
fileBuffer.append(";\r\n"); fileBuffer.append(";\r\n");
fileBuffer
.append("static BASE_LIBRARY_JUMP_BUFFER mJumpContext;\r\n");
fileBuffer
.append("static EFI_STATUS mDriverEntryPointStatus = EFI_LOAD_ERROR;\r\n\r\n");
fileBuffer.append("EFI_STATUS\r\n"); fileBuffer.append("EFI_STATUS\r\n");
fileBuffer.append("EFIAPI\r\n"); fileBuffer.append("EFIAPI\r\n");
fileBuffer.append("ProcessModuleEntryPointList (\r\n"); fileBuffer.append("ProcessModuleEntryPointList (\r\n");
fileBuffer.append(" EFI_HANDLE ImageHandle,\r\n"); fileBuffer.append(" IN EFI_HANDLE ImageHandle,\r\n");
fileBuffer.append(" EFI_SYSTEM_TABLE *SystemTable\r\n"); fileBuffer.append(" IN EFI_SYSTEM_TABLE *SystemTable\r\n");
fileBuffer.append(" )\r\n\r\n"); fileBuffer.append(" )\r\n\r\n");
fileBuffer.append("{\r\n"); fileBuffer.append("{\r\n");
fileBuffer.append(" return EFI_SUCCESS;\r\n"); fileBuffer.append(" return EFI_SUCCESS;\r\n");
@ -924,8 +919,8 @@ public class AutoGen {
fileBuffer.append("EFI_STATUS\r\n"); fileBuffer.append("EFI_STATUS\r\n");
fileBuffer.append("EFIAPI\r\n"); fileBuffer.append("EFIAPI\r\n");
fileBuffer.append("ProcessModuleEntryPointList (\r\n"); fileBuffer.append("ProcessModuleEntryPointList (\r\n");
fileBuffer.append(" EFI_HANDLE ImageHandle,\r\n"); fileBuffer.append(" IN EFI_HANDLE ImageHandle,\r\n");
fileBuffer.append(" EFI_SYSTEM_TABLE *SystemTable\r\n"); fileBuffer.append(" IN EFI_SYSTEM_TABLE *SystemTable\r\n");
fileBuffer.append(" )\r\n\r\n"); fileBuffer.append(" )\r\n\r\n");
fileBuffer.append("{\r\n"); fileBuffer.append("{\r\n");
@ -991,7 +986,7 @@ public class AutoGen {
fileBuffer.append("EFI_STATUS\r\n"); fileBuffer.append("EFI_STATUS\r\n");
fileBuffer.append("EFIAPI\r\n"); fileBuffer.append("EFIAPI\r\n");
fileBuffer.append("ProcessModuleUnloadList (\r\n"); fileBuffer.append("ProcessModuleUnloadList (\r\n");
fileBuffer.append(" EFI_HANDLE ImageHandle\r\n"); fileBuffer.append(" IN EFI_HANDLE ImageHandle\r\n");
fileBuffer.append(" )\r\n"); fileBuffer.append(" )\r\n");
fileBuffer.append("{\r\n"); fileBuffer.append("{\r\n");
@ -1042,8 +1037,8 @@ public class AutoGen {
fileBuffer.append("EFI_STATUS\r\n"); fileBuffer.append("EFI_STATUS\r\n");
fileBuffer.append("EFIAPI\r\n"); fileBuffer.append("EFIAPI\r\n");
fileBuffer.append("ProcessModuleEntryPointList (\r\n"); fileBuffer.append("ProcessModuleEntryPointList (\r\n");
fileBuffer.append(" EFI_HANDLE ImageHandle,\r\n"); fileBuffer.append(" IN EFI_HANDLE ImageHandle,\r\n");
fileBuffer.append(" EFI_SYSTEM_TABLE *SystemTable\r\n"); fileBuffer.append(" IN EFI_SYSTEM_TABLE *SystemTable\r\n");
fileBuffer.append(" )\r\n\r\n"); fileBuffer.append(" )\r\n\r\n");
fileBuffer.append("{\r\n"); fileBuffer.append("{\r\n");
fileBuffer.append(" return EFI_SUCCESS;\r\n"); fileBuffer.append(" return EFI_SUCCESS;\r\n");
@ -1077,8 +1072,8 @@ public class AutoGen {
fileBuffer.append("EFI_STATUS\r\n"); fileBuffer.append("EFI_STATUS\r\n");
fileBuffer.append("EFIAPI\r\n"); fileBuffer.append("EFIAPI\r\n");
fileBuffer.append("ProcessModuleEntryPointList (\r\n"); fileBuffer.append("ProcessModuleEntryPointList (\r\n");
fileBuffer.append(" EFI_HANDLE ImageHandle,\r\n"); fileBuffer.append(" IN EFI_HANDLE ImageHandle,\r\n");
fileBuffer.append(" EFI_SYSTEM_TABLE *SystemTable\r\n"); fileBuffer.append(" IN EFI_SYSTEM_TABLE *SystemTable\r\n");
fileBuffer.append(" )\r\n\r\n"); fileBuffer.append(" )\r\n\r\n");
fileBuffer.append("{\r\n"); fileBuffer.append("{\r\n");
@ -1179,7 +1174,7 @@ public class AutoGen {
fileBuffer.append("EFI_STATUS\n"); fileBuffer.append("EFI_STATUS\n");
fileBuffer.append("EFIAPI\r\n"); fileBuffer.append("EFIAPI\r\n");
fileBuffer.append("ProcessModuleUnloadList (\r\n"); fileBuffer.append("ProcessModuleUnloadList (\r\n");
fileBuffer.append(" EFI_HANDLE ImageHandle\r\n"); fileBuffer.append(" IN EFI_HANDLE ImageHandle\r\n");
fileBuffer.append(" )\r\n"); fileBuffer.append(" )\r\n");
fileBuffer.append("{\r\n"); fileBuffer.append("{\r\n");
@ -1193,7 +1188,11 @@ public class AutoGen {
fileBuffer.append(" EFI_STATUS Status;\r\n\r\n"); fileBuffer.append(" EFI_STATUS Status;\r\n\r\n");
fileBuffer.append(" Status = EFI_SUCCESS;\r\n\r\n"); fileBuffer.append(" Status = EFI_SUCCESS;\r\n\r\n");
for (int i = 0; i < entryPointList.length; i++) { for (int i = 0; i < entryPointList.length; i++) {
if (!entryPointList[i].equals("")) { if (i == 0) {
fileBuffer.append(" Status = ");
fileBuffer.append(entryPointList[i]);
fileBuffer.append("(ImageHandle);\r\n");
}else{
fileBuffer.append(" if (EFI_ERROR (Status)) {\r\n"); fileBuffer.append(" if (EFI_ERROR (Status)) {\r\n");
fileBuffer.append(" "); fileBuffer.append(" ");
fileBuffer.append(entryPointList[i]); fileBuffer.append(entryPointList[i]);
@ -1203,8 +1202,6 @@ public class AutoGen {
fileBuffer.append(entryPointList[i]); fileBuffer.append(entryPointList[i]);
fileBuffer.append("(ImageHandle);\r\n"); fileBuffer.append("(ImageHandle);\r\n");
fileBuffer.append(" }\r\n"); fileBuffer.append(" }\r\n");
} else {
break;
} }
} }
fileBuffer.append(" return Status;\r\n"); fileBuffer.append(" return Status;\r\n");

View File

@ -26,41 +26,12 @@ import java.util.regex.Pattern;
import org.apache.xmlbeans.XmlNormalizedString; import org.apache.xmlbeans.XmlNormalizedString;
import org.apache.xmlbeans.XmlObject; import org.apache.xmlbeans.XmlObject;
import org.apache.xmlbeans.XmlString; import org.apache.xmlbeans.XmlString;
import org.tianocore.BuildOptionsDocument; import org.tianocore.*;
import org.tianocore.CNameType;
import org.tianocore.DataIdDocument;
import org.tianocore.ExternsDocument;
import org.tianocore.FileNameConvention;
import org.tianocore.FvAttributeDocument;
import org.tianocore.FvImagesDocument;
import org.tianocore.FvOptionDocument;
import org.tianocore.GuidDeclarationsDocument;
import org.tianocore.GuidsDocument;
import org.tianocore.LibrariesDocument;
import org.tianocore.LibraryClassDeclarationsDocument;
import org.tianocore.LibraryClassDocument;
import org.tianocore.ModuleDefinitionsDocument;
import org.tianocore.ModuleSADocument;
import org.tianocore.ModuleSaBuildOptionsDocument;
import org.tianocore.ModuleTypeDef;
import org.tianocore.MsaFilesDocument;
import org.tianocore.MsaHeaderDocument;
import org.tianocore.OptionDocument;
import org.tianocore.PPIsDocument;
import org.tianocore.PackageDependenciesDocument;
import org.tianocore.PackageHeadersDocument;
import org.tianocore.PcdCodedDocument;
import org.tianocore.PlatformDefinitionsDocument;
import org.tianocore.PpiDeclarationsDocument;
import org.tianocore.ProtocolDeclarationsDocument;
import org.tianocore.Sentence;
import org.tianocore.SpdHeaderDocument;
import org.tianocore.SupportedArchitectures;
import org.tianocore.FilenameDocument.Filename; import org.tianocore.FilenameDocument.Filename;
import org.tianocore.MsaHeaderDocument.MsaHeader; import org.tianocore.MsaHeaderDocument.MsaHeader;
import org.tianocore.ProtocolsDocument.Protocols.Protocol; import org.tianocore.ProtocolsDocument.Protocols.Protocol;
import org.tianocore.ProtocolsDocument.Protocols.ProtocolNotify; import org.tianocore.ProtocolsDocument.Protocols.ProtocolNotify;
import org.tianocore.PlatformHeaderDocument; import org.tianocore.SupportedArchitectures.Enum;
import org.tianocore.build.id.FpdModuleIdentification; import org.tianocore.build.id.FpdModuleIdentification;
import org.tianocore.build.id.ModuleIdentification; import org.tianocore.build.id.ModuleIdentification;
import org.tianocore.build.id.PackageIdentification; import org.tianocore.build.id.PackageIdentification;
@ -269,12 +240,7 @@ public class SurfaceAreaQuery {
String[] xPath; String[] xPath;
Object[] returns; Object[] returns;
if (arch == null || arch.equals("")) {
xPath = new String[] { "/Filename" }; xPath = new String[] { "/Filename" };
} else {
xPath = new String[] { "/Filename[not(@SupArchList) or @SupArchList='"
+ arch + "']" };
}
returns = get("SourceFiles", xPath); returns = get("SourceFiles", xPath);
@ -283,10 +249,18 @@ public class SurfaceAreaQuery {
} }
Filename[] sourceFileNames = (Filename[]) returns; Filename[] sourceFileNames = (Filename[]) returns;
String[][] outputString = new String[sourceFileNames.length][2]; List<String[]> outputList = new ArrayList<String[]>();
for (int i = 0; i < sourceFileNames.length; i++) { for (int i = 0; i < sourceFileNames.length; i++) {
outputString[i][0] = sourceFileNames[i].getToolCode(); List<String> archList = sourceFileNames[i].getSupArchList();
outputString[i][1] = sourceFileNames[i].getStringValue(); if (arch == null || arch.equalsIgnoreCase("") || archList == null || archList.contains(arch)) {
outputList.add(new String[] {sourceFileNames[i].getToolCode(),sourceFileNames[i].getStringValue()});
}
}
String[][] outputString = new String[outputList.size()][2];
for (int index = 0; index < outputList.size(); index++) {
outputString[index][0] = outputList.get(index)[0];
outputString[index][1] = outputList.get(index)[1];
} }
return outputString; return outputString;
} }
@ -558,12 +532,8 @@ public class SurfaceAreaQuery {
String packageGuid = null; String packageGuid = null;
String packageVersion = null; String packageVersion = null;
if (arch == null || arch.equals("")) {
xPath = new String[] { "/Package" }; xPath = new String[] { "/Package" };
} else {
xPath = new String[] { "/Package[not(@SupArchList) or @SupArchList='"
+ arch + "']" };
}
Object[] returns = get("PackageDependencies", xPath); Object[] returns = get("PackageDependencies", xPath);
if (returns == null) { if (returns == null) {
@ -572,11 +542,14 @@ public class SurfaceAreaQuery {
PackageIdentification[] packageIdList = new PackageIdentification[returns.length]; PackageIdentification[] packageIdList = new PackageIdentification[returns.length];
for (int i = 0; i < returns.length; i++) { for (int i = 0; i < returns.length; i++) {
PackageDependenciesDocument.PackageDependencies.Package item = (PackageDependenciesDocument.PackageDependencies.Package) returns[i]; PackageDependenciesDocument.PackageDependencies.Package item = (PackageDependenciesDocument.PackageDependencies.Package) returns[i];
List<String> archList = item.getSupArchList();
if (arch == null || archList == null || archList.contains(arch)) {
packageGuid = item.getPackageGuid(); packageGuid = item.getPackageGuid();
packageVersion = item.getPackageVersion(); packageVersion = item.getPackageVersion();
packageIdList[i] = (new PackageIdentification(null, packageGuid, packageIdList[i] = (new PackageIdentification(null, packageGuid,
packageVersion)); packageVersion));
} }
}
return packageIdList; return packageIdList;
} }
@ -654,7 +627,7 @@ public class SurfaceAreaQuery {
if (arch == null || arch.equals("")) { if (arch == null || arch.equals("")) {
return new String[0]; return new String[0];
} else { } else {
archXpath = "/Protocol[@SupArchList='" + arch + "']"; archXpath = "/Protocol";
if (usage != null && !usage.equals("")) { if (usage != null && !usage.equals("")) {
usageXpath = "/Protocol[@Usage='" + usage + "']"; usageXpath = "/Protocol[@Usage='" + usage + "']";
xPath = new String[] { usageXpath, archXpath }; xPath = new String[] { usageXpath, archXpath };
@ -699,15 +672,20 @@ public class SurfaceAreaQuery {
if (returns == null) { if (returns == null) {
return new String[0]; return new String[0];
} }
Protocol[] protocolList = (Protocol[]) returns; Protocol[] returnlList = (Protocol[]) returns;
List<String> protocolList = new ArrayList<String>();
String[] protocolArray = new String[returns.length];
for (int i = 0; i < returns.length; i++) { for (int i = 0; i < returns.length; i++) {
List<String> archList = protocolList[i].getSupArchList(); List<String> archList = returnlList[i].getSupArchList();
if (archList == null || archList.contains(arch)){ if (archList == null || archList.contains(arch)){
protocolArray[i] = protocolList[i].getProtocolCName(); protocolList.add(returnlList[i].getProtocolCName());
} }
} }
String[] protocolArray = new String[protocolList.size()];
for (int i = 0; i < protocolList.size(); i++) {
protocolArray[i] = protocolList.get(i);
}
return protocolArray; return protocolArray;
} }
@ -734,16 +712,20 @@ public class SurfaceAreaQuery {
return new String[0]; return new String[0];
} }
String[] protocolNotifyList = new String[returns.length]; List<String> protocolNotifyList = new ArrayList<String>();
for (int i = 0; i < returns.length; i++) { for (int i = 0; i < returns.length; i++) {
List<String> archList = ((ProtocolNotify) returns[i]).getSupArchList(); List<String> archList = ((ProtocolNotify) returns[i]).getSupArchList();
if (archList == null || archList.contains(arch)){ if (archList == null || archList.contains(arch)){
protocolNotifyList[i] = ((ProtocolNotify) returns[i]).getProtocolNotifyCName(); protocolNotifyList.add(((ProtocolNotify) returns[i]).getProtocolNotifyCName());
} }
} }
String[] protocolNotifyArray = new String[protocolNotifyList.size()];
return protocolNotifyList; for (int i = 0; i < protocolNotifyList.size(); i++) {
protocolNotifyArray[i] = protocolNotifyList.get(i);
}
return protocolNotifyArray;
} }
/** /**
@ -764,7 +746,7 @@ public class SurfaceAreaQuery {
if (arch == null || arch.equals("")) { if (arch == null || arch.equals("")) {
return new String[0]; return new String[0];
} else { } else {
archXpath = "/ProtocolNotify[@SupArchList='" + arch + "']"; archXpath = "/ProtocolNotify";
if (usage != null && !usage.equals("")) { if (usage != null && !usage.equals("")) {
usageXpath = "/ProtocolNotify[@Usage='" + arch + "']"; usageXpath = "/ProtocolNotify[@Usage='" + arch + "']";
xPath = new String[] { archXpath, usageXpath }; xPath = new String[] { archXpath, usageXpath };
@ -851,16 +833,21 @@ public class SurfaceAreaQuery {
return new String[0]; return new String[0];
} }
String[] ppiNotifyList = new String[returns.length];
List<String> ppiNotifyList = new ArrayList<String>();
for (int i = 0; i < returns.length; i++) { for (int i = 0; i < returns.length; i++) {
List<String> archList = ((PPIsDocument.PPIs.PpiNotify) returns[i]).getSupArchList(); List<String> archList = ((PPIsDocument.PPIs.PpiNotify) returns[i]).getSupArchList();
if (archList == null || archList.contains(arch)){ if (archList == null || archList.contains(arch)){
ppiNotifyList[i] = ((PPIsDocument.PPIs.PpiNotify) returns[i]).getPpiNotifyCName(); ppiNotifyList.add(((PPIsDocument.PPIs.PpiNotify) returns[i]).getPpiNotifyCName());
} }
} }
String[] ppiNotifyArray = new String[ppiNotifyList.size()];
for (int i = 0; i < ppiNotifyList.size(); i++) {
ppiNotifyArray[i] = ppiNotifyList.get(i);
}
return ppiNotifyList; return ppiNotifyArray;
} }
/** /**
@ -927,15 +914,19 @@ public class SurfaceAreaQuery {
return new String[0]; return new String[0];
} }
String[] ppiList = new String[returns.length]; List<String> ppiList = new ArrayList<String>();
for (int i = 0; i < returns.length; i++) { for (int i = 0; i < returns.length; i++) {
List<String> archList = ((PPIsDocument.PPIs.Ppi) returns[i]).getSupArchList(); List<String> archList = ((PPIsDocument.PPIs.Ppi) returns[i]).getSupArchList();
if (archList == null || archList.contains(arch)){ if (archList == null || archList.contains(arch)){
ppiList[i] = ((PPIsDocument.PPIs.Ppi) returns[i]).getPpiCName(); ppiList.add(((PPIsDocument.PPIs.Ppi) returns[i]).getPpiCName());
} }
} }
return ppiList; String[] ppiArray = new String[ppiList.size()];
for (int i = 0; i < ppiList.size(); i++) {
ppiArray[i] = ppiList.get(i);
}
return ppiArray;
} }
/** /**
@ -1001,15 +992,20 @@ public class SurfaceAreaQuery {
if (returns == null) { if (returns == null) {
return new String[0]; return new String[0];
} }
String[] guidList = new String[returns.length];
List<String> guidList = new ArrayList<String>();
for (int i = 0; i < returns.length; i++) { for (int i = 0; i < returns.length; i++) {
List<String> archList = ((GuidsDocument.Guids.GuidCNames) returns[i]).getSupArchList(); List<String> archList = ((GuidsDocument.Guids.GuidCNames) returns[i]).getSupArchList();
if (archList == null || archList.contains(arch)){ if (archList == null || archList.contains(arch)){
guidList[i] = ((GuidsDocument.Guids.GuidCNames) returns[i]).getGuidCName(); guidList.add(((GuidsDocument.Guids.GuidCNames) returns[i]).getGuidCName());
} }
} }
return guidList; String[] guidArray = new String[guidList.size()];
for (int i = 0; i < guidList.size(); i++) {
guidArray[i] = guidList.get(i);
}
return guidArray;
} }
@ -1074,6 +1070,11 @@ public class SurfaceAreaQuery {
if (arch == null || arch.equalsIgnoreCase("")) { if (arch == null || arch.equalsIgnoreCase("")) {
xPath = new String[] { "/Instance" }; xPath = new String[] { "/Instance" };
} else { } else {
//
// Since Schema don't have SupArchList now, so the follow Xpath is
// equal to "/Instance" and [not(@SupArchList) or @SupArchList= arch]
// don't have effect.
//
xPath = new String[] { "/Instance[not(@SupArchList) or @SupArchList='" xPath = new String[] { "/Instance[not(@SupArchList) or @SupArchList='"
+ arch + "']" }; + arch + "']" };
} }