WaSH Docs
Classes | Namespaces | Typedefs | Enumerations | Functions | Variables
common.hpp File Reference
#include "clang/Frontend/FrontendActions.h"
#include "clang/Frontend/TextDiagnosticPrinter.h"
#include "clang/Rewrite/Core/Rewriter.h"
#include "clang/Tooling/CommonOptionsParser.h"
#include "clang/Tooling/Refactoring.h"
#include "clang/Tooling/RefactoringCallbacks.h"
#include "clang/Tooling/Tooling.h"
#include "clang/ASTMatchers/ASTMatchFinder.h"
#include "clang/ASTMatchers/ASTMatchers.h"
#include "llvm/Support/CommandLine.h"
#include <any>
#include <fstream>
#include <iostream>
#include <string>
#include <unordered_set>
#include <variant>
#include <memory>
#include <cstdlib>
#include <vector>
#include <initializer_list>
#include <algorithm>
#include <filesystem>
#include <random>
#include <optional>

Go to the source code of this file.

Classes

struct  WashOptions
 Options about how the Wash analysis will behave. More...
 
struct  ImplementationFeatures
 
struct  ws2st::KernelDependencies
 Struct to hold two vectors of dependencies (appropriately named) More...
 
struct  ws2st::WashProgramMeta
 Meta information about the simulation which is defined globally and can be read/written to by the callback functions. More...
 

Namespaces

 ws2st
 

Typedefs

typedef void(* ws2st::WashCallbackFn) (const MatchFinder::MatchResult &, Replacements &)
 Defines the type of the callback function which takes a MatchResult containing AST information about the match and a mutable reference to the Replacements list which can be added to by the callback function. More...
 
typedef void(* ws2st::WashComputeFn) (const WashOptions &opts)
 

Enumerations

enum  Implementations {
  Implementations::wser, Implementations::wisb, Implementations::west, Implementations::cstone,
  Implementations::wone
}
 
enum  ws2st::ForceType { ws2st::ForceType::SCALAR, ws2st::ForceType::VECTOR }
 

Functions

std::optional< std::string > getSourceText (ASTContext *ctx, SourceRange srcRange)
 Get the text of a source code range or not if it's not there. More...
 

Variables

Implementations default_impl
 
std::unordered_map< Implementations, ImplementationFeaturesapi_impls
 
std::vector< std::string > UserFiles
 
std::vector< std::string > BackendFiles
 
std::vector< std::string > PublicHeaders
 
std::vector< std::string > AllFiles
 
std::vector< std::string > NoFiles
 
std::shared_ptr< WashProgramMeta > ws2st::program_meta = std::make_shared<WashProgramMeta>()
 

Enumeration Type Documentation

◆ Implementations

enum Implementations
strong
Enumerator
wser 
wisb 
west 
cstone 
wone 

Function Documentation

◆ getSourceText()

std::optional<std::string> getSourceText ( ASTContext *  ctx,
SourceRange  srcRange 
)

Get the text of a source code range or not if it's not there.

Parameters
ctx
srcRange
Returns
std::optional<std::string>

Get the text of a source code range or not if it's not there.

Variable Documentation

◆ AllFiles

std::vector<std::string> AllFiles

◆ api_impls

std::unordered_map<Implementations, ImplementationFeatures> api_impls

◆ BackendFiles

std::vector<std::string> BackendFiles

◆ default_impl

Implementations default_impl

◆ NoFiles

std::vector<std::string> NoFiles

◆ PublicHeaders

std::vector<std::string> PublicHeaders

◆ UserFiles

std::vector<std::string> UserFiles