public unsafe Metadata CreateBasicType(string name, ulong sizeInBits, LLVMDWARFTypeEncoding encoding, LLVMDIFlags flags) { using var marshaledName = new MarshaledString(name.AsSpan()); return((LLVMMetadataRef)LLVMSharp.Interop.LLVM.DIBuilderCreateBasicType(_builder, marshaledName, (UIntPtr)marshaledName.Length, sizeInBits, (uint)encoding, flags)); }
public unsafe Metadata CreateAutoVariable(Metadata scope, string name, Metadata file, uint lineNo, Metadata ty, bool alwaysPreserve, LLVMDIFlags flags, uint alignInBits) { using var marshaledName = new MarshaledString(name.AsSpan()); return((LLVMMetadataRef)LLVMSharp.Interop.LLVM.DIBuilderCreateAutoVariable(_builder, (LLVMMetadataRef)scope, marshaledName, (UIntPtr)name.Length, (LLVMMetadataRef)file, lineNo, (LLVMMetadataRef)ty, alwaysPreserve ? 1 : 0, flags, alignInBits)); }
public LLVMMetadataRef CreateFunction(LLVMMetadataRef Scope, ReadOnlySpan <char> Name, ReadOnlySpan <char> LinkageName, LLVMMetadataRef File, uint LineNo, LLVMMetadataRef Type, int IsLocalToUnit, int IsDefinition, uint ScopeLine, LLVMDIFlags Flags, int IsOptimized) { using var marshaledName = new MarshaledString(Name); using var marshaledLinkageName = new MarshaledString(LinkageName); var methodNameLength = (uint)marshaledName.Length; var linkageNameLength = (uint)marshaledLinkageName.Length; return(LLVM.DIBuilderCreateFunction(this, Scope, marshaledName, (UIntPtr)(methodNameLength), marshaledLinkageName, (UIntPtr)(linkageNameLength), File, LineNo, Type, IsLocalToUnit, IsDefinition, ScopeLine, Flags, IsOptimized)); }
public unsafe Metadata CreateStructType(Metadata scope, string name, Metadata file, uint lineNumber, ulong sizeInBits, uint alignInBits, LLVMDIFlags flags, Metadata derivedFrom, Metadata[] elements, uint runTimeLang, Metadata vTableHolder, string uniqueId) { using var marshaledName = new MarshaledString(name.AsSpan()); using var marshaledUniqueId = new MarshaledString(uniqueId.AsSpan()); fixed(LLVMMetadataRef *castElems = Array.ConvertAll(elements, elem => (LLVMMetadataRef)elem).AsSpan()) { return((LLVMMetadataRef)LLVMSharp.Interop.LLVM.DIBuilderCreateStructType(_builder, (LLVMMetadataRef)scope, marshaledName, (UIntPtr)marshaledName.Length, (LLVMMetadataRef)file, lineNumber, sizeInBits, alignInBits, flags, (LLVMMetadataRef)derivedFrom, (LLVMOpaqueMetadata **)castElems, (uint)elements.Length, runTimeLang, (LLVMMetadataRef)vTableHolder, marshaledUniqueId, (UIntPtr)marshaledUniqueId.Length)); } }
public Metadata CreateSubroutineType(Metadata file, Metadata[] parameterTypes, LLVMDIFlags flags) => _builder.CreateSubroutineType(file, Array.ConvertAll(parameterTypes, pType => (LLVMMetadataRef)pType), flags);
public Metadata CreateFunction(Metadata scope, string name, string linkageName, Metadata file, uint lineNo, Metadata ty, bool isLocalToUnit, bool isDefinition, uint scopeLine, LLVMDIFlags flags, bool isOptimized) => _builder.CreateFunction(scope, name, linkageName, file, lineNo, ty, isLocalToUnit ? 1 : 0, isDefinition ? 1 : 0, scopeLine, flags, isOptimized ? 1 : 0);
public unsafe Metadata CreateReplaceableCompositeType(LLVMDWARFTag tag, string name, Metadata scope, Metadata file, uint line, uint runtimeLang, ulong sizeInBits, uint alignInBits, LLVMDIFlags flags, string uniqueIdentifier) { using var marshaledName = new MarshaledString(name.AsSpan()); using var marshaledUniqueId = new MarshaledString(uniqueIdentifier.AsSpan()); return((LLVMMetadataRef)LLVMSharp.Interop.LLVM.DIBuilderCreateReplaceableCompositeType(_builder, (uint)tag, marshaledName, (UIntPtr)name.Length, (LLVMMetadataRef)scope, (LLVMMetadataRef)file, line, runtimeLang, sizeInBits, alignInBits, flags, marshaledUniqueId, (UIntPtr)uniqueIdentifier.Length)); }
public LLVMMetadataRef CreateSubroutineType(LLVMMetadataRef File, ReadOnlySpan <LLVMMetadataRef> ParameterTypes, LLVMDIFlags Flags) { fixed(LLVMMetadataRef *pParameterTypes = ParameterTypes) { return(LLVM.DIBuilderCreateSubroutineType(this, File, (LLVMOpaqueMetadata **)pParameterTypes, (uint)ParameterTypes.Length, Flags)); } }
public LLVMMetadataRef CreateSubroutineType(LLVMMetadataRef File, LLVMMetadataRef[] ParameterTypes, LLVMDIFlags Flags) => CreateSubroutineType(File, ParameterTypes.AsSpan(), Flags);
public LLVMMetadataRef CreateFunction(LLVMMetadataRef Scope, string Name, string LinkageName, LLVMMetadataRef File, uint LineNo, LLVMMetadataRef Type, int IsLocalToUnit, int IsDefinition, uint ScopeLine, LLVMDIFlags Flags, int IsOptimized) => CreateFunction(Scope, Name.AsSpan(), LinkageName.AsSpan(), File, LineNo, Type, IsLocalToUnit, IsDefinition, ScopeLine, Flags, IsOptimized);