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; }
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; }