clang 22.0.0git
clang::SemaWasm Class Reference

#include "clang/Sema/SemaWasm.h"

Inheritance diagram for clang::SemaWasm:
[legend]

Public Member Functions

 SemaWasm (Sema &S)
bool CheckWebAssemblyBuiltinFunctionCall (const TargetInfo &TI, unsigned BuiltinID, CallExpr *TheCall)
bool BuiltinWasmRefNullExtern (CallExpr *TheCall)
bool BuiltinWasmRefIsNullExtern (CallExpr *TheCall)
bool BuiltinWasmRefNullFunc (CallExpr *TheCall)
bool BuiltinWasmTableGet (CallExpr *TheCall)
 Check that the first argument is a WebAssembly table, and the second is an index to use as index into the table.
bool BuiltinWasmTableSet (CallExpr *TheCall)
 Check that the first argumnet is a WebAssembly table, the second is an index to use as index into the table and the third is the reference type to set into the table.
bool BuiltinWasmTableSize (CallExpr *TheCall)
 Check that the argument is a WebAssembly table.
bool BuiltinWasmTableGrow (CallExpr *TheCall)
 Check that the first argument is a WebAssembly table, the second is the value to use for new elements (of a type matching the table type), the third value is an integer.
bool BuiltinWasmTableFill (CallExpr *TheCall)
 Check that the first argument is a WebAssembly table, the second is an integer, the third is the value to use to fill the table (of a type matching the table type), and the fourth is an integer.
bool BuiltinWasmTableCopy (CallExpr *TheCall)
 Check that the first argument is a WebAssembly table, the second is also a WebAssembly table (of the same element type), and the third to fifth arguments are integers.
bool BuiltinWasmTestFunctionPointerSignature (const TargetInfo &TI, CallExpr *TheCall)
WebAssemblyImportNameAttr * mergeImportNameAttr (Decl *D, const WebAssemblyImportNameAttr &AL)
WebAssemblyImportModuleAttr * mergeImportModuleAttr (Decl *D, const WebAssemblyImportModuleAttr &AL)
void handleWebAssemblyExportNameAttr (Decl *D, const ParsedAttr &AL)
void handleWebAssemblyImportModuleAttr (Decl *D, const ParsedAttr &AL)
void handleWebAssemblyImportNameAttr (Decl *D, const ParsedAttr &AL)
Public Member Functions inherited from clang::SemaBase
 SemaBase (Sema &S)
ASTContextgetASTContext () const
DiagnosticsEnginegetDiagnostics () const
const LangOptionsgetLangOpts () const
DeclContextgetCurContext () const
SemaDiagnosticBuilder Diag (SourceLocation Loc, unsigned DiagID, bool DeferHint=false)
 Emit a diagnostic.
SemaDiagnosticBuilder Diag (SourceLocation Loc, const PartialDiagnostic &PD, bool DeferHint=false)
 Emit a partial diagnostic.
SemaDiagnosticBuilder DiagCompat (SourceLocation Loc, unsigned CompatDiagId, bool DeferHint=false)
 Emit a compatibility diagnostic.
PartialDiagnostic PDiag (unsigned DiagID=0)
 Build a partial diagnostic.

Additional Inherited Members

Public Attributes inherited from clang::SemaBase
SemaSemaRef

Detailed Description

Definition at line 23 of file SemaWasm.h.

Constructor & Destructor Documentation

◆ SemaWasm()

clang::SemaWasm::SemaWasm ( Sema & S)

Definition at line 26 of file SemaWasm.cpp.

References clang::SemaBase::SemaBase().

Member Function Documentation

◆ BuiltinWasmRefIsNullExtern()

◆ BuiltinWasmRefNullExtern()

bool clang::SemaWasm::BuiltinWasmRefNullExtern ( CallExpr * TheCall)

◆ BuiltinWasmRefNullFunc()

bool clang::SemaWasm::BuiltinWasmRefNullFunc ( CallExpr * TheCall)

◆ BuiltinWasmTableCopy()

bool clang::SemaWasm::BuiltinWasmTableCopy ( CallExpr * TheCall)

Check that the first argument is a WebAssembly table, the second is also a WebAssembly table (of the same element type), and the third to fifth arguments are integers.

Definition at line 204 of file SemaWasm.cpp.

