X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Tools%2FSource%2FMigrationTools%2Forg%2Ftianocore%2Fmigration%2FSourceFileReplacer.java;fp=Tools%2FSource%2FMigrationTools%2Forg%2Ftianocore%2Fmigration%2FSourceFileReplacer.java;h=446c5e44268c15b58967c8540157733128935f25;hp=3238e29df9397241f96a0f8dcaa762b0470e2e6d;hb=06d1ff5b981e7808c5499b74cea4857cd8e5f957;hpb=2e39c71883a39e34ccbf8f9385c7997af8592fb6 diff --git a/Tools/Source/MigrationTools/org/tianocore/migration/SourceFileReplacer.java b/Tools/Source/MigrationTools/org/tianocore/migration/SourceFileReplacer.java index 3238e29df9..446c5e4426 100644 --- a/Tools/Source/MigrationTools/org/tianocore/migration/SourceFileReplacer.java +++ b/Tools/Source/MigrationTools/org/tianocore/migration/SourceFileReplacer.java @@ -89,27 +89,20 @@ public final class SourceFileReplacer implements Common.ForDoAll { public String operation(String wholeline) { boolean addr8 = false; - Pattern pat = Pattern.compile("g?(BS|RT)(\\s*->\\s*)([a-zA-Z_]\\w*)", Pattern.MULTILINE); // ! only two level () bracket allowed ! - //Pattern ptnpei = Pattern.compile("\\(\\*\\*?PeiServices\\)[.-][>]?\\s*(\\w*[#$]*)(\\s*\\(([^\\(\\)]*(\\([^\\(\\)]*\\))?[^\\(\\)]*)*\\))", Pattern.MULTILINE); - - // replace BS -> gBS , RT -> gRT - Matcher mat = pat.matcher(wholeline); - if (mat.find()) { // add a library here - MigrationTool.ui.println("Converting all BS->gBS, RT->gRT"); - wholeline = mat.replaceAll("g$1$2$3"); //unknown correctiveness - } - mat.reset(); - while (mat.find()) { - if (mat.group(1).matches("BS")) { - mi.hashrequiredr9libs.add("UefiBootServicesTableLib"); - } - if (mat.group(1).matches("RT")) { - mi.hashrequiredr9libs.add("UefiRuntimeServicesTableLib"); - } - } // remove EFI_DRIVER_ENTRY_POINT wholeline = wholeline.replaceAll("(EFI_\\w+_ENTRY_POINT)", MigrationTool.MIGRATIONCOMMENT + " $1"); - + // remove R8 library contractor + wholeline = wholeline.replaceAll ("(\\b(?:Efi|Dxe)InitializeDriverLib\\b)", MigrationTool.MIGRATIONCOMMENT + " $1"); + // Add Library Class for potential reference of gBS, gRT & gDS. + if (Common.find (wholeline, "\\bg?BS\\b")) { + mi.hashrequiredr9libs.add("UefiBootServicesTableLib"); + } + if (Common.find (wholeline, "\\bg?RT\\b")) { + mi.hashrequiredr9libs.add ("UefiRuntimeServicesTableLib"); + } + if (Common.find (wholeline, "\\bgDS\\b")) { + mi.hashrequiredr9libs.add ("DxeServicesTableLib"); + } // start replacing names String r8thing; String r9thing; @@ -118,17 +111,8 @@ public final class SourceFileReplacer implements Common.ForDoAll { it = mi.hashnonlocalfunc.iterator(); while (it.hasNext()) { r8thing = it.next(); - if (r8thing.matches("EfiInitializeDriverLib")) { //s - mi.hashrequiredr9libs.add("UefiBootServicesTableLib"); //p - mi.hashrequiredr9libs.add("UefiRuntimeServicesTableLib"); //e - } else if (r8thing.matches("DxeInitializeDriverLib")) { //c - mi.hashrequiredr9libs.add("UefiBootServicesTableLib"); //i - mi.hashrequiredr9libs.add("UefiRuntimeServicesTableLib"); //a - mi.hashrequiredr9libs.add("DxeServicesTableLib"); //l - } else { // - mi.hashrequiredr9libs.add(MigrationTool.db.getR9Lib(r8thing)); // add a library here - } - + mi.hashrequiredr9libs.add(MigrationTool.db.getR9Lib(r8thing)); // add a library here + r8tor9 temp; if ((r9thing = MigrationTool.db.getR9Func(r8thing)) != null) { if (!r8thing.equals(r9thing)) {