public static TMapFileType Type(string aFileName) { TMapFileType ret = TMapFileType.ETypeUnknown; // if (File.Exists(aFileName)) { ret = TMapFileType.ETypeGCCE; // using (StreamReader reader = new StreamReader(aFileName)) { string firstLine = reader.ReadLine().Trim().ToUpper(); if (firstLine.StartsWith("ARM LINKER, RVCT")) { ret = TMapFileType.ETypeRVCT; } } } // return(ret); }
public override void ReadSource(SymSource aSource, TSynchronicity aSynchronicity) { // Need to work out if it's a GCCE or RVCT map file. TMapFileType type = MapFileUtils.Type(aSource.FileName); // MapReader reader = null; switch (type) { case TMapFileType.ETypeRVCT: reader = new RVCTMapFileReader(aSource, base.Tracer); break; case TMapFileType.ETypeGCCE: reader = new GCCEMapFileReader(aSource, base.Tracer); break; case TMapFileType.ETypeUnknown: default: throw new NotSupportedException(); } // reader.Read(aSynchronicity); }