コード例 #1
0
 public identifiersMassiveElement[] get_function_identifiers_massive(identifiersMassiveElement[] globalIdentifiers)
 {
     identifiersMassiveElement[] identifiersMassive = new identifiersMassiveElement[0];
     int identifierMassiveIndex = 0;
     int massiveLength = 0;
     string findedIdentifier = string.Empty;
     identifierVisibilityENUM identifierVisibility = identifierVisibilityENUM.local;
     while (condition_to_continue_watch_function())
         if (findedIdentifierBOOL(ref findedIdentifier,ref identifierVisibility))
         {
             if(identifierVisibility == identifierVisibilityENUM.local)
             {
                 identifierMassiveIndex = get_identifier_massive_index(identifiersMassive, findedIdentifier);
                 if (identifierMassiveIndex != -1)
                     identifiersMassive[identifierMassiveIndex].amount++;
                 else
                 {
                     massiveLength++;
                     Array.Resize<identifiersMassiveElement>(ref identifiersMassive, massiveLength);
                     identifiersMassive[massiveLength - 1].identifier = findedIdentifier;
                     identifiersMassive[massiveLength - 1].amount = 1;
                 }
             }
             else
             {
                 identifierMassiveIndex = get_identifier_massive_index(globalIdentifiers, findedIdentifier);
                 globalIdentifiers[identifierMassiveIndex].amount++;
                 if(identifierVisibility == identifierVisibilityENUM.global)
                     work_with_global(findedIdentifier,ref globalIdentifiers[identifierMassiveIndex].amount);
             }
         }
     for (int index = 0; index < massiveLength; identifiersMassive[index].amount--, index++) ;
     return identifiersMassive;
 }
コード例 #2
0
 private int get_identifier_massive_index(identifiersMassiveElement[] identifiersMassive, string identifier)
 {
     int index;
     int massiveLen = identifiersMassive.Length;
     bool finded = false;
     for (index = 0; (index < massiveLen) && (!finded); index++)
     {
         if (identifiersMassive[index].identifier == identifier)
             finded = true;
     }
     if (finded)
         return index - 1;
     else
         return -1;
 }