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 CreateTypedef(LLVMMetadataRef Type, ReadOnlySpan <char> Name, LLVMMetadataRef File, uint LineNo, LLVMMetadataRef Scope, uint AlignInBits) { using var marshaledName = new MarshaledString(Name); var nameLength = (uint)marshaledName.Length; return(LLVM.DIBuilderCreateTypedef(this, Type, marshaledName, (UIntPtr)nameLength, File, LineNo, Scope, AlignInBits)); }
public LLVMMetadataRef CreateMacro(LLVMMetadataRef ParentMacroFile, uint Line, LLVMDWARFMacinfoRecordType RecordType, ReadOnlySpan <char> Name, ReadOnlySpan <char> Value) { using var marshaledName = new MarshaledString(Name); using var marshaledValue = new MarshaledString(Value); var nameLength = (uint)marshaledName.Length; var valueLength = (uint)marshaledValue.Length; return(LLVM.DIBuilderCreateMacro(this, ParentMacroFile, Line, RecordType, marshaledName, (UIntPtr)nameLength, marshaledValue, (UIntPtr)valueLength)); }
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 LLVMMetadataRef CreateModule(LLVMMetadataRef ParentScope, ReadOnlySpan <char> Name, ReadOnlySpan <char> ConfigMacros, ReadOnlySpan <char> IncludePath, ReadOnlySpan <char> SysRoot) { using var marshaledName = new MarshaledString(Name); using var marshaledConfigMacros = new MarshaledString(ConfigMacros); using var marshaledIncludePath = new MarshaledString(IncludePath); using var marshaledSysRoot = new MarshaledString(SysRoot); var nameLength = (uint)marshaledName.Length; var configMacrosLength = (uint)marshaledConfigMacros.Length; var includePathLength = (uint)marshaledIncludePath.Length; var sysRootLength = (uint)marshaledSysRoot.Length; return(LLVM.DIBuilderCreateModule(this, ParentScope, marshaledName, (UIntPtr)nameLength, marshaledConfigMacros, (UIntPtr)configMacrosLength, marshaledIncludePath, (UIntPtr)includePathLength, marshaledSysRoot, (UIntPtr)sysRootLength)); }
public LLVMMetadataRef CreateTypedef(LLVMMetadataRef Type, string Name, LLVMMetadataRef File, uint LineNo, LLVMMetadataRef Scope, uint AlignInBits) => CreateTypedef(Type, Name.AsSpan(), File, LineNo, Scope, AlignInBits);
public LLVMMetadataRef CreateTempMacroFile(LLVMMetadataRef ParentMacroFile, uint Line, LLVMMetadataRef File) => LLVM.DIBuilderCreateTempMacroFile(this, ParentMacroFile, Line, File);
public static void SetSubprogram(LLVMValueRef Function, LLVMMetadataRef Type) { LLVM.SetSubprogram(Function, Type); }
public void AddNamedMetadataOperand(string Name, LLVMMetadataRef CompileUnitMetadata) => AddNamedMetadataOperand(Name.AsSpan(), CompileUnitMetadata);
public void AddModuleFlag(string FlagName, LLVMModuleFlagBehavior Behavior, LLVMMetadataRef ValAsMetadataRef) => AddModuleFlag(FlagName.AsSpan(), Behavior, ValAsMetadataRef);
public LLVMMetadataRef CreateMacro(LLVMMetadataRef ParentMacroFile, uint Line, LLVMDWARFMacinfoRecordType RecordType, string Name, string Value) => CreateMacro(ParentMacroFile, Line, RecordType, Name.AsSpan(), Value.AsSpan());
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);
public LLVMMetadataRef CreateCompileUnit(LLVMDWARFSourceLanguage SourceLanguage, LLVMMetadataRef FileMetadata, ReadOnlySpan <char> Producer, int IsOptimized, ReadOnlySpan <char> Flags, uint RuntimeVersion, ReadOnlySpan <char> SplitName, LLVMDWARFEmissionKind DwarfEmissionKind, uint DWOld, int SplitDebugInlining, int DebugInfoForProfiling) { using var marshaledProducer = new MarshaledString(Producer); using var marshaledFlags = new MarshaledString(Flags); using var marshaledSplitNameFlags = new MarshaledString(SplitName); return(LLVM.DIBuilderCreateCompileUnit(this, SourceLanguage, FileMetadata, marshaledProducer, (UIntPtr)marshaledProducer.Length, IsOptimized, marshaledFlags, (UIntPtr)marshaledFlags.Length, RuntimeVersion, marshaledSplitNameFlags, (UIntPtr)marshaledSplitNameFlags.Length, DwarfEmissionKind, DWOld, SplitDebugInlining, DebugInfoForProfiling)); }
public LLVMMetadataRef CreateCompileUnit(LLVMDWARFSourceLanguage SourceLanguage, LLVMMetadataRef FileMetadata, string Producer, int IsOptimized, string Flags, uint RuntimeVersion, string SplitName, LLVMDWARFEmissionKind DwarfEmissionKind, uint DWOld, int SplitDebugInlining, int DebugInfoForProfiling) => CreateCompileUnit(SourceLanguage, FileMetadata, Producer.AsSpan(), IsOptimized, Flags.AsSpan(), RuntimeVersion, SplitName.AsSpan(), DwarfEmissionKind, DWOld, SplitDebugInlining, DebugInfoForProfiling);
public LLVMValueRef MetadataAsValue(LLVMMetadataRef MD) => LLVM.MetadataAsValue(this, MD);
public LLVMMetadataRef CreateDebugLocation(uint Line, uint Column, LLVMMetadataRef Scope, LLVMMetadataRef InlinedAt) => LLVM.DIBuilderCreateDebugLocation(this, Line, Column, Scope, InlinedAt);
public LLVMMetadataRef CreateModule(LLVMMetadataRef ParentScope, string Name, string ConfigMacros, string IncludePath, string SysRoot) => CreateModule(ParentScope, Name.AsSpan(), ConfigMacros.AsSpan(), IncludePath.AsSpan(), SysRoot.AsSpan());
public void AddModuleFlag(ReadOnlySpan <char> FlagName, LLVMModuleFlagBehavior Behavior, LLVMMetadataRef ValAsMetadataRef) { using var marshaledName = new MarshaledString(FlagName); LLVM.AddModuleFlag(this, Behavior, marshaledName, (UIntPtr)FlagName.Length, ValAsMetadataRef); }
public LLVMMetadataRef CreateSubroutineType(LLVMMetadataRef File, LLVMMetadataRef[] ParameterTypes, LLVMDIFlags Flags) => CreateSubroutineType(File, ParameterTypes.AsSpan(), Flags);
public void AddNamedMetadataOperand(ReadOnlySpan <char> Name, LLVMMetadataRef CompileUnitMetadata) { using var marshaledName = new MarshaledString(Name); LLVM.AddNamedMetadataOperand(this, marshaledName, LLVM.MetadataAsValue(Context, CompileUnitMetadata)); }
public LLVMValueRef MetadataAsValue(LLVMMetadataRef MD) { return(LLVM.MetadataAsValue(this, MD)); }