X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Tools%2FJava%2FSource%2FMigrationTools%2Forg%2Ftianocore%2Fmigration%2FSourceFileReplacer.java;h=cdb833db838ff372e79ff6dca6978a814887f0ed;hp=4a4d71cd79418f6b0f83bd570ed0f7ba0581c77e;hb=4c5f3cc94c4d96847409ab8987debc48fcf9cf9d;hpb=2679d84f24f77c4a8fea266685dc9b225c006b2c diff --git a/Tools/Java/Source/MigrationTools/org/tianocore/migration/SourceFileReplacer.java b/Tools/Java/Source/MigrationTools/org/tianocore/migration/SourceFileReplacer.java index 4a4d71cd79..cdb833db83 100644 --- a/Tools/Java/Source/MigrationTools/org/tianocore/migration/SourceFileReplacer.java +++ b/Tools/Java/Source/MigrationTools/org/tianocore/migration/SourceFileReplacer.java @@ -261,12 +261,19 @@ public final class SourceFileReplacer implements Common.ForDoAll { Matcher mtrhobstatus; String templine = wholeline; for (int i = 0; i < specialhoblibfunc.length; i++) { - ptnhobstatus = Pattern.compile("(Status\\s*=\\s*)?" + specialhoblibfunc[i] + "(.*?\\)\\s*;)", Pattern.DOTALL); - mtrhobstatus = ptnhobstatus.matcher(templine); - if (mtrhobstatus.find()) { - templine = mtrhobstatus.replaceAll(specialhoblibfunc[i] + mtrhobstatus.group(2) + "\n " + - MigrationTool.MIGRATIONCOMMENT + "R9 Hob-building library functions will assert if build failure.\n Status = EFI_SUCCESS;"); - } + do { + ptnhobstatus = Pattern.compile("((?:\t| )*)(\\w(?:\\w|\\d)*)\\s*=\\s*" + specialhoblibfunc[i] + "(.*?;)", Pattern.DOTALL); + mtrhobstatus = ptnhobstatus.matcher(templine); + if (!mtrhobstatus.find()) { + break; + } + String captureIndent = mtrhobstatus.group(1); + String captureStatus = mtrhobstatus.group(2); + String replaceString = captureIndent + specialhoblibfunc[i] + mtrhobstatus.group(3) + "\n"; + replaceString += captureIndent + MigrationTool.MIGRATIONCOMMENT + "R9 Hob-building library functions will assert if build failure.\n"; + replaceString += captureIndent + captureStatus + " = EFI_SUCCESS;"; + templine = mtrhobstatus.replaceFirst(replaceString); + } while (true); } return templine; }