1*89c4ff92SAndroid Build Coastguard Worker // 2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2020 Arm Ltd and Contributors. All rights reserved. 3*89c4ff92SAndroid Build Coastguard Worker // SPDX-License-Identifier: MIT 4*89c4ff92SAndroid Build Coastguard Worker // 5*89c4ff92SAndroid Build Coastguard Worker 6*89c4ff92SAndroid Build Coastguard Worker #include "Decoder.hpp" 7*89c4ff92SAndroid Build Coastguard Worker 8*89c4ff92SAndroid Build Coastguard Worker namespace asr 9*89c4ff92SAndroid Build Coastguard Worker { 10*89c4ff92SAndroid Build Coastguard Worker Decoder(std::map<int,std::string> & labels)11*89c4ff92SAndroid Build Coastguard WorkerDecoder::Decoder(std::map<int, std::string>& labels) : 12*89c4ff92SAndroid Build Coastguard Worker m_labels(labels) {} 13*89c4ff92SAndroid Build Coastguard Worker FilterCharacters(std::vector<char> & unfiltered)14*89c4ff92SAndroid Build Coastguard Workerstd::string Decoder::FilterCharacters(std::vector<char>& unfiltered) 15*89c4ff92SAndroid Build Coastguard Worker { 16*89c4ff92SAndroid Build Coastguard Worker std::string filtered; 17*89c4ff92SAndroid Build Coastguard Worker 18*89c4ff92SAndroid Build Coastguard Worker for (int i = 0; i < unfiltered.size(); ++i) 19*89c4ff92SAndroid Build Coastguard Worker { 20*89c4ff92SAndroid Build Coastguard Worker if (unfiltered.at(i) == '$') 21*89c4ff92SAndroid Build Coastguard Worker { 22*89c4ff92SAndroid Build Coastguard Worker continue; 23*89c4ff92SAndroid Build Coastguard Worker } 24*89c4ff92SAndroid Build Coastguard Worker else if (i + 1 < unfiltered.size() && unfiltered.at(i) == unfiltered.at(i + 1)) 25*89c4ff92SAndroid Build Coastguard Worker { 26*89c4ff92SAndroid Build Coastguard Worker continue; 27*89c4ff92SAndroid Build Coastguard Worker } 28*89c4ff92SAndroid Build Coastguard Worker else 29*89c4ff92SAndroid Build Coastguard Worker { 30*89c4ff92SAndroid Build Coastguard Worker filtered += unfiltered.at(i); 31*89c4ff92SAndroid Build Coastguard Worker } 32*89c4ff92SAndroid Build Coastguard Worker } 33*89c4ff92SAndroid Build Coastguard Worker return filtered; 34*89c4ff92SAndroid Build Coastguard Worker } 35*89c4ff92SAndroid Build Coastguard Worker } // namespace asr 36*89c4ff92SAndroid Build Coastguard Worker 37