import java.util.regex.*;\r
import org.tianocore.*;\r
\r
-public class ModuleReader {\r
- ModuleReader(String path, ModuleInfo moduleinfo, Database database, UI u) {\r
- modulepath = path;\r
- mi = moduleinfo;\r
- db = database;\r
- ui = u;\r
- }\r
- private String modulepath;\r
- private ModuleInfo mi;\r
- private Database db;\r
- private UI ui;\r
- \r
- private static Pattern ptninfequation = Pattern.compile("([^\\s]*)\\s*=\\s*([^\\s]*)");\r
- private static Pattern ptnsection = Pattern.compile("\\[([^\\[\\]]*)\\]([^\\[\\]]*)\\n", Pattern.MULTILINE);\r
- private static Pattern ptnfilename = Pattern.compile("[^\\s]+");\r
+public final class ModuleReader {\r
+ private static final Pattern ptninfequation = Pattern.compile("([^\\s]*)\\s*=\\s*([^\\s]*)");\r
+ private static final Pattern ptnsection = Pattern.compile("\\[([^\\[\\]]*)\\]([^\\[\\]]*)\\n", Pattern.MULTILINE);\r
+ private static final Pattern ptnfilename = Pattern.compile("[^\\s]+");\r
\r
- public void readMsa(String name) throws Exception {\r
- ModuleSurfaceAreaDocument msadoc = ModuleSurfaceAreaDocument.Factory.parse(new File(modulepath + File.separator + name));\r
+ public static final void readMsa(String name, ModuleInfo mi) throws Exception {\r
+ ModuleSurfaceAreaDocument msadoc = ModuleSurfaceAreaDocument.Factory.parse(new File(mi.modulepath + File.separator + name));\r
ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = msadoc.getModuleSurfaceArea();\r
MsaHeaderDocument.MsaHeader msaheader = msa.getMsaHeader();\r
- \r
+\r
mi.modulename = msaheader.getModuleName();\r
mi.guidvalue = msaheader.getGuidValue();\r
mi.moduletype = msaheader.getModuleType().toString(); // ???\r
- \r
+\r
SourceFilesDocument.SourceFiles sourcefiles = msa.getSourceFiles();\r
\r
String temp;\r
}\r
}\r
\r
- public void readInf(String name) throws Exception {\r
+ public static final void readInf(String name, ModuleInfo mi) throws Exception {\r
System.out.println("\nParsing INF file: " + name);\r
String wholeline;\r
Matcher mtrinfequation;\r
Matcher mtrsection;\r
Matcher mtrfilename;\r
\r
- wholeline = Common.file2string(modulepath + File.separator + name);\r
+ wholeline = Common.file2string(mi.modulepath + File.separator + name);\r
mtrsection = ptnsection.matcher(wholeline);\r
while (mtrsection.find()) {\r
if (mtrsection.group(1).matches("defines")) {\r
}\r
if (mtrinfequation.group(1).matches("DPX_SOURCE")) {\r
if (!mi.localmodulesources.contains(mtrinfequation.group(2))) {\r
- ui.println("DPX File Missing! : " + mtrinfequation.group(2));\r
+ MigrationTool.ui.println("DPX File Missing! : " + mtrinfequation.group(2));\r
}\r
}\r
}\r
mtrfilename = ptnfilename.matcher(mtrsection.group(2));\r
while (mtrfilename.find()) {\r
if (!mi.localmodulesources.contains(mtrfilename.group())) {\r
- ui.println("Source File Missing! : " + mtrfilename.group());\r
+ MigrationTool.ui.println("Source File Missing! : " + mtrfilename.group());\r
}\r
}\r
}\r