Пример #1
0
        public static TFileType IsSupported(string aFileName)
        {
            TFileType ret = TFileType.EFileNotSupported;

            //
            try
            {
                string extension = Path.GetExtension(aFileName).ToLower();
                if (extension == ".symbol")
                {
                    SymbolFileEngine tempEngine = new SymbolFileEngine(null, SymbolFileEngine.TActivationType.EOnDemand, false);
                    SymbolsForBinary symbols    = tempEngine.ReadFirstCollection(aFileName);

                    // For a valid ROFS symbol file, the first symbol should have an address of zero.
                    bool containedNonZeroFirstSymbolCollection = (symbols != null && symbols.Count > 0 && symbols[0].Address != 0);
                    if (containedNonZeroFirstSymbolCollection)
                    {
                        ret = TFileType.EFileRomSymbol;
                    }
                }
            }
            catch (Exception)
            {
            }
            //
            return(ret);
        }
Пример #2
0
        public static TFileType IsSupported(string aFileName)
        {
            TFileType ret = TFileType.EFileNotSupported;
            //
            FileInfo fileInfo = new FileInfo(aFileName);

            if (fileInfo.Exists)
            {
                // Try rom then rofs
                ret = ROMEngine.IsSupported(aFileName);
                if (ret == TFileType.EFileNotSupported)
                {
                    ret = ROFSEngine.IsSupported(aFileName);
                }
            }
            //
            return(ret);
        }
Пример #3
0
        public static TFileType IsSupported(string aFileName)
        {
            TFileType ret = TFileType.EFileNotSupported;

            //
            try
            {
                using (StreamReader reader = new StreamReader(aFileName))
                {
                    const int maxLines = 100;
                    //
                    bool foundHeader = false;
                    bool foundBody   = false;
                    //
                    int    lineCounter = 0;
                    string line        = reader.ReadLine();
                    while (line != null && !(foundHeader && foundBody) && lineCounter < maxLines)
                    {
                        if (line.StartsWith("ARM Linker, RVCT"))
                        {
                            foundHeader = true;
                        }
                        else if (line.Contains("Symbol Name") && line.Contains("Value") && line.Contains("Object") && line.Contains("Section"))
                        {
                            foundBody = true;
                        }

                        line = reader.ReadLine();
                        ++lineCounter;
                    }
                    //
                    if (foundBody && foundHeader)
                    {
                        ret = TFileType.EFileMap;
                    }
                }
            }
            catch (Exception)
            {
            }
            //
            return(ret);
        }
Пример #4
0
 public TCopyParams()
 {
     _has_header                    = TImportHeaderRow.AUTODETECT;
     isset.has_header               = true;
     _file_type                     = TFileType.DELIMITED;
     isset.file_type                = true;
     _geo_coords_encoding           = TEncodingType.GEOINT;
     isset.geo_coords_encoding      = true;
     _geo_coords_comp_param         = 32;
     isset.geo_coords_comp_param    = true;
     _geo_coords_type               = TDatumType.GEOMETRY;
     isset.geo_coords_type          = true;
     _geo_coords_srid               = 4326;
     isset.geo_coords_srid          = true;
     _sanitize_column_names         = true;
     isset.sanitize_column_names    = true;
     _geo_assign_render_groups      = true;
     isset.geo_assign_render_groups = true;
     _geo_explode_collections       = false;
     isset.geo_explode_collections  = true;
 }
Пример #5
0
        public static TFileType IsSupported(string aFileName)
        {
            TFileType ret = TFileType.EFileNotSupported;

            //
            try
            {
                string extension = Path.GetExtension(aFileName).ToLower();
                if (extension == ".symbol")
                {
                    bool sawSomeValidContent = false;
                    //
                    SymbolFileEngine tempEngine = new SymbolFileEngine(null, SymbolFileEngine.TActivationType.EOnDemand, true);
                    SymbolsForBinary symbols    = tempEngine.ReadFirstCollection(aFileName, out sawSomeValidContent);

                    // For a valid ROFS symbol file, the first symbol should have an address of zero.
                    bool valid = (symbols != null && symbols.Count > 0 && symbols[0].Address == 0);
                    if (valid)
                    {
                        ret = TFileType.EFileRofsSymbol;
                    }
                    else if (sawSomeValidContent)
                    {
                        // Probably just a file containing data files rather than code, but that's okay.
                        ret = TFileType.EFileRofsSymbol;
                    }
                }
                else if (extension == ".map")
                {
                    ret = MapFileEngineCollection.IsSupported(aFileName);
                }
            }
            catch (Exception)
            {
            }
            //
            return(ret);
        }
Пример #6
0
 private void readMembers(TFileType t)
 {
     string name = "";
     bool vStatic = false;
     bool vFinal = false;
     while (currentToken != null)
     {
         if (currentToken.token == ECodeToken.brBigBraceEnd)
         {
             break;
         }
         TMember mem = readMember();
         if (mem != null)
         {
             if (!mem.name.ToLower().StartsWith("webkit") && !mem.name.ToLower().StartsWith("onwebkit"))
             {
                 if (mem is TMethod)
                 {
                     var met = mem as TMethod;
                     for (var i = 0; i < met.parameters.Count; i++)
                     {
                         if (met.parameters[i].isOptional())
                         {
                             var newMem = new TMethod(t) { baseMethod = met.baseMethod, isPrivate = met.isPrivate, name = met.name, resultType = met.resultType };
                             for (var i2 = 0; i2 < i; i2++)
                             {
                                 newMem.parameters.Add(met.parameters[i2]);
                             }
                             t.members.addWithCheck(newMem);
                         }
                     }
                 }
                 t.members.addWithCheck(mem);
             }
         }
         getNextToken();
     }
 }
Пример #7
0
 private TFileType readInterfaceType()
 {
     TFileType t = new TFileType();
     currentInterfaceType = t;
     if (currentToken.nextTokenIs(ECodeToken.brSmallBraceBegin))
     {
         t.attributes = readAttributes();
     }
     else
     {
         getNextToken();
     }
     if (currentToken.token == ECodeToken.ltString)
     {
         t.name = readType().name;
         //t.checkAlias();
         if (currentToken.token == ECodeToken.syDoublePoint)
         {
             do
             {
                 getNextToken();
                 t.baseType.Add(readType());
             }
             while (currentToken.token == ECodeToken.syComma);
         }
         readMembers(t);
     }
     return t;
 }