findlocaldata #20

Merged
Alexander_KS merged 2 commits from CP into master 2023-12-22 07:50:31 +00:00
Owner
No description provided.
Alexander_KS added 1 commit 2023-12-20 14:38:15 +00:00
Alexander_KS reviewed 2023-12-20 14:46:30 +00:00
Alexander_KS left a comment
Author
Owner
@AntonMilienkov
@@ -832,7 +851,7 @@ void createCheckpoints(SgFile* file, const map<string, CommonBlock*>& commonBloc
vector<SgExpression*> local;
map<string, SgStatement*> localParams;
set<string> addedToList;
findLocalData(func->lexNext(), firstExec, local, localParams, addedToList);
Author
Owner

и тут

и тут
Contributor

была немного изменена сигнатура функции и теперь она принимает не первый statement из объявления, а функцию (или название модуля). это нужно для того чтобы получить название функции и после - структуру FuncInfo

была немного изменена сигнатура функции и теперь она принимает не первый statement из объявления, а функцию (или название модуля). это нужно для того чтобы получить название функции и после - структуру FuncInfo
@@ -740,7 +759,7 @@ static void processModules(SgFile* file)
vector<SgExpression*> local;
map<string, SgStatement*> localParams;
set<string> addedToList;
findLocalData(mod->lexNext(), hasContains ? st : mod->lastNodeOfStmt(), local, localParams, addedToList);
Author
Owner

а зачем тут удаляется lexNext ?

а зачем тут удаляется lexNext ?
@@ -3,6 +3,7 @@
#include <vector>
#include <string>
#include <set>
#include <iostream>
Author
Owner

этот заголовок для отладки использовлася?

этот заголовок для отладки использовлася?
Contributor

да, впредь буду удалять

да, впредь буду удалять
@@ -39,3 +40,3 @@
static void findDecls(SgExpression* ex, vector<SgExpression*>& local, const map<string, SgStatement*>& localParams,
set<string>& added)
set<string>& added, std::set<std::string>& IntentInadded)
Author
Owner

std:: лишнее, так как сверху есть using namespace std;

std:: лишнее, так как сверху есть using namespace std;
Contributor

ок

ок
@@ -76,0 +90,4 @@
{
SgStatement* start = func->lexNext();
FuncInfo* funcI = findFileInfoByName(func, allFuncInfo);
Author
Owner

зачем искать эту функцию заново, если она уже ищется до вызова ? ее нужно передать просто, и не передавать вектор

зачем искать эту функцию заново, если она уже ищется до вызова ? ее нужно передать просто, и не передавать вектор
Contributor

не понял про "заново", кажется, что не ищется. Эта функция взята из функции processFunctionCallChain (написанной студенткой) и этот код (если его раскомментить) выполняется позже. До вывзова findlocatedata ищется тоьлко название функции, в которой есть create checkpoint.
Так как подобный код есть в processFunctionCallChain, я решил выделить его в отдельную функцию

не понял про "заново", кажется, что не ищется. Эта функция взята из функции processFunctionCallChain (написанной студенткой) и этот код (если его раскомментить) выполняется позже. До вывзова findlocatedata ищется тоьлко название функции, в которой есть create checkpoint. Так как подобный код есть в processFunctionCallChain, я решил выделить его в отдельную функцию
@@ -76,0 +93,4 @@
FuncInfo* funcI = findFileInfoByName(func, allFuncInfo);
std::set<std::string> IntentInadded;
for (int i = 0; i < funcI->funcParams.countOfPars; ++i)
if (funcI->funcParams.isArgIn(i) && !funcI->funcParams.isArgOut(i))
Author
Owner

есть еще isArgInOut, надо просто посмотреть доступные функции

есть еще isArgInOut, надо просто посмотреть доступные функции
Contributor

isArgInOut реализован следующим образом:
bool isArgInOut(const int num) const
{
if (num >= countOfPars)
return false;
else
return isArgIn(num) && isArgOut(num);
}

Поэтому, если переменная не out, то она и не inout

isArgInOut реализован следующим образом: bool isArgInOut(const int num) const { if (num >= countOfPars) return false; else return isArgIn(num) && isArgOut(num); } Поэтому, если переменная не out, то она и не inout
Author
Owner

@AntonMilienkov получается, что тут надо поправить std:: , удалить лишний инклуд и я бы еще переименовал IntentInadded -> IntentInParams

@AntonMilienkov получается, что тут надо поправить std:: , удалить лишний инклуд и я бы еще переименовал IntentInadded -> IntentInParams
AntonMilienkov added 1 commit 2023-12-22 07:08:58 +00:00
Alexander_KS merged commit 752e9206db into master 2023-12-22 07:50:31 +00:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Alexander_KS/SAPFOR#20