| 1827 | } |
| 1828 | |
| 1829 | void Module_BuiltIn::addRuntime(ModuleLibrary & lib) { |
| 1830 | // printer flags |
| 1831 | addAlias(makePrintFlags()); |
| 1832 | // unescape macro |
| 1833 | addReaderMacro(new UnescapedStringMacro()); |
| 1834 | // function annotations |
| 1835 | addAnnotation(new CommentAnnotation()); |
| 1836 | addAnnotation(new NoDefaultCtorAnnotation()); |
| 1837 | addAnnotation(new MacroInterfaceAnnotation()); |
| 1838 | addAnnotation(new MarkFunctionOrBlockAnnotation()); |
| 1839 | addAnnotation(new CppAlignmentAnnotation()); |
| 1840 | addAnnotation(new SafeWhenUninitializedAnnotation()); |
| 1841 | addAnnotation(new GenericFunctionAnnotation()); |
| 1842 | addAnnotation(new MacroFunctionAnnotation()); |
| 1843 | addAnnotation(new MacroFnFunctionAnnotation()); |
| 1844 | addAnnotation(new CloneFunctionAnnotation()); |
| 1845 | addAnnotation(new HintFunctionAnnotation()); |
| 1846 | addAnnotation(new RequestJitFunctionAnnotation()); |
| 1847 | addAnnotation(new RequestNoJitFunctionAnnotation()); |
| 1848 | addAnnotation(new RequestNoDiscardFunctionAnnotation()); |
| 1849 | addAnnotation(new DeprecatedFunctionAnnotation()); |
| 1850 | addAnnotation(new AliasCMRESFunctionAnnotation()); |
| 1851 | addAnnotation(new NeverAliasCMRESFunctionAnnotation()); |
| 1852 | addAnnotation(new ExportFunctionAnnotation()); |
| 1853 | addAnnotation(new PInvokeFunctionAnnotation()); |
| 1854 | addAnnotation(new NoLintFunctionAnnotation()); |
| 1855 | addAnnotation(new SideEffectsFunctionAnnotation()); |
| 1856 | addAnnotation(new RunAtCompileTimeFunctionAnnotation()); |
| 1857 | addAnnotation(new UnsafeOpFunctionAnnotation()); |
| 1858 | addAnnotation(new UnsafeOutsideOfForFunctionAnnotation()); |
| 1859 | addAnnotation(new UnsafeWhenNotCloneArray()); |
| 1860 | addAnnotation(new NoAotFunctionAnnotation()); |
| 1861 | addAnnotation(new InitFunctionAnnotation()); |
| 1862 | addAnnotation(new FinalizeFunctionAnnotation()); |
| 1863 | addAnnotation(new HybridFunctionAnnotation()); |
| 1864 | addAnnotation(new UnsafeDerefFunctionAnnotation()); |
| 1865 | addAnnotation(new MarkUsedFunctionAnnotation()); |
| 1866 | addAnnotation(new LocalOnlyFunctionAnnotation()); |
| 1867 | addAnnotation(new PersistentStructureAnnotation()); |
| 1868 | addAnnotation(new IsYetAnotherVectorTemplateAnnotation()); |
| 1869 | addAnnotation(new IsDimAnnotation()); |
| 1870 | addAnnotation(new IsRefTypeAnnotation()); |
| 1871 | addAnnotation(new HashBuilderAnnotation(lib)); |
| 1872 | addAnnotation(new TypeFunctionFunctionAnnotation()); |
| 1873 | // and call macro |
| 1874 | { |
| 1875 | auto newM = new MakeFunctionUnsafeCallMacro(); |
| 1876 | ownedCallMacros.push_back(unique_ptr<CallMacro>(newM)); |
| 1877 | addCallMacro(newM->name, [this, newM](const LineInfo & at) -> ExprLooksLikeCall * { |
| 1878 | auto ecm = new ExprCallMacro(at, newM->name); |
| 1879 | ecm->macro = newM; |
| 1880 | newM->module = this; |
| 1881 | return ecm; |
| 1882 | }); |
| 1883 | } |
| 1884 | // string |
| 1885 | addAnnotation(new DasStringTypeAnnotation()); |
| 1886 | // typeinfo macros |
nothing calls this directly
no test coverage detected