cfatemporalseqpass.h
No OneTemporary

File Metadata

Created
Wed, Jul 8, 2:12 AM

cfatemporalseqpass.h

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* File: cfatemporalseqpass.h
* Author: pgess
*
* Created on February 4, 2019, 4:43 PM
*/
/**
* \file cfatemporalseqpass.h
* \brief Code blocks execution order analysis
*/
#ifndef CFATEMPORALSEQPASS_H
#define CFATEMPORALSEQPASS_H
#include "xreatemanager.h"
#include "abstractpass.h"
namespace xreate{namespace cfa {
class TemporalSeqGraph;
/** \brief Code blocks execution order analysis. The results are stored in the \ref xreate::cfa::TemporalSeqGraph graph */
class CFATemporalSeqPass: public AbstractPass<void>{
typedef AbstractPass<void> Parent;
public:
CFATemporalSeqPass(PassManager* manager);
void processFnCall(ManagedFnPtr functionCallee, PassContext context) override;
void processFnCallUncertain(const std::string& calleeName, const std::list<ManagedFnPtr>& candidates, PassContext context) override;
void process(const Expression& expression, PassContext context, const std::string& varDecl="") override;
void process(ManagedFnPtr function) override;
const TemporalSeqGraph* getReport() const {return __graph; }
void finish() override;
private:
TemporalSeqGraph* __graph;
};
}} //end of namespace xreate::cfa
#endif /* CFATEMPORALSEQPASS_H */

Event Timeline