References clang::CheckWasmBuiltinArgIsInteger(), clang::CheckWasmBuiltinArgIsTable(), clang::SemaBase::Diag(), clang::CallExpr::getArg(), clang::SemaBase::getASTContext(), clang::Stmt::getBeginLoc(), clang::Stmt::getSourceRange(), and clang::SemaBase::SemaRef.

Referenced by CheckWebAssemblyBuiltinFunctionCall().

◆ BuiltinWasmTableFill()

bool clang::SemaWasm::BuiltinWasmTableFill ( CallExpr * TheCall)

Check that the first argument is a WebAssembly table, the second is an integer, the third is the value to use to fill the table (of a type matching the table type), and the fourth is an integer.

Definition at line 177 of file SemaWasm.cpp.

References clang::CheckWasmBuiltinArgIsInteger(), clang::CheckWasmBuiltinArgIsTable(), clang::SemaBase::Diag(), clang::CallExpr::getArg(), clang::SemaBase::getASTContext(), clang::Stmt::getBeginLoc(), clang::Stmt::getSourceRange(), clang::Expr::getType(), and clang::SemaBase::SemaRef.

Referenced by CheckWebAssemblyBuiltinFunctionCall().

◆ BuiltinWasmTableGet()

bool clang::SemaWasm::BuiltinWasmTableGet ( CallExpr * TheCall)

Check that the first argument is a WebAssembly table, and the second is an index to use as index into the table.

Definition at line 98 of file SemaWasm.cpp.

References clang::CheckWasmBuiltinArgIsInteger(), clang::CheckWasmBuiltinArgIsTable(), clang::SemaBase::SemaRef, and clang::Expr::setType().

Referenced by CheckWebAssemblyBuiltinFunctionCall().

◆ BuiltinWasmTableGrow()

bool clang::SemaWasm::BuiltinWasmTableGrow ( CallExpr * TheCall)

Check that the first argument is a WebAssembly table, the second is the value to use for new elements (of a type matching the table type), the third value is an integer.

Definition at line 153 of file SemaWasm.cpp.

References clang::CheckWasmBuiltinArgIsInteger(), clang::CheckWasmBuiltinArgIsTable(), clang::SemaBase::Diag(), clang::CallExpr::getArg(), clang::SemaBase::getASTContext(), clang::Stmt::getBeginLoc(), clang::Stmt::getSourceRange(), clang::Expr::getType(), and clang::SemaBase::SemaRef.

Referenced by CheckWebAssemblyBuiltinFunctionCall().

◆ BuiltinWasmTableSet()

bool clang::SemaWasm::BuiltinWasmTableSet ( CallExpr * TheCall)

Check that the first argumnet is a WebAssembly table, the second is an index to use as index into the table and the third is the reference type to set into the table.

Definition at line 121 of file SemaWasm.cpp.

References clang::CheckWasmBuiltinArgIsInteger(), clang::CheckWasmBuiltinArgIsTable(), clang::CallExpr::getArg(), clang::SemaBase::getASTContext(), clang::Expr::getType(), and clang::SemaBase::SemaRef.

Referenced by CheckWebAssemblyBuiltinFunctionCall().

◆ BuiltinWasmTableSize()

bool clang::SemaWasm::BuiltinWasmTableSize ( CallExpr * TheCall)

Check that the argument is a WebAssembly table.

Definition at line 139 of file SemaWasm.cpp.

References clang::CheckWasmBuiltinArgIsTable(), and clang::SemaBase::SemaRef.

Referenced by CheckWebAssemblyBuiltinFunctionCall().

◆ BuiltinWasmTestFunctionPointerSignature()

◆ CheckWebAssemblyBuiltinFunctionCall()

◆ handleWebAssemblyExportNameAttr()

◆ handleWebAssemblyImportModuleAttr()

void clang::SemaWasm::handleWebAssemblyImportModuleAttr ( Decl * D,
const ParsedAttr & AL )

◆ handleWebAssemblyImportNameAttr()

void clang::SemaWasm::handleWebAssemblyImportNameAttr ( Decl * D,
const ParsedAttr & AL )

◆ mergeImportModuleAttr()

WebAssemblyImportModuleAttr * clang::SemaWasm::mergeImportModuleAttr ( Decl * D,
const WebAssemblyImportModuleAttr & AL )

◆ mergeImportNameAttr()

WebAssemblyImportNameAttr * clang::SemaWasm::mergeImportNameAttr ( Decl * D,
const WebAssemblyImportNameAttr & AL )

The documentation for this class was generated from the following files: