class ByteCodeStmtGen

Declaration

template <class Emitter>
class ByteCodeStmtGen { /* full declaration omitted */ };

Description

Compilation context for statements.

Declared at: clang/lib/AST/Interp/ByteCodeStmtGen.h:36

Templates

Emitter

Member Variables

private llvm::Optional<PrimType> ReturnType
Type of the expression returned by the function.
private clang::interp::ByteCodeStmtGen::CaseMap CaseLabels
Switch case mapping.
private clang::interp::ByteCodeStmtGen::OptLabelTy BreakLabel
Point to break to.
private clang::interp::ByteCodeStmtGen::OptLabelTy ContinueLabel
Point to continue to.
private clang::interp::ByteCodeStmtGen::OptLabelTy DefaultLabel
Default case label.

Method Overview

Methods

template <typename... Tys>
ByteCodeStmtGen<Emitter>(Tys&&... Args)

Declared at: clang/lib/AST/Interp/ByteCodeStmtGen.h:44

Templates

Tys

Parameters

Tys&&... Args

bool visitCompoundStmt(
    const clang::CompoundStmt* S)

Declared at: clang/lib/AST/Interp/ByteCodeStmtGen.h:57

Parameters

const clang::CompoundStmt* S

bool visitDeclStmt(const clang::DeclStmt* DS)

Declared at: clang/lib/AST/Interp/ByteCodeStmtGen.h:58

Parameters

const clang::DeclStmt* DS

bool visitFunc(const clang::FunctionDecl* F)

Declared at: clang/lib/AST/Interp/ByteCodeStmtGen.h:48

Parameters

const clang::FunctionDecl* F

bool visitIfStmt(const clang::IfStmt* IS)

Declared at: clang/lib/AST/Interp/ByteCodeStmtGen.h:60

Parameters

const clang::IfStmt* IS

bool visitReturnStmt(const clang::ReturnStmt* RS)

Declared at: clang/lib/AST/Interp/ByteCodeStmtGen.h:59

Parameters

const clang::ReturnStmt* RS

bool visitStmt(const clang::Stmt* S)

Declared at: clang/lib/AST/Interp/ByteCodeStmtGen.h:56

Parameters

const clang::Stmt* S

bool visitVarDecl(const clang::VarDecl* VD)

Description

Compiles a variable declaration.

Declared at: clang/lib/AST/Interp/ByteCodeStmtGen.h:63

Parameters

const clang::VarDecl* VD