Lines Matching defs:Interp

60   std::unique_ptr<Interpreter> Interp = createInterpreter();
64 PTU &R1(cantFail(Interp->Parse("void g(); void g() {}")));
67 PTU &R2(cantFail(Interp->Parse("int i;")));
76 std::unique_ptr<Interpreter> Interp = createInterpreter();
77 auto R1 = Interp->Parse("int var1 = 42; int f() { return var1; }");
85 auto R2 = Interp->Parse("int var2 = f();");
101 auto Interp = createInterpreter(ExtraArgs, DiagPrinter.get());
102 auto Err = Interp->Parse("intentional_error v1 = 42; ").takeError();
108 auto RecoverErr = Interp->Parse("int var1 = 42;");
125 auto Interp = createInterpreter(ExtraArgs, DiagPrinter.get());
126 auto R1 = Interp->Parse(
134 auto R2 = Interp->Parse("var1++; printf(\"var1 value %d\\n\", var1);");
147 auto Interp = createInterpreter(ExtraArgs, DiagPrinter.get());
150 auto Err1 = Interp->Undo();
153 auto Err2 = Interp->Parse("int foo = 42;");
155 auto Err3 = Interp->Undo(2);
160 auto Err4 = Interp->Parse("int x = 42;");
162 auto Err5 = Interp->Undo();
164 auto Err6 = Interp->Parse("int x = 24;");
166 auto Err7 = Interp->Parse("#define X 42");
168 auto Err8 = Interp->Undo();
170 auto Err9 = Interp->Parse("#define X 24");
174 auto Err10 = Interp->Parse("int y = ;");
177 auto Err11 = Interp->Parse("int y = 42;");
179 auto Err12 = Interp->Undo();
193 std::unique_ptr<Interpreter> Interp = createInterpreter();
195 auto &PTU(cantFail(Interp->Parse("int f(const char*) {return 0;}")));
201 if (llvm::Error Err = Interp->Execute(PTU)) {
208 auto Addr = Interp->getSymbolAddress(MangledName);
212 EXPECT_EQ(*Addr, cantFail(Interp->getSymbolAddress(GD)));
214 Interp->ParseAndExecute("extern \"C\" int printf(const char*,...);"));
215 Addr = Interp->getSymbolAddress("printf");
224 static Value AllocateObject(TypeDecl *TD, Interpreter &Interp) {
229 // cantFail(Interp.ParseAndExecute("new " + Name + "()", &Addr));
232 cantFail(Interp.ParseAndExecute(Name + "()", &Addr));
236 static NamedDecl *LookupSingleName(Interpreter &Interp, const char *Name) {
237 Sema &SemaRef = Interp.getCompilerInstance()->getSema();
251 std::unique_ptr<Interpreter> Interp = createInterpreter(Args);
253 llvm::cantFail(Interp->Parse("extern \"C\" int printf(const char*,...);"
259 auto &PTU = llvm::cantFail(Interp->Parse("auto _t = &B::callme<A*>;"));
264 if (llvm::Error Err = Interp->Execute(PTU)) {
270 TypeDecl *TD = cast<TypeDecl>(LookupSingleName(*Interp, "A"));
271 Value NewA = AllocateObject(TD, *Interp);
281 cantFail(Interp->getSymbolAddress(MangledName)).toPtr<TemplateSpecFn>();
287 std::unique_ptr<Interpreter> Interp = createInterpreter(Args);
290 llvm::cantFail(Interp->ParseAndExecute("int x = 42;"));
291 llvm::cantFail(Interp->ParseAndExecute("x", &V1));
301 llvm::cantFail(Interp->ParseAndExecute("char c = 42;"));
302 llvm::cantFail(Interp->ParseAndExecute("c", &V1b));
307 llvm::cantFail(Interp->ParseAndExecute("double y = 3.14;"));
308 llvm::cantFail(Interp->ParseAndExecute("y", &V2));
318 llvm::cantFail(Interp->ParseAndExecute(
320 llvm::cantFail(Interp->ParseAndExecute("S{}", &V3));
328 llvm::cantFail(Interp->ParseAndExecute("int getGlobal();"));
329 llvm::cantFail(Interp->ParseAndExecute("void setGlobal(int);"));
330 llvm::cantFail(Interp->ParseAndExecute("getGlobal()", &V4));
337 llvm::cantFail(Interp->ParseAndExecute("getGlobal()", &V5));
342 llvm::cantFail(Interp->ParseAndExecute("setGlobal(44);"));
346 llvm::cantFail(Interp->ParseAndExecute("void foo() {}"));
347 llvm::cantFail(Interp->ParseAndExecute("foo()", &V6));
355 llvm::cantFail(Interp->ParseAndExecute("foo", &V7));
363 llvm::cantFail(Interp->ParseAndExecute("struct SS{ void f() {} };"));
364 llvm::cantFail(Interp->ParseAndExecute("&SS::f", &V8));
372 llvm::cantFail(Interp->ParseAndExecute("struct A { virtual int f(); };"));
374 Interp->ParseAndExecute("struct B : A { int f() { return 42; }};"));
375 llvm::cantFail(Interp->ParseAndExecute("int (B::*ptr)() = &B::f;"));
376 llvm::cantFail(Interp->ParseAndExecute("ptr", &V9));
386 std::unique_ptr<Interpreter> Interp = createInterpreter(Args);
388 Sema &sema = Interp->getCompilerInstance()->getSema();
390 llvm::cantFail(Interp->ParseAndExecute("int x = 42;"));
395 llvm::cantFail(Interp->ParseAndExecute("long y = 84;"));
400 llvm::cantFail(Interp->ParseAndExecute("char z = 'z';"));