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); }
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(); }
internal static extern void clang_ModuleMapDescriptor_dispose(CXModuleMapDescriptor module_map_descriptor);
internal static extern ErrorCode clang_ModuleMapDescriptor_writeToBuffer(CXModuleMapDescriptor module_map_descriptor, uint options, out CharPtrPtr out_buffer_ptr, out uint out_buffer_size);
internal static extern ErrorCode clang_ModuleMapDescriptor_setUmbrellaHeader(CXModuleMapDescriptor module_map_descriptor, string name);
internal static extern ErrorCode clang_ModuleMapDescriptor_setFrameworkModuleName(CXModuleMapDescriptor module_map_descriptor, string name);