summaryrefslogtreecommitdiff
path: root/Tools/Source/MigrationTools
diff options
context:
space:
mode:
authoralfred <alfred@6f19259b-4bc3-4df7-8a09-765794883524>2006-09-06 05:40:02 +0000
committeralfred <alfred@6f19259b-4bc3-4df7-8a09-765794883524>2006-09-06 05:40:02 +0000
commit7ab9a5e5801699bb29cd4eb12b70011b918828fc (patch)
tree77c2b72fffe50cbfe57cf46319403566bd945738 /Tools/Source/MigrationTools
parent2887f99b7c26cb317d1542621b87cd17291f338f (diff)
downloadedk2-7ab9a5e5801699bb29cd4eb12b70011b918828fc.zip
edk2-7ab9a5e5801699bb29cd4eb12b70011b918828fc.tar.gz
edk2-7ab9a5e5801699bb29cd4eb12b70011b918828fc.tar.bz2
modify r8onlylib generate
add Element git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1473 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'Tools/Source/MigrationTools')
-rw-r--r--Tools/Source/MigrationTools/org/tianocore/migration/Common.java15
-rw-r--r--Tools/Source/MigrationTools/org/tianocore/migration/Critic.java1
-rw-r--r--Tools/Source/MigrationTools/org/tianocore/migration/SourceFileReplacer.java15
3 files changed, 28 insertions, 3 deletions
diff --git a/Tools/Source/MigrationTools/org/tianocore/migration/Common.java b/Tools/Source/MigrationTools/org/tianocore/migration/Common.java
index a7154b6..da560ec 100644
--- a/Tools/Source/MigrationTools/org/tianocore/migration/Common.java
+++ b/Tools/Source/MigrationTools/org/tianocore/migration/Common.java
@@ -192,4 +192,19 @@ public final class Common {
public abstract String namechange(String oldname);
}
+
+ public static interface Element {
+
+// public int replace = 0;
+// public int type = 1;
+
+ public String getReplace(String key);
+
+// public void getType(String key);
+//
+// public void setReplace(int num);
+//
+// public void setType(int num);
+
+ }
}
diff --git a/Tools/Source/MigrationTools/org/tianocore/migration/Critic.java b/Tools/Source/MigrationTools/org/tianocore/migration/Critic.java
index 95e95e9..49c13bf 100644
--- a/Tools/Source/MigrationTools/org/tianocore/migration/Critic.java
+++ b/Tools/Source/MigrationTools/org/tianocore/migration/Critic.java
@@ -16,6 +16,7 @@ import java.util.regex.*;
import java.io.*;
public final class Critic {
+ public static final Pattern PTN_NEW_HEAD_COMMENT = Pattern.compile("^\\/\\*\\*.*?\\*\\*\\/",Pattern.DOTALL);
private static final Pattern ptnheadcomment = Pattern.compile("^\\/\\*\\+\\+(.*?)\\-\\-\\*\\/",Pattern.DOTALL);
private static final Pattern ptnfunccomment = Pattern.compile("([\\};\\/\">]\\s*)([\\w\\s]*?[_\\w][_\\w\\d]*\\s*\\([^\\)\\(]*\\)\\s*)\\/\\*\\+\\+(.*?)\\-\\-\\*\\/(\\s*.*?)([\\{;])",Pattern.DOTALL); // find function with {;">/ , may be unsafe
//private static Pattern ptncommentstructure = Pattern.compile("\\/\\*\\+\\+\\s*Routine Description:\\s*(.*?)\\s*Arguments:\\s*(.*?)\\s*Returns:\\s*(.*?)\\s*\\-\\-\\*\\/",Pattern.DOTALL);
diff --git a/Tools/Source/MigrationTools/org/tianocore/migration/SourceFileReplacer.java b/Tools/Source/MigrationTools/org/tianocore/migration/SourceFileReplacer.java
index 5fb1020..07f93ce 100644
--- a/Tools/Source/MigrationTools/org/tianocore/migration/SourceFileReplacer.java
+++ b/Tools/Source/MigrationTools/org/tianocore/migration/SourceFileReplacer.java
@@ -281,12 +281,21 @@ public final class SourceFileReplacer implements Common.ForDoAll {
String line = Common.file2string(MigrationTool.db.DatabasePath + File.separator + "R8Lib.c");
PrintWriter outfile1 = new PrintWriter(new BufferedWriter(new FileWriter(MigrationTool.ModuleInfoMap.get(mi) + File.separator + "Migration_" + mi.modulename + File.separator + "R8Lib.c")));
PrintWriter outfile2 = new PrintWriter(new BufferedWriter(new FileWriter(MigrationTool.ModuleInfoMap.get(mi) + File.separator + "Migration_" + mi.modulename + File.separator + "R8Lib.h")));
- Pattern ptnr8only = Pattern.compile("////#?(\\w*)?.*?R8_(\\w*).*?////~", Pattern.DOTALL);
+ Pattern ptnr8only = Pattern.compile("////#?(\\w*)?(.*?R8_(\\w*).*?)////~", Pattern.DOTALL);
Matcher mtrr8only = ptnr8only.matcher(line);
Matcher mtrr8onlyhead;
+
+ //add head comment
+ Matcher mtrr8onlyheadcomment = Critic.PTN_NEW_HEAD_COMMENT.matcher(line);
+ if (mtrr8onlyheadcomment.find()) {
+ outfile1.append(mtrr8onlyheadcomment.group() + "\n\n");
+ outfile2.append(mtrr8onlyheadcomment.group() + "\n\n");
+ }
+
+ //add functions body
while (mtrr8only.find()) {
- if (mi.hashr8only.contains(mtrr8only.group(2))) {
- paragraph = mtrr8only.group();
+ if (mi.hashr8only.contains(mtrr8only.group(3))) {
+ paragraph = mtrr8only.group(2);
outfile1.append(paragraph + "\n\n");
if (mtrr8only.group(1).length() != 0) {
mi.hashrequiredr9libs.add(mtrr8only.group(1));