コード例 #1
0
        public void Basic()
        {
            var contents =
                "framework module TestFrame {\n"
                + "  umbrella header \"TestFrame.h\"\n"
                + "\n"
                + "  export *\n"
                + "  module * { export * }\n"
                + "}\n";

            CXModuleMapDescriptor mmd = clang.ModuleMapDescriptor_create(0);

            clang.ModuleMapDescriptor_setFrameworkModuleName(mmd, "TestFrame");
            clang.ModuleMapDescriptor_setUmbrellaHeader(mmd, "TestFrame.h");

            IntPtr bufPtr;
            uint   bufSize = 0;

            clang.ModuleMapDescriptor_writeToBuffer(mmd, 0, out bufPtr, out bufSize);
            var bufStr = Marshal.PtrToStringAnsi(bufPtr, (int)bufSize);

            Assert.Equal(contents, bufStr);
            clang.free(bufPtr);
            clang.ModuleMapDescriptor_dispose(mmd);
        }
コード例 #2
0
        public void Basic()
        {
            var contents =
                "framework module TestFrame {\n"
                + "  umbrella header \"TestFrame.h\"\n"
                + "\n"
                + "  export *\n"
                + "  module * { export * }\n"
                + "}\n";

            using var mmd = CXModuleMapDescriptor.Create(options: 0);
            _             = mmd.SetFrameworkModuleName("TestFrame");
            _             = mmd.SetUmbrellaHeader("TestFrame.h");

            var buffer = mmd.WriteToBuffer(options: 0, errorCode: out _);

            Assert.Equal(contents, buffer.AsString());
            buffer.ClangFree();
        }
コード例 #3
0
ファイル: BuildSystem.cs プロジェクト: dandar28/ClangNet
 internal static extern void clang_ModuleMapDescriptor_dispose(CXModuleMapDescriptor module_map_descriptor);
コード例 #4
0
ファイル: BuildSystem.cs プロジェクト: dandar28/ClangNet
 internal static extern ErrorCode clang_ModuleMapDescriptor_writeToBuffer(CXModuleMapDescriptor module_map_descriptor, uint options, out CharPtrPtr out_buffer_ptr, out uint out_buffer_size);
コード例 #5
0
ファイル: BuildSystem.cs プロジェクト: dandar28/ClangNet
 internal static extern ErrorCode clang_ModuleMapDescriptor_setUmbrellaHeader(CXModuleMapDescriptor module_map_descriptor, string name);
コード例 #6
0
ファイル: BuildSystem.cs プロジェクト: dandar28/ClangNet
 internal static extern ErrorCode clang_ModuleMapDescriptor_setFrameworkModuleName(CXModuleMapDescriptor module_map_descriptor, string name);