Lines Matching refs:TheCall
54 bool SemaWasm::BuiltinWasmRefNullExtern(CallExpr *TheCall) { in BuiltinWasmRefNullExtern() argument
55 if (TheCall->getNumArgs() != 0) in BuiltinWasmRefNullExtern()
58 TheCall->setType(getASTContext().getWebAssemblyExternrefType()); in BuiltinWasmRefNullExtern()
63 bool SemaWasm::BuiltinWasmRefNullFunc(CallExpr *TheCall) { in BuiltinWasmRefNullFunc() argument
65 if (TheCall->getNumArgs() != 0) { in BuiltinWasmRefNullFunc()
66 Diag(TheCall->getBeginLoc(), diag::err_typecheck_call_too_many_args) in BuiltinWasmRefNullFunc()
67 << 0 /*function call*/ << /*expected*/ 0 << TheCall->getNumArgs() in BuiltinWasmRefNullFunc()
79 TheCall->setType(Type); in BuiltinWasmRefNullFunc()
86 bool SemaWasm::BuiltinWasmTableGet(CallExpr *TheCall) { in BuiltinWasmTableGet() argument
87 if (SemaRef.checkArgCount(TheCall, 2)) in BuiltinWasmTableGet()
91 if (CheckWasmBuiltinArgIsTable(SemaRef, TheCall, 0, ElTy)) in BuiltinWasmTableGet()
94 if (CheckWasmBuiltinArgIsInteger(SemaRef, TheCall, 1)) in BuiltinWasmTableGet()
101 TheCall->setType(ElTy); in BuiltinWasmTableGet()
109 bool SemaWasm::BuiltinWasmTableSet(CallExpr *TheCall) { in BuiltinWasmTableSet() argument
110 if (SemaRef.checkArgCount(TheCall, 3)) in BuiltinWasmTableSet()
114 if (CheckWasmBuiltinArgIsTable(SemaRef, TheCall, 0, ElTy)) in BuiltinWasmTableSet()
117 if (CheckWasmBuiltinArgIsInteger(SemaRef, TheCall, 1)) in BuiltinWasmTableSet()
120 if (!getASTContext().hasSameType(ElTy, TheCall->getArg(2)->getType())) in BuiltinWasmTableSet()
127 bool SemaWasm::BuiltinWasmTableSize(CallExpr *TheCall) { in BuiltinWasmTableSize() argument
128 if (SemaRef.checkArgCount(TheCall, 1)) in BuiltinWasmTableSize()
132 if (CheckWasmBuiltinArgIsTable(SemaRef, TheCall, 0, ElTy)) in BuiltinWasmTableSize()
141 bool SemaWasm::BuiltinWasmTableGrow(CallExpr *TheCall) { in BuiltinWasmTableGrow() argument
142 if (SemaRef.checkArgCount(TheCall, 3)) in BuiltinWasmTableGrow()
146 if (CheckWasmBuiltinArgIsTable(SemaRef, TheCall, 0, ElTy)) in BuiltinWasmTableGrow()
149 Expr *NewElemArg = TheCall->getArg(1); in BuiltinWasmTableGrow()
156 if (CheckWasmBuiltinArgIsInteger(SemaRef, TheCall, 2)) in BuiltinWasmTableGrow()
165 bool SemaWasm::BuiltinWasmTableFill(CallExpr *TheCall) { in BuiltinWasmTableFill() argument
166 if (SemaRef.checkArgCount(TheCall, 4)) in BuiltinWasmTableFill()
170 if (CheckWasmBuiltinArgIsTable(SemaRef, TheCall, 0, ElTy)) in BuiltinWasmTableFill()
173 if (CheckWasmBuiltinArgIsInteger(SemaRef, TheCall, 1)) in BuiltinWasmTableFill()
176 Expr *NewElemArg = TheCall->getArg(2); in BuiltinWasmTableFill()
183 if (CheckWasmBuiltinArgIsInteger(SemaRef, TheCall, 3)) in BuiltinWasmTableFill()
192 bool SemaWasm::BuiltinWasmTableCopy(CallExpr *TheCall) { in BuiltinWasmTableCopy() argument
193 if (SemaRef.checkArgCount(TheCall, 5)) in BuiltinWasmTableCopy()
197 if (CheckWasmBuiltinArgIsTable(SemaRef, TheCall, 0, XElTy)) in BuiltinWasmTableCopy()
201 if (CheckWasmBuiltinArgIsTable(SemaRef, TheCall, 1, YElTy)) in BuiltinWasmTableCopy()
204 Expr *TableYArg = TheCall->getArg(1); in BuiltinWasmTableCopy()
212 if (CheckWasmBuiltinArgIsInteger(SemaRef, TheCall, I)) in BuiltinWasmTableCopy()
221 CallExpr *TheCall) { in CheckWebAssemblyBuiltinFunctionCall() argument
224 return BuiltinWasmRefNullExtern(TheCall); in CheckWebAssemblyBuiltinFunctionCall()
226 return BuiltinWasmRefNullFunc(TheCall); in CheckWebAssemblyBuiltinFunctionCall()
228 return BuiltinWasmTableGet(TheCall); in CheckWebAssemblyBuiltinFunctionCall()
230 return BuiltinWasmTableSet(TheCall); in CheckWebAssemblyBuiltinFunctionCall()
232 return BuiltinWasmTableSize(TheCall); in CheckWebAssemblyBuiltinFunctionCall()
234 return BuiltinWasmTableGrow(TheCall); in CheckWebAssemblyBuiltinFunctionCall()
236 return BuiltinWasmTableFill(TheCall); in CheckWebAssemblyBuiltinFunctionCall()
238 return BuiltinWasmTableCopy(TheCall); in CheckWebAssemblyBuiltinFunctionCall()