Lines Matching full:virtual

61 // FIXME: Several methods should be pure virtual but aren't to avoid the
118 virtual ~CGObjCRuntime();
125 virtual llvm::Function *ModuleInitFunction() = 0;
129 virtual llvm::Value *GetSelector(CodeGenFunction &CGF, Selector Sel) = 0;
136 virtual Address GetAddrOfSelector(CodeGenFunction &CGF, Selector Sel) = 0;
139 virtual llvm::Value *GetSelector(CodeGenFunction &CGF,
146 virtual llvm::Constant *GetEHType(QualType T) = 0;
148 virtual CatchTypeInfo getCatchAllTypeInfo() { return { nullptr, 0 }; } in getCatchAllTypeInfo()
151 virtual ConstantAddress GenerateConstantString(const StringLiteral *) = 0;
155 virtual void GenerateCategory(const ObjCCategoryImplDecl *OCD) = 0;
158 virtual void GenerateClass(const ObjCImplementationDecl *OID) = 0;
161 virtual void RegisterAlias(const ObjCCompatibleAliasDecl *OAD) = 0;
167 virtual CodeGen::RValue
198 virtual CodeGen::RValue
222 virtual llvm::Value *GenerateProtocolRef(CodeGenFunction &CGF,
227 virtual void GenerateProtocol(const ObjCProtocolDecl *OPD) = 0;
232 virtual llvm::Constant *GetOrEmitProtocol(const ObjCProtocolDecl *PD) = 0;
240 virtual llvm::Function *GenerateMethod(const ObjCMethodDecl *OMD,
244 virtual void GenerateDirectMethodPrologue(CodeGenFunction &CGF,
250 virtual llvm::FunctionCallee GetPropertyGetFunction() = 0;
253 virtual llvm::FunctionCallee GetPropertySetFunction() = 0;
256 virtual llvm::FunctionCallee GetOptimizedPropertySetFunction(bool atomic,
260 virtual llvm::FunctionCallee GetGetStructFunction() = 0;
262 virtual llvm::FunctionCallee GetSetStructFunction() = 0;
265 virtual llvm::FunctionCallee GetCppAtomicObjectSetFunction() = 0;
268 virtual llvm::FunctionCallee GetCppAtomicObjectGetFunction() = 0;
272 virtual llvm::Value *GetClass(CodeGenFunction &CGF,
276 virtual llvm::Value *EmitNSAutoreleasePoolClassRef(CodeGenFunction &CGF) { in EmitNSAutoreleasePoolClassRef()
282 virtual llvm::FunctionCallee EnumerationMutationFunction() = 0;
284 virtual void EmitSynchronizedStmt(CodeGen::CodeGenFunction &CGF,
286 virtual void EmitTryStmt(CodeGen::CodeGenFunction &CGF,
288 virtual void EmitThrowStmt(CodeGen::CodeGenFunction &CGF,
291 virtual llvm::Value *EmitObjCWeakRead(CodeGen::CodeGenFunction &CGF,
293 virtual void EmitObjCWeakAssign(CodeGen::CodeGenFunction &CGF,
295 virtual void EmitObjCGlobalAssign(CodeGen::CodeGenFunction &CGF,
298 virtual void EmitObjCIvarAssign(CodeGen::CodeGenFunction &CGF,
301 virtual void EmitObjCStrongCastAssign(CodeGen::CodeGenFunction &CGF,
304 virtual LValue EmitObjCValueForIvar(CodeGen::CodeGenFunction &CGF,
309 virtual llvm::Value *EmitIvarOffset(CodeGen::CodeGenFunction &CGF,
312 virtual void EmitGCMemmoveCollectable(CodeGen::CodeGenFunction &CGF,
316 virtual llvm::Constant *BuildGCBlockLayout(CodeGen::CodeGenModule &CGM,
318 virtual llvm::Constant *BuildRCBlockLayout(CodeGen::CodeGenModule &CGM,
320 virtual std::string getRCBlockLayoutStr(CodeGen::CodeGenModule &CGM, in getRCBlockLayoutStr()
326 virtual llvm::Constant *BuildByrefLayout(CodeGen::CodeGenModule &CGM,