diff --git a/cl/func.go b/cl/func.go index a2823fbf..edc8893a 100644 --- a/cl/func.go +++ b/cl/func.go @@ -111,8 +111,7 @@ func compileFuncOrMethod(ctx *pkgCtx, obj *funcObj, this *classCtx) { var typName, typCName string var nameInPkg string if this == nil { - // TODO(xsw): llgo bugfix - to support method with callback - if ctx.lang == LanguageC && feats&featHasCallback == 0 { + if ctx.lang == LanguageC { // try to method for C global functions params, recv, typRecv, typName = tryToMethod(ctx, pkgTypes, params) if typRecv != nil { @@ -189,7 +188,7 @@ func existMember(typ *types.Named, name string) bool { } const ( - llgoSupportAliasAsRecv = false + llgoSupportAliasAsRecv = true c2goMethodRecvName = "self" ) diff --git a/tool/_testc/clang-c-22.1.8/BuildSystem.go b/tool/_testc/clang-c-22.1.8/BuildSystem.go index a73f6b6f..b602ddf6 100644 --- a/tool/_testc/clang-c-22.1.8/BuildSystem.go +++ b/tool/_testc/clang-c-22.1.8/BuildSystem.go @@ -37,8 +37,8 @@ func VirtualFileOverlayCreate(options c.Uint) VirtualFileOverlay // The virtual path must be canonicalized (not contain "."/".."). // \returns 0 for success, non-zero to indicate an error. // -// llgo:link (*VirtualFileOverlayImpl).AddFileMapping C.clang_VirtualFileOverlay_addFileMapping -func (self *VirtualFileOverlayImpl) AddFileMapping(virtualPath *c.Char, realPath *c.Char) ErrorCode { +// llgo:link VirtualFileOverlay.AddFileMapping C.clang_VirtualFileOverlay_addFileMapping +func (self VirtualFileOverlay) AddFileMapping(virtualPath *c.Char, realPath *c.Char) ErrorCode { return 0 } @@ -47,8 +47,8 @@ func (self *VirtualFileOverlayImpl) AddFileMapping(virtualPath *c.Char, realPath // option can be used to override the default. // \returns 0 for success, non-zero to indicate an error. // -// llgo:link (*VirtualFileOverlayImpl).SetCaseSensitivity C.clang_VirtualFileOverlay_setCaseSensitivity -func (self *VirtualFileOverlayImpl) SetCaseSensitivity(caseSensitive c.Int) ErrorCode { +// llgo:link VirtualFileOverlay.SetCaseSensitivity C.clang_VirtualFileOverlay_setCaseSensitivity +func (self VirtualFileOverlay) SetCaseSensitivity(caseSensitive c.Int) ErrorCode { return 0 } @@ -60,8 +60,8 @@ func (self *VirtualFileOverlayImpl) SetCaseSensitivity(caseSensitive c.Int) Erro // \param out_buffer_size pointer to receive the buffer size. // \returns 0 for success, non-zero to indicate an error. // -// llgo:link (*VirtualFileOverlayImpl).WriteToBuffer C.clang_VirtualFileOverlay_writeToBuffer -func (self *VirtualFileOverlayImpl) WriteToBuffer(options c.Uint, out_buffer_ptr **c.Char, out_buffer_size *c.Uint) ErrorCode { +// llgo:link VirtualFileOverlay.WriteToBuffer C.clang_VirtualFileOverlay_writeToBuffer +func (self VirtualFileOverlay) WriteToBuffer(options c.Uint, out_buffer_ptr **c.Char, out_buffer_size *c.Uint) ErrorCode { return 0 } @@ -75,8 +75,8 @@ func Free(buffer unsafe.Pointer) // Dispose a \c CXVirtualFileOverlay object. // -// llgo:link (*VirtualFileOverlayImpl).Dispose C.clang_VirtualFileOverlay_dispose -func (self *VirtualFileOverlayImpl) Dispose() { +// llgo:link VirtualFileOverlay.Dispose C.clang_VirtualFileOverlay_dispose +func (self VirtualFileOverlay) Dispose() { } // Create a \c CXModuleMapDescriptor object. @@ -90,16 +90,16 @@ func ModuleMapDescriptorCreate(options c.Uint) ModuleMapDescriptor // Sets the framework module name that the module.modulemap describes. // \returns 0 for success, non-zero to indicate an error. // -// llgo:link (*ModuleMapDescriptorImpl).SetFrameworkModuleName C.clang_ModuleMapDescriptor_setFrameworkModuleName -func (self *ModuleMapDescriptorImpl) SetFrameworkModuleName(name *c.Char) ErrorCode { +// llgo:link ModuleMapDescriptor.SetFrameworkModuleName C.clang_ModuleMapDescriptor_setFrameworkModuleName +func (self ModuleMapDescriptor) SetFrameworkModuleName(name *c.Char) ErrorCode { return 0 } // Sets the umbrella header name that the module.modulemap describes. // \returns 0 for success, non-zero to indicate an error. // -// llgo:link (*ModuleMapDescriptorImpl).SetUmbrellaHeader C.clang_ModuleMapDescriptor_setUmbrellaHeader -func (self *ModuleMapDescriptorImpl) SetUmbrellaHeader(name *c.Char) ErrorCode { +// llgo:link ModuleMapDescriptor.SetUmbrellaHeader C.clang_ModuleMapDescriptor_setUmbrellaHeader +func (self ModuleMapDescriptor) SetUmbrellaHeader(name *c.Char) ErrorCode { return 0 } @@ -111,13 +111,13 @@ func (self *ModuleMapDescriptorImpl) SetUmbrellaHeader(name *c.Char) ErrorCode { // \param out_buffer_size pointer to receive the buffer size. // \returns 0 for success, non-zero to indicate an error. // -// llgo:link (*ModuleMapDescriptorImpl).WriteToBuffer C.clang_ModuleMapDescriptor_writeToBuffer -func (self *ModuleMapDescriptorImpl) WriteToBuffer(options c.Uint, out_buffer_ptr **c.Char, out_buffer_size *c.Uint) ErrorCode { +// llgo:link ModuleMapDescriptor.WriteToBuffer C.clang_ModuleMapDescriptor_writeToBuffer +func (self ModuleMapDescriptor) WriteToBuffer(options c.Uint, out_buffer_ptr **c.Char, out_buffer_size *c.Uint) ErrorCode { return 0 } // Dispose a \c CXModuleMapDescriptor object. // -// llgo:link (*ModuleMapDescriptorImpl).Dispose C.clang_ModuleMapDescriptor_dispose -func (self *ModuleMapDescriptorImpl) Dispose() { +// llgo:link ModuleMapDescriptor.Dispose C.clang_ModuleMapDescriptor_dispose +func (self ModuleMapDescriptor) Dispose() { } diff --git a/tool/_testc/clang-c-22.1.8/BuildSystem/out.go b/tool/_testc/clang-c-22.1.8/BuildSystem/out.go index 2cf29b8d..60c87b4d 100644 --- a/tool/_testc/clang-c-22.1.8/BuildSystem/out.go +++ b/tool/_testc/clang-c-22.1.8/BuildSystem/out.go @@ -38,8 +38,8 @@ func VirtualFileOverlayCreate(options c.Uint) VirtualFileOverlay // The virtual path must be canonicalized (not contain "."/".."). // \returns 0 for success, non-zero to indicate an error. // -// llgo:link (*VirtualFileOverlayImpl).AddFileMapping C.clang_VirtualFileOverlay_addFileMapping -func (_llcppg_param1 *VirtualFileOverlayImpl) AddFileMapping(virtualPath *c.Char, realPath *c.Char) CXErrorCode.ErrorCode { +// llgo:link VirtualFileOverlay.AddFileMapping C.clang_VirtualFileOverlay_addFileMapping +func (_llcppg_param1 VirtualFileOverlay) AddFileMapping(virtualPath *c.Char, realPath *c.Char) CXErrorCode.ErrorCode { return 0 } @@ -48,8 +48,8 @@ func (_llcppg_param1 *VirtualFileOverlayImpl) AddFileMapping(virtualPath *c.Char // option can be used to override the default. // \returns 0 for success, non-zero to indicate an error. // -// llgo:link (*VirtualFileOverlayImpl).SetCaseSensitivity C.clang_VirtualFileOverlay_setCaseSensitivity -func (_llcppg_param1 *VirtualFileOverlayImpl) SetCaseSensitivity(caseSensitive c.Int) CXErrorCode.ErrorCode { +// llgo:link VirtualFileOverlay.SetCaseSensitivity C.clang_VirtualFileOverlay_setCaseSensitivity +func (_llcppg_param1 VirtualFileOverlay) SetCaseSensitivity(caseSensitive c.Int) CXErrorCode.ErrorCode { return 0 } @@ -61,8 +61,8 @@ func (_llcppg_param1 *VirtualFileOverlayImpl) SetCaseSensitivity(caseSensitive c // \param out_buffer_size pointer to receive the buffer size. // \returns 0 for success, non-zero to indicate an error. // -// llgo:link (*VirtualFileOverlayImpl).WriteToBuffer C.clang_VirtualFileOverlay_writeToBuffer -func (_llcppg_param1 *VirtualFileOverlayImpl) WriteToBuffer(options c.Uint, out_buffer_ptr **c.Char, out_buffer_size *c.Uint) CXErrorCode.ErrorCode { +// llgo:link VirtualFileOverlay.WriteToBuffer C.clang_VirtualFileOverlay_writeToBuffer +func (_llcppg_param1 VirtualFileOverlay) WriteToBuffer(options c.Uint, out_buffer_ptr **c.Char, out_buffer_size *c.Uint) CXErrorCode.ErrorCode { return 0 } @@ -76,8 +76,8 @@ func Free(buffer unsafe.Pointer) // Dispose a \c CXVirtualFileOverlay object. // -// llgo:link (*VirtualFileOverlayImpl).Dispose C.clang_VirtualFileOverlay_dispose -func (_llcppg_param1 *VirtualFileOverlayImpl) Dispose() { +// llgo:link VirtualFileOverlay.Dispose C.clang_VirtualFileOverlay_dispose +func (_llcppg_param1 VirtualFileOverlay) Dispose() { } // Create a \c CXModuleMapDescriptor object. @@ -91,16 +91,16 @@ func ModuleMapDescriptorCreate(options c.Uint) ModuleMapDescriptor // Sets the framework module name that the module.modulemap describes. // \returns 0 for success, non-zero to indicate an error. // -// llgo:link (*ModuleMapDescriptorImpl).SetFrameworkModuleName C.clang_ModuleMapDescriptor_setFrameworkModuleName -func (_llcppg_param1 *ModuleMapDescriptorImpl) SetFrameworkModuleName(name *c.Char) CXErrorCode.ErrorCode { +// llgo:link ModuleMapDescriptor.SetFrameworkModuleName C.clang_ModuleMapDescriptor_setFrameworkModuleName +func (_llcppg_param1 ModuleMapDescriptor) SetFrameworkModuleName(name *c.Char) CXErrorCode.ErrorCode { return 0 } // Sets the umbrella header name that the module.modulemap describes. // \returns 0 for success, non-zero to indicate an error. // -// llgo:link (*ModuleMapDescriptorImpl).SetUmbrellaHeader C.clang_ModuleMapDescriptor_setUmbrellaHeader -func (_llcppg_param1 *ModuleMapDescriptorImpl) SetUmbrellaHeader(name *c.Char) CXErrorCode.ErrorCode { +// llgo:link ModuleMapDescriptor.SetUmbrellaHeader C.clang_ModuleMapDescriptor_setUmbrellaHeader +func (_llcppg_param1 ModuleMapDescriptor) SetUmbrellaHeader(name *c.Char) CXErrorCode.ErrorCode { return 0 } @@ -112,13 +112,13 @@ func (_llcppg_param1 *ModuleMapDescriptorImpl) SetUmbrellaHeader(name *c.Char) C // \param out_buffer_size pointer to receive the buffer size. // \returns 0 for success, non-zero to indicate an error. // -// llgo:link (*ModuleMapDescriptorImpl).WriteToBuffer C.clang_ModuleMapDescriptor_writeToBuffer -func (_llcppg_param1 *ModuleMapDescriptorImpl) WriteToBuffer(options c.Uint, out_buffer_ptr **c.Char, out_buffer_size *c.Uint) CXErrorCode.ErrorCode { +// llgo:link ModuleMapDescriptor.WriteToBuffer C.clang_ModuleMapDescriptor_writeToBuffer +func (_llcppg_param1 ModuleMapDescriptor) WriteToBuffer(options c.Uint, out_buffer_ptr **c.Char, out_buffer_size *c.Uint) CXErrorCode.ErrorCode { return 0 } // Dispose a \c CXModuleMapDescriptor object. // -// llgo:link (*ModuleMapDescriptorImpl).Dispose C.clang_ModuleMapDescriptor_dispose -func (_llcppg_param1 *ModuleMapDescriptorImpl) Dispose() { +// llgo:link ModuleMapDescriptor.Dispose C.clang_ModuleMapDescriptor_dispose +func (_llcppg_param1 ModuleMapDescriptor) Dispose() { } diff --git a/tool/_testc/clang-c-22.1.8/Documentation.go b/tool/_testc/clang-c-22.1.8/Documentation.go index 5585a500..df893477 100644 --- a/tool/_testc/clang-c-22.1.8/Documentation.go +++ b/tool/_testc/clang-c-22.1.8/Documentation.go @@ -519,8 +519,8 @@ func (self Comment) FullCommentGetAsXML() String { // // \returns Error code indicating success or failure of the APISet creation. // -// llgo:link (*TranslationUnitImpl).CreateAPISet C.clang_createAPISet -func (self *TranslationUnitImpl) CreateAPISet(out_api *APISet) ErrorCode { +// llgo:link TranslationUnit.CreateAPISet C.clang_createAPISet +func (self TranslationUnit) CreateAPISet(out_api *APISet) ErrorCode { return 0 } @@ -528,8 +528,8 @@ func (self *TranslationUnitImpl) CreateAPISet(out_api *APISet) ErrorCode { // // The provided \c CXAPISet can not be used after this function is called. // -// llgo:link (*APISetImpl).Dispose C.clang_disposeAPISet -func (self *APISetImpl) Dispose() { +// llgo:link APISet.Dispose C.clang_disposeAPISet +func (self APISet) Dispose() { } // Generate a single symbol symbol graph for the given USR. Returns a null diff --git a/tool/_testc/clang-c-22.1.8/Documentation/out.go b/tool/_testc/clang-c-22.1.8/Documentation/out.go index 0ffc3309..91e289bb 100644 --- a/tool/_testc/clang-c-22.1.8/Documentation/out.go +++ b/tool/_testc/clang-c-22.1.8/Documentation/out.go @@ -527,8 +527,8 @@ func CreateAPISet(tu Index.TranslationUnit, out_api *APISet) CXErrorCode.ErrorCo // // The provided \c CXAPISet can not be used after this function is called. // -// llgo:link (*APISetImpl).Dispose C.clang_disposeAPISet -func (api *APISetImpl) Dispose() { +// llgo:link APISet.Dispose C.clang_disposeAPISet +func (api APISet) Dispose() { } // Generate a single symbol symbol graph for the given USR. Returns a null diff --git a/tool/_testc/clang-c-22.1.8/Index.go b/tool/_testc/clang-c-22.1.8/Index.go index aa331e29..e6d0af8a 100644 --- a/tool/_testc/clang-c-22.1.8/Index.go +++ b/tool/_testc/clang-c-22.1.8/Index.go @@ -2954,8 +2954,8 @@ func (self Index) SetInvocationEmissionPathOption(Path *c.Char) { // multiple inclusions, either with the conventional // \#ifndef/\#define/\#endif macro guards or with \#pragma once. // -// llgo:link (*TranslationUnitImpl).IsFileMultipleIncludeGuarded C.clang_isFileMultipleIncludeGuarded -func (self *TranslationUnitImpl) IsFileMultipleIncludeGuarded(file File) c.Uint { +// llgo:link TranslationUnit.IsFileMultipleIncludeGuarded C.clang_isFileMultipleIncludeGuarded +func (self TranslationUnit) IsFileMultipleIncludeGuarded(file File) c.Uint { return 0 } @@ -2968,8 +2968,8 @@ func (self *TranslationUnitImpl) IsFileMultipleIncludeGuarded(file File) c.Uint // \returns the file handle for the named file in the translation unit \p tu, // or a NULL file handle if the file was not a part of this translation unit. // -// llgo:link (*TranslationUnitImpl).File C.clang_getFile -func (self *TranslationUnitImpl) File(file_name *c.Char) File { +// llgo:link TranslationUnit.File C.clang_getFile +func (self TranslationUnit) File(file_name *c.Char) File { return 0 } @@ -2984,24 +2984,24 @@ func (self *TranslationUnitImpl) File(file_name *c.Char) File { // \returns a pointer to the buffer in memory that holds the contents of // \p file, or a NULL pointer when the file is not loaded. // -// llgo:link (*TranslationUnitImpl).FileContents C.clang_getFileContents -func (self *TranslationUnitImpl) FileContents(file File, size *c.SizeT) *c.Char { +// llgo:link TranslationUnit.FileContents C.clang_getFileContents +func (self TranslationUnit) FileContents(file File, size *c.SizeT) *c.Char { return nil } // Retrieves the source location associated with a given file/line/column // in a particular translation unit. // -// llgo:link (*TranslationUnitImpl).Location C.clang_getLocation -func (self *TranslationUnitImpl) Location(file File, line c.Uint, column c.Uint) SourceLocation { +// llgo:link TranslationUnit.Location C.clang_getLocation +func (self TranslationUnit) Location(file File, line c.Uint, column c.Uint) SourceLocation { return SourceLocation{} } // Retrieves the source location associated with a given character offset // in a particular translation unit. // -// llgo:link (*TranslationUnitImpl).LocationForOffset C.clang_getLocationForOffset -func (self *TranslationUnitImpl) LocationForOffset(file File, offset c.Uint) SourceLocation { +// llgo:link TranslationUnit.LocationForOffset C.clang_getLocationForOffset +func (self TranslationUnit) LocationForOffset(file File, offset c.Uint) SourceLocation { return SourceLocation{} } @@ -3010,8 +3010,8 @@ func (self *TranslationUnitImpl) LocationForOffset(file File, offset c.Uint) Sou // The preprocessor will skip lines when they are surrounded by an // if/ifdef/ifndef directive whose condition does not evaluate to true. // -// llgo:link (*TranslationUnitImpl).SkippedRanges C.clang_getSkippedRanges -func (self *TranslationUnitImpl) SkippedRanges(file File) *SourceRangeList { +// llgo:link TranslationUnit.SkippedRanges C.clang_getSkippedRanges +func (self TranslationUnit) SkippedRanges(file File) *SourceRangeList { return nil } @@ -3021,16 +3021,16 @@ func (self *TranslationUnitImpl) SkippedRanges(file File) *SourceRangeList { // The preprocessor will skip lines when they are surrounded by an // if/ifdef/ifndef directive whose condition does not evaluate to true. // -// llgo:link (*TranslationUnitImpl).AllSkippedRanges C.clang_getAllSkippedRanges -func (self *TranslationUnitImpl) AllSkippedRanges() *SourceRangeList { +// llgo:link TranslationUnit.AllSkippedRanges C.clang_getAllSkippedRanges +func (self TranslationUnit) AllSkippedRanges() *SourceRangeList { return nil } // Determine the number of diagnostics produced for the given // translation unit. // -// llgo:link (*TranslationUnitImpl).NumDiagnostics C.clang_getNumDiagnostics -func (self *TranslationUnitImpl) NumDiagnostics() c.Uint { +// llgo:link TranslationUnit.NumDiagnostics C.clang_getNumDiagnostics +func (self TranslationUnit) NumDiagnostics() c.Uint { return 0 } @@ -3042,8 +3042,8 @@ func (self *TranslationUnitImpl) NumDiagnostics() c.Uint { // \returns the requested diagnostic. This diagnostic must be freed // via a call to \c clang_disposeDiagnostic(). // -// llgo:link (*TranslationUnitImpl).Diagnostic C.clang_getDiagnostic -func (self *TranslationUnitImpl) Diagnostic(Index c.Uint) Diagnostic { +// llgo:link TranslationUnit.Diagnostic C.clang_getDiagnostic +func (self TranslationUnit) Diagnostic(Index c.Uint) Diagnostic { return 0 } @@ -3052,15 +3052,15 @@ func (self *TranslationUnitImpl) Diagnostic(Index c.Uint) Diagnostic { // // \param Unit the translation unit to query. // -// llgo:link (*TranslationUnitImpl).DiagnosticSetFromTU C.clang_getDiagnosticSetFromTU -func (self *TranslationUnitImpl) DiagnosticSetFromTU() DiagnosticSet { +// llgo:link TranslationUnit.DiagnosticSetFromTU C.clang_getDiagnosticSetFromTU +func (self TranslationUnit) DiagnosticSetFromTU() DiagnosticSet { return 0 } // Get the original translation unit source file name. // -// llgo:link (*TranslationUnitImpl).Spelling C.clang_getTranslationUnitSpelling -func (self *TranslationUnitImpl) Spelling() String { +// llgo:link TranslationUnit.Spelling C.clang_getTranslationUnitSpelling +func (self TranslationUnit) Spelling() String { return String{} } @@ -3219,8 +3219,8 @@ func (self Index) ParseTranslationUnit2FullArgv(source_filename *c.Char, command // set contains an unspecified set of options that save translation units with // the most commonly-requested data. // -// llgo:link (*TranslationUnitImpl).DefaultSaveOptions C.clang_defaultSaveOptions -func (self *TranslationUnitImpl) DefaultSaveOptions() c.Uint { +// llgo:link TranslationUnit.DefaultSaveOptions C.clang_defaultSaveOptions +func (self TranslationUnit) DefaultSaveOptions() c.Uint { return 0 } @@ -3246,8 +3246,8 @@ func (self *TranslationUnitImpl) DefaultSaveOptions() c.Uint { // enumeration. Zero (CXSaveError_None) indicates that the translation unit was // saved successfully, while a non-zero value indicates that a problem occurred. // -// llgo:link (*TranslationUnitImpl).Save C.clang_saveTranslationUnit -func (self *TranslationUnitImpl) Save(FileName *c.Char, options c.Uint) c.Int { +// llgo:link TranslationUnit.Save C.clang_saveTranslationUnit +func (self TranslationUnit) Save(FileName *c.Char, options c.Uint) c.Int { return 0 } @@ -3257,15 +3257,15 @@ func (self *TranslationUnitImpl) Save(FileName *c.Char, options c.Uint) c.Int { // side does not support any other calls than \c clang_reparseTranslationUnit // to resume it or \c clang_disposeTranslationUnit to dispose it completely. // -// llgo:link (*TranslationUnitImpl).Suspend C.clang_suspendTranslationUnit -func (self *TranslationUnitImpl) Suspend() c.Uint { +// llgo:link TranslationUnit.Suspend C.clang_suspendTranslationUnit +func (self TranslationUnit) Suspend() c.Uint { return 0 } // Destroy the specified CXTranslationUnit object. // -// llgo:link (*TranslationUnitImpl).Dispose C.clang_disposeTranslationUnit -func (self *TranslationUnitImpl) Dispose() { +// llgo:link TranslationUnit.Dispose C.clang_disposeTranslationUnit +func (self TranslationUnit) Dispose() { } // Returns the set of flags that is suitable for reparsing a translation @@ -3277,8 +3277,8 @@ func (self *TranslationUnitImpl) Dispose() { // of reparsing. The set of optimizations enabled may change from one version // to the next. // -// llgo:link (*TranslationUnitImpl).DefaultReparseOptions C.clang_defaultReparseOptions -func (self *TranslationUnitImpl) DefaultReparseOptions() c.Uint { +// llgo:link TranslationUnit.DefaultReparseOptions C.clang_defaultReparseOptions +func (self TranslationUnit) DefaultReparseOptions() c.Uint { return 0 } @@ -3320,8 +3320,8 @@ func (self *TranslationUnitImpl) DefaultReparseOptions() c.Uint { // \c clang_disposeTranslationUnit(TU). The error codes returned by this // routine are described by the \c CXErrorCode enum. // -// llgo:link (*TranslationUnitImpl).Reparse C.clang_reparseTranslationUnit -func (self *TranslationUnitImpl) Reparse(num_unsaved_files c.Uint, unsaved_files *UnsavedFile, options c.Uint) c.Int { +// llgo:link TranslationUnit.Reparse C.clang_reparseTranslationUnit +func (self TranslationUnit) Reparse(num_unsaved_files c.Uint, unsaved_files *UnsavedFile, options c.Uint) c.Int { return 0 } @@ -3336,8 +3336,8 @@ func (self TUResourceUsageKind) Name() *c.Char { // Return the memory usage of a translation unit. This object // should be released with clang_disposeCXTUResourceUsage(). // -// llgo:link (*TranslationUnitImpl).ResourceUsage C.clang_getCXTUResourceUsage -func (self *TranslationUnitImpl) ResourceUsage() TUResourceUsage { +// llgo:link TranslationUnit.ResourceUsage C.clang_getCXTUResourceUsage +func (self TranslationUnit) ResourceUsage() TUResourceUsage { return TUResourceUsage{} } @@ -3349,23 +3349,23 @@ func (self TUResourceUsage) Dispose() { // // The CXTargetInfo object cannot outlive the CXTranslationUnit object. // -// llgo:link (*TranslationUnitImpl).TargetInfo C.clang_getTranslationUnitTargetInfo -func (self *TranslationUnitImpl) TargetInfo() TargetInfo { +// llgo:link TranslationUnit.TargetInfo C.clang_getTranslationUnitTargetInfo +func (self TranslationUnit) TargetInfo() TargetInfo { return nil } // Destroy the CXTargetInfo object. // -// llgo:link (*TargetInfoImpl).Dispose C.clang_TargetInfo_dispose -func (self *TargetInfoImpl) Dispose() { +// llgo:link TargetInfo.Dispose C.clang_TargetInfo_dispose +func (self TargetInfo) Dispose() { } // Get the normalized target triple as a string. // // Returns the empty string in case of any error. // -// llgo:link (*TargetInfoImpl).Triple C.clang_TargetInfo_getTriple -func (self *TargetInfoImpl) Triple() String { +// llgo:link TargetInfo.Triple C.clang_TargetInfo_getTriple +func (self TargetInfo) Triple() String { return String{} } @@ -3373,8 +3373,8 @@ func (self *TargetInfoImpl) Triple() String { // // Returns -1 in case of error. // -// llgo:link (*TargetInfoImpl).PointerWidth C.clang_TargetInfo_getPointerWidth -func (self *TargetInfoImpl) PointerWidth() c.Int { +// llgo:link TargetInfo.PointerWidth C.clang_TargetInfo_getPointerWidth +func (self TargetInfo) PointerWidth() c.Int { return 0 } @@ -3388,8 +3388,8 @@ func GetNullCursor() Cursor // The translation unit cursor can be used to start traversing the // various declarations within the given translation unit. // -// llgo:link (*TranslationUnitImpl).Cursor C.clang_getTranslationUnitCursor -func (self *TranslationUnitImpl) Cursor() Cursor { +// llgo:link TranslationUnit.Cursor C.clang_getTranslationUnitCursor +func (self TranslationUnit) Cursor() Cursor { return Cursor{} } @@ -3647,16 +3647,16 @@ func CreateCursorSet() CursorSet // Disposes a CXCursorSet and releases its associated memory. // -// llgo:link (*CursorSetImpl).Dispose C.clang_disposeCXCursorSet -func (self *CursorSetImpl) Dispose() { +// llgo:link CursorSet.Dispose C.clang_disposeCXCursorSet +func (self CursorSet) Dispose() { } // Queries a CXCursorSet to see if it contains a specific CXCursor. // // \returns non-zero if the set contains the specified cursor. // -// llgo:link (*CursorSetImpl).Contains C.clang_CXCursorSet_contains -func (self *CursorSetImpl) Contains(cursor Cursor) c.Uint { +// llgo:link CursorSet.Contains C.clang_CXCursorSet_contains +func (self CursorSet) Contains(cursor Cursor) c.Uint { return 0 } @@ -3664,8 +3664,8 @@ func (self *CursorSetImpl) Contains(cursor Cursor) c.Uint { // // \returns zero if the CXCursor was already in the set, and non-zero otherwise. // -// llgo:link (*CursorSetImpl).Insert C.clang_CXCursorSet_insert -func (self *CursorSetImpl) Insert(cursor Cursor) c.Uint { +// llgo:link CursorSet.Insert C.clang_CXCursorSet_insert +func (self CursorSet) Insert(cursor Cursor) c.Uint { return 0 } @@ -3819,8 +3819,8 @@ func (self Cursor) IncludedFile() File { // \returns a cursor representing the entity at the given source location, or // a NULL cursor if no such entity can be found. // -// llgo:link (*TranslationUnitImpl).GetCursor C.clang_getCursor -func (self *TranslationUnitImpl) GetCursor(_llcppg_param2 SourceLocation) Cursor { +// llgo:link TranslationUnit.GetCursor C.clang_getCursor +func (self TranslationUnit) GetCursor(_llcppg_param2 SourceLocation) Cursor { return Cursor{} } @@ -4697,8 +4697,10 @@ func (self Cursor) IBOutletCollectionType() Type { // \returns a non-zero value if the traversal was terminated // prematurely by the visitor returning \c CXChildVisit_Break. // -//go:linkname VisitChildren C.clang_visitChildren -func VisitChildren(parent Cursor, visitor CursorVisitor, client_data ClientData) c.Uint +// llgo:link Cursor.VisitChildren C.clang_visitChildren +func (self Cursor) VisitChildren(visitor CursorVisitor, client_data ClientData) c.Uint { + return 0 +} // Retrieve a Unified Symbol Resolution (USR) for the entity referenced // by the given cursor. @@ -5207,8 +5209,8 @@ func (self Cursor) Module() Module { // Given a CXFile header file, return the module that contains it, if one // exists. // -// llgo:link (*TranslationUnitImpl).ModuleForFile C.clang_getModuleForFile -func (self *TranslationUnitImpl) ModuleForFile(_llcppg_param2 File) Module { +// llgo:link TranslationUnit.ModuleForFile C.clang_getModuleForFile +func (self TranslationUnit) ModuleForFile(_llcppg_param2 File) Module { return 0 } @@ -5263,8 +5265,8 @@ func (self Module) IsSystem() c.Int { // // \returns the number of top level headers associated with this module. // -// llgo:link (*TranslationUnitImpl).ModuleGetNumTopLevelHeaders C.clang_Module_getNumTopLevelHeaders -func (self *TranslationUnitImpl) ModuleGetNumTopLevelHeaders(Module Module) c.Uint { +// llgo:link TranslationUnit.ModuleGetNumTopLevelHeaders C.clang_Module_getNumTopLevelHeaders +func (self TranslationUnit) ModuleGetNumTopLevelHeaders(Module Module) c.Uint { return 0 } @@ -5274,8 +5276,8 @@ func (self *TranslationUnitImpl) ModuleGetNumTopLevelHeaders(Module Module) c.Ui // // \returns the specified top level header associated with the module. // -// llgo:link (*TranslationUnitImpl).ModuleGetTopLevelHeader C.clang_Module_getTopLevelHeader -func (self *TranslationUnitImpl) ModuleGetTopLevelHeader(Module Module, Index c.Uint) File { +// llgo:link TranslationUnit.ModuleGetTopLevelHeader C.clang_Module_getTopLevelHeader +func (self TranslationUnit) ModuleGetTopLevelHeader(Module Module, Index c.Uint) File { return 0 } @@ -5562,8 +5564,8 @@ func (self Cursor) ReferenceNameRange(NameFlags c.Uint, PieceIndex c.Uint) Sourc // exist. The returned pointer must be freed with clang_disposeTokens before the // translation unit is destroyed. // -// llgo:link (*TranslationUnitImpl).Token C.clang_getToken -func (self *TranslationUnitImpl) Token(Location SourceLocation) *Token { +// llgo:link TranslationUnit.Token C.clang_getToken +func (self TranslationUnit) Token(Location SourceLocation) *Token { return nil } @@ -5579,22 +5581,22 @@ func (self Token) Kind() TokenKind { // The spelling of a token is the textual representation of that token, e.g., // the text of an identifier or keyword. // -// llgo:link (*TranslationUnitImpl).TokenSpelling C.clang_getTokenSpelling -func (self *TranslationUnitImpl) TokenSpelling(_llcppg_param2 Token) String { +// llgo:link TranslationUnit.TokenSpelling C.clang_getTokenSpelling +func (self TranslationUnit) TokenSpelling(_llcppg_param2 Token) String { return String{} } // Retrieve the source location of the given token. // -// llgo:link (*TranslationUnitImpl).TokenLocation C.clang_getTokenLocation -func (self *TranslationUnitImpl) TokenLocation(_llcppg_param2 Token) SourceLocation { +// llgo:link TranslationUnit.TokenLocation C.clang_getTokenLocation +func (self TranslationUnit) TokenLocation(_llcppg_param2 Token) SourceLocation { return SourceLocation{} } // Retrieve a source range that covers the given token. // -// llgo:link (*TranslationUnitImpl).TokenExtent C.clang_getTokenExtent -func (self *TranslationUnitImpl) TokenExtent(_llcppg_param2 Token) SourceRange { +// llgo:link TranslationUnit.TokenExtent C.clang_getTokenExtent +func (self TranslationUnit) TokenExtent(_llcppg_param2 Token) SourceRange { return SourceRange{} } @@ -5613,8 +5615,8 @@ func (self *TranslationUnitImpl) TokenExtent(_llcppg_param2 Token) SourceRange { // \param NumTokens will be set to the number of tokens in the \c *Tokens // array. // -// llgo:link (*TranslationUnitImpl).Tokenize C.clang_tokenize -func (self *TranslationUnitImpl) Tokenize(Range SourceRange, Tokens **Token, NumTokens *c.Uint) { +// llgo:link TranslationUnit.Tokenize C.clang_tokenize +func (self TranslationUnit) Tokenize(Range SourceRange, Tokens **Token, NumTokens *c.Uint) { } // Annotate the given set of tokens by providing cursors for each token @@ -5646,14 +5648,14 @@ func (self *TranslationUnitImpl) Tokenize(Range SourceRange, Tokens **Token, Num // \param Cursors an array of \p NumTokens cursors, whose contents will be // replaced with the cursors corresponding to each token. // -// llgo:link (*TranslationUnitImpl).AnnotateTokens C.clang_annotateTokens -func (self *TranslationUnitImpl) AnnotateTokens(Tokens *Token, NumTokens c.Uint, Cursors *Cursor) { +// llgo:link TranslationUnit.AnnotateTokens C.clang_annotateTokens +func (self TranslationUnit) AnnotateTokens(Tokens *Token, NumTokens c.Uint, Cursors *Cursor) { } // Free the given set of tokens. // -// llgo:link (*TranslationUnitImpl).DisposeTokens C.clang_disposeTokens -func (self *TranslationUnitImpl) DisposeTokens(Tokens *Token, NumTokens c.Uint) { +// llgo:link TranslationUnit.DisposeTokens C.clang_disposeTokens +func (self TranslationUnit) DisposeTokens(Tokens *Token, NumTokens c.Uint) { } // \defgroup CINDEX_DEBUG Debugging facilities @@ -5961,8 +5963,8 @@ func DefaultCodeCompleteOptions() c.Uint // freed with \c clang_disposeCodeCompleteResults(). If code // completion fails, returns NULL. // -// llgo:link (*TranslationUnitImpl).CodeCompleteAt C.clang_codeCompleteAt -func (self *TranslationUnitImpl) CodeCompleteAt(complete_filename *c.Char, complete_line c.Uint, complete_column c.Uint, unsaved_files *UnsavedFile, num_unsaved_files c.Uint, options c.Uint) *CodeCompleteResults { +// llgo:link TranslationUnit.CodeCompleteAt C.clang_codeCompleteAt +func (self TranslationUnit) CodeCompleteAt(complete_filename *c.Char, complete_line c.Uint, complete_column c.Uint, unsaved_files *UnsavedFile, num_unsaved_files c.Uint, options c.Uint) *CodeCompleteResults { return nil } @@ -6083,8 +6085,9 @@ func ToggleCrashRecovery(isEnabled c.Uint) // file. This does not include headers included by the PCH file (unless one // is inspecting the inclusions in the PCH file itself). // -//go:linkname GetInclusions C.clang_getInclusions -func GetInclusions(tu TranslationUnit, visitor InclusionVisitor, client_data ClientData) +// llgo:link TranslationUnit.Inclusions C.clang_getInclusions +func (self TranslationUnit) Inclusions(visitor InclusionVisitor, client_data ClientData) { +} // If cursor is a statement declaration tries to evaluate the // statement and if its variable, tries to evaluate its initializer, @@ -6189,8 +6192,8 @@ func (self Cursor) FindReferencesInFile(file File, visitor CursorAndRangeVisitor // // \returns one of the CXResult enumerators. // -// llgo:link (*TranslationUnitImpl).FindIncludesInFile C.clang_findIncludesInFile -func (self *TranslationUnitImpl) FindIncludesInFile(file File, visitor CursorAndRangeVisitor) Result { +// llgo:link TranslationUnit.FindIncludesInFile C.clang_findIncludesInFile +func (self TranslationUnit) FindIncludesInFile(file File, visitor CursorAndRangeVisitor) Result { return 0 } @@ -6375,8 +6378,10 @@ func (self IdxLoc) SourceLocation() SourceLocation { // \returns a non-zero value if the traversal was terminated // prematurely by the visitor returning \c CXFieldVisit_Break. // -//go:linkname TypeVisitFields C.clang_Type_visitFields -func TypeVisitFields(T Type, visitor FieldVisitor, client_data ClientData) c.Uint +// llgo:link Type.VisitFields C.clang_Type_visitFields +func (self Type) VisitFields(visitor FieldVisitor, client_data ClientData) c.Uint { + return 0 +} // Visit the base classes of a type. // @@ -6396,8 +6401,10 @@ func TypeVisitFields(T Type, visitor FieldVisitor, client_data ClientData) c.Uin // \returns a non-zero value if the traversal was terminated // prematurely by the visitor returning \c CXFieldVisit_Break. // -//go:linkname VisitCXXBaseClasses C.clang_visitCXXBaseClasses -func VisitCXXBaseClasses(T Type, visitor FieldVisitor, client_data ClientData) c.Uint +// llgo:link Type.VisitCXXBaseClasses C.clang_visitCXXBaseClasses +func (self Type) VisitCXXBaseClasses(visitor FieldVisitor, client_data ClientData) c.Uint { + return 0 +} // Visit the class methods of a type. // @@ -6417,8 +6424,10 @@ func VisitCXXBaseClasses(T Type, visitor FieldVisitor, client_data ClientData) c // \returns A non-zero value if the traversal was terminated // prematurely by the visitor returning \c CXFieldVisit_Break. // -//go:linkname VisitCXXMethods C.clang_visitCXXMethods -func VisitCXXMethods(T Type, visitor FieldVisitor, client_data ClientData) c.Uint +// llgo:link Type.VisitCXXMethods C.clang_visitCXXMethods +func (self Type) VisitCXXMethods(visitor FieldVisitor, client_data ClientData) c.Uint { + return 0 +} // Retrieve the spelling of a given CXBinaryOperatorKind. // diff --git a/tool/_testc/clang-c-22.1.8/Index/out.go b/tool/_testc/clang-c-22.1.8/Index/out.go index ea472380..29b7b788 100644 --- a/tool/_testc/clang-c-22.1.8/Index/out.go +++ b/tool/_testc/clang-c-22.1.8/Index/out.go @@ -2959,8 +2959,8 @@ func (_llcppg_param1 Index) SetInvocationEmissionPathOption(Path *c.Char) { // multiple inclusions, either with the conventional // \#ifndef/\#define/\#endif macro guards or with \#pragma once. // -// llgo:link (*TranslationUnitImpl).IsFileMultipleIncludeGuarded C.clang_isFileMultipleIncludeGuarded -func (tu *TranslationUnitImpl) IsFileMultipleIncludeGuarded(file CXFile.File) c.Uint { +// llgo:link TranslationUnit.IsFileMultipleIncludeGuarded C.clang_isFileMultipleIncludeGuarded +func (tu TranslationUnit) IsFileMultipleIncludeGuarded(file CXFile.File) c.Uint { return 0 } @@ -2973,8 +2973,8 @@ func (tu *TranslationUnitImpl) IsFileMultipleIncludeGuarded(file CXFile.File) c. // \returns the file handle for the named file in the translation unit \p tu, // or a NULL file handle if the file was not a part of this translation unit. // -// llgo:link (*TranslationUnitImpl).File C.clang_getFile -func (tu *TranslationUnitImpl) File(file_name *c.Char) CXFile.File { +// llgo:link TranslationUnit.File C.clang_getFile +func (tu TranslationUnit) File(file_name *c.Char) CXFile.File { return 0 } @@ -2989,24 +2989,24 @@ func (tu *TranslationUnitImpl) File(file_name *c.Char) CXFile.File { // \returns a pointer to the buffer in memory that holds the contents of // \p file, or a NULL pointer when the file is not loaded. // -// llgo:link (*TranslationUnitImpl).FileContents C.clang_getFileContents -func (tu *TranslationUnitImpl) FileContents(file CXFile.File, size *cstdlib.SizeT) *c.Char { +// llgo:link TranslationUnit.FileContents C.clang_getFileContents +func (tu TranslationUnit) FileContents(file CXFile.File, size *cstdlib.SizeT) *c.Char { return nil } // Retrieves the source location associated with a given file/line/column // in a particular translation unit. // -// llgo:link (*TranslationUnitImpl).Location C.clang_getLocation -func (tu *TranslationUnitImpl) Location(file CXFile.File, line c.Uint, column c.Uint) CXSourceLocation.SourceLocation { +// llgo:link TranslationUnit.Location C.clang_getLocation +func (tu TranslationUnit) Location(file CXFile.File, line c.Uint, column c.Uint) CXSourceLocation.SourceLocation { return CXSourceLocation.SourceLocation{} } // Retrieves the source location associated with a given character offset // in a particular translation unit. // -// llgo:link (*TranslationUnitImpl).LocationForOffset C.clang_getLocationForOffset -func (tu *TranslationUnitImpl) LocationForOffset(file CXFile.File, offset c.Uint) CXSourceLocation.SourceLocation { +// llgo:link TranslationUnit.LocationForOffset C.clang_getLocationForOffset +func (tu TranslationUnit) LocationForOffset(file CXFile.File, offset c.Uint) CXSourceLocation.SourceLocation { return CXSourceLocation.SourceLocation{} } @@ -3015,8 +3015,8 @@ func (tu *TranslationUnitImpl) LocationForOffset(file CXFile.File, offset c.Uint // The preprocessor will skip lines when they are surrounded by an // if/ifdef/ifndef directive whose condition does not evaluate to true. // -// llgo:link (*TranslationUnitImpl).SkippedRanges C.clang_getSkippedRanges -func (tu *TranslationUnitImpl) SkippedRanges(file CXFile.File) *CXSourceLocation.SourceRangeList { +// llgo:link TranslationUnit.SkippedRanges C.clang_getSkippedRanges +func (tu TranslationUnit) SkippedRanges(file CXFile.File) *CXSourceLocation.SourceRangeList { return nil } @@ -3026,16 +3026,16 @@ func (tu *TranslationUnitImpl) SkippedRanges(file CXFile.File) *CXSourceLocation // The preprocessor will skip lines when they are surrounded by an // if/ifdef/ifndef directive whose condition does not evaluate to true. // -// llgo:link (*TranslationUnitImpl).AllSkippedRanges C.clang_getAllSkippedRanges -func (tu *TranslationUnitImpl) AllSkippedRanges() *CXSourceLocation.SourceRangeList { +// llgo:link TranslationUnit.AllSkippedRanges C.clang_getAllSkippedRanges +func (tu TranslationUnit) AllSkippedRanges() *CXSourceLocation.SourceRangeList { return nil } // Determine the number of diagnostics produced for the given // translation unit. // -// llgo:link (*TranslationUnitImpl).NumDiagnostics C.clang_getNumDiagnostics -func (Unit *TranslationUnitImpl) NumDiagnostics() c.Uint { +// llgo:link TranslationUnit.NumDiagnostics C.clang_getNumDiagnostics +func (Unit TranslationUnit) NumDiagnostics() c.Uint { return 0 } @@ -3047,8 +3047,8 @@ func (Unit *TranslationUnitImpl) NumDiagnostics() c.Uint { // \returns the requested diagnostic. This diagnostic must be freed // via a call to \c clang_disposeDiagnostic(). // -// llgo:link (*TranslationUnitImpl).Diagnostic C.clang_getDiagnostic -func (Unit *TranslationUnitImpl) Diagnostic(Index c.Uint) CXDiagnostic.Diagnostic { +// llgo:link TranslationUnit.Diagnostic C.clang_getDiagnostic +func (Unit TranslationUnit) Diagnostic(Index c.Uint) CXDiagnostic.Diagnostic { return 0 } @@ -3057,15 +3057,15 @@ func (Unit *TranslationUnitImpl) Diagnostic(Index c.Uint) CXDiagnostic.Diagnosti // // \param Unit the translation unit to query. // -// llgo:link (*TranslationUnitImpl).DiagnosticSetFromTU C.clang_getDiagnosticSetFromTU -func (Unit *TranslationUnitImpl) DiagnosticSetFromTU() CXDiagnostic.DiagnosticSet { +// llgo:link TranslationUnit.DiagnosticSetFromTU C.clang_getDiagnosticSetFromTU +func (Unit TranslationUnit) DiagnosticSetFromTU() CXDiagnostic.DiagnosticSet { return 0 } // Get the original translation unit source file name. // -// llgo:link (*TranslationUnitImpl).Spelling C.clang_getTranslationUnitSpelling -func (CTUnit *TranslationUnitImpl) Spelling() CXString.String { +// llgo:link TranslationUnit.Spelling C.clang_getTranslationUnitSpelling +func (CTUnit TranslationUnit) Spelling() CXString.String { return CXString.String{} } @@ -3224,8 +3224,8 @@ func (CIdx Index) ParseTranslationUnit2FullArgv(source_filename *c.Char, command // set contains an unspecified set of options that save translation units with // the most commonly-requested data. // -// llgo:link (*TranslationUnitImpl).DefaultSaveOptions C.clang_defaultSaveOptions -func (TU *TranslationUnitImpl) DefaultSaveOptions() c.Uint { +// llgo:link TranslationUnit.DefaultSaveOptions C.clang_defaultSaveOptions +func (TU TranslationUnit) DefaultSaveOptions() c.Uint { return 0 } @@ -3251,8 +3251,8 @@ func (TU *TranslationUnitImpl) DefaultSaveOptions() c.Uint { // enumeration. Zero (CXSaveError_None) indicates that the translation unit was // saved successfully, while a non-zero value indicates that a problem occurred. // -// llgo:link (*TranslationUnitImpl).Save C.clang_saveTranslationUnit -func (TU *TranslationUnitImpl) Save(FileName *c.Char, options c.Uint) c.Int { +// llgo:link TranslationUnit.Save C.clang_saveTranslationUnit +func (TU TranslationUnit) Save(FileName *c.Char, options c.Uint) c.Int { return 0 } @@ -3262,15 +3262,15 @@ func (TU *TranslationUnitImpl) Save(FileName *c.Char, options c.Uint) c.Int { // side does not support any other calls than \c clang_reparseTranslationUnit // to resume it or \c clang_disposeTranslationUnit to dispose it completely. // -// llgo:link (*TranslationUnitImpl).Suspend C.clang_suspendTranslationUnit -func (_llcppg_param1 *TranslationUnitImpl) Suspend() c.Uint { +// llgo:link TranslationUnit.Suspend C.clang_suspendTranslationUnit +func (_llcppg_param1 TranslationUnit) Suspend() c.Uint { return 0 } // Destroy the specified CXTranslationUnit object. // -// llgo:link (*TranslationUnitImpl).Dispose C.clang_disposeTranslationUnit -func (_llcppg_param1 *TranslationUnitImpl) Dispose() { +// llgo:link TranslationUnit.Dispose C.clang_disposeTranslationUnit +func (_llcppg_param1 TranslationUnit) Dispose() { } // Returns the set of flags that is suitable for reparsing a translation @@ -3282,8 +3282,8 @@ func (_llcppg_param1 *TranslationUnitImpl) Dispose() { // of reparsing. The set of optimizations enabled may change from one version // to the next. // -// llgo:link (*TranslationUnitImpl).DefaultReparseOptions C.clang_defaultReparseOptions -func (TU *TranslationUnitImpl) DefaultReparseOptions() c.Uint { +// llgo:link TranslationUnit.DefaultReparseOptions C.clang_defaultReparseOptions +func (TU TranslationUnit) DefaultReparseOptions() c.Uint { return 0 } @@ -3325,8 +3325,8 @@ func (TU *TranslationUnitImpl) DefaultReparseOptions() c.Uint { // \c clang_disposeTranslationUnit(TU). The error codes returned by this // routine are described by the \c CXErrorCode enum. // -// llgo:link (*TranslationUnitImpl).Reparse C.clang_reparseTranslationUnit -func (TU *TranslationUnitImpl) Reparse(num_unsaved_files c.Uint, unsaved_files *UnsavedFile, options c.Uint) c.Int { +// llgo:link TranslationUnit.Reparse C.clang_reparseTranslationUnit +func (TU TranslationUnit) Reparse(num_unsaved_files c.Uint, unsaved_files *UnsavedFile, options c.Uint) c.Int { return 0 } @@ -3341,8 +3341,8 @@ func (kind TUResourceUsageKind) Name() *c.Char { // Return the memory usage of a translation unit. This object // should be released with clang_disposeCXTUResourceUsage(). // -// llgo:link (*TranslationUnitImpl).ResourceUsage C.clang_getCXTUResourceUsage -func (TU *TranslationUnitImpl) ResourceUsage() TUResourceUsage { +// llgo:link TranslationUnit.ResourceUsage C.clang_getCXTUResourceUsage +func (TU TranslationUnit) ResourceUsage() TUResourceUsage { return TUResourceUsage{} } @@ -3354,23 +3354,23 @@ func (usage TUResourceUsage) Dispose() { // // The CXTargetInfo object cannot outlive the CXTranslationUnit object. // -// llgo:link (*TranslationUnitImpl).TargetInfo C.clang_getTranslationUnitTargetInfo -func (CTUnit *TranslationUnitImpl) TargetInfo() TargetInfo { +// llgo:link TranslationUnit.TargetInfo C.clang_getTranslationUnitTargetInfo +func (CTUnit TranslationUnit) TargetInfo() TargetInfo { return nil } // Destroy the CXTargetInfo object. // -// llgo:link (*TargetInfoImpl).Dispose C.clang_TargetInfo_dispose -func (Info *TargetInfoImpl) Dispose() { +// llgo:link TargetInfo.Dispose C.clang_TargetInfo_dispose +func (Info TargetInfo) Dispose() { } // Get the normalized target triple as a string. // // Returns the empty string in case of any error. // -// llgo:link (*TargetInfoImpl).Triple C.clang_TargetInfo_getTriple -func (Info *TargetInfoImpl) Triple() CXString.String { +// llgo:link TargetInfo.Triple C.clang_TargetInfo_getTriple +func (Info TargetInfo) Triple() CXString.String { return CXString.String{} } @@ -3378,8 +3378,8 @@ func (Info *TargetInfoImpl) Triple() CXString.String { // // Returns -1 in case of error. // -// llgo:link (*TargetInfoImpl).PointerWidth C.clang_TargetInfo_getPointerWidth -func (Info *TargetInfoImpl) PointerWidth() c.Int { +// llgo:link TargetInfo.PointerWidth C.clang_TargetInfo_getPointerWidth +func (Info TargetInfo) PointerWidth() c.Int { return 0 } @@ -3393,8 +3393,8 @@ func GetNullCursor() Cursor // The translation unit cursor can be used to start traversing the // various declarations within the given translation unit. // -// llgo:link (*TranslationUnitImpl).Cursor C.clang_getTranslationUnitCursor -func (_llcppg_param1 *TranslationUnitImpl) Cursor() Cursor { +// llgo:link TranslationUnit.Cursor C.clang_getTranslationUnitCursor +func (_llcppg_param1 TranslationUnit) Cursor() Cursor { return Cursor{} } @@ -3652,16 +3652,16 @@ func CreateCursorSet() CursorSet // Disposes a CXCursorSet and releases its associated memory. // -// llgo:link (*CursorSetImpl).Dispose C.clang_disposeCXCursorSet -func (cset *CursorSetImpl) Dispose() { +// llgo:link CursorSet.Dispose C.clang_disposeCXCursorSet +func (cset CursorSet) Dispose() { } // Queries a CXCursorSet to see if it contains a specific CXCursor. // // \returns non-zero if the set contains the specified cursor. // -// llgo:link (*CursorSetImpl).Contains C.clang_CXCursorSet_contains -func (cset *CursorSetImpl) Contains(cursor Cursor) c.Uint { +// llgo:link CursorSet.Contains C.clang_CXCursorSet_contains +func (cset CursorSet) Contains(cursor Cursor) c.Uint { return 0 } @@ -3669,8 +3669,8 @@ func (cset *CursorSetImpl) Contains(cursor Cursor) c.Uint { // // \returns zero if the CXCursor was already in the set, and non-zero otherwise. // -// llgo:link (*CursorSetImpl).Insert C.clang_CXCursorSet_insert -func (cset *CursorSetImpl) Insert(cursor Cursor) c.Uint { +// llgo:link CursorSet.Insert C.clang_CXCursorSet_insert +func (cset CursorSet) Insert(cursor Cursor) c.Uint { return 0 } @@ -3824,8 +3824,8 @@ func (cursor Cursor) IncludedFile() CXFile.File { // \returns a cursor representing the entity at the given source location, or // a NULL cursor if no such entity can be found. // -// llgo:link (*TranslationUnitImpl).GetCursor C.clang_getCursor -func (_llcppg_param1 *TranslationUnitImpl) GetCursor(_llcppg_param2 CXSourceLocation.SourceLocation) Cursor { +// llgo:link TranslationUnit.GetCursor C.clang_getCursor +func (_llcppg_param1 TranslationUnit) GetCursor(_llcppg_param2 CXSourceLocation.SourceLocation) Cursor { return Cursor{} } @@ -4702,8 +4702,10 @@ func (_llcppg_param1 Cursor) IBOutletCollectionType() Type { // \returns a non-zero value if the traversal was terminated // prematurely by the visitor returning \c CXChildVisit_Break. // -//go:linkname VisitChildren C.clang_visitChildren -func VisitChildren(parent Cursor, visitor CursorVisitor, client_data ClientData) c.Uint +// llgo:link Cursor.VisitChildren C.clang_visitChildren +func (parent Cursor) VisitChildren(visitor CursorVisitor, client_data ClientData) c.Uint { + return 0 +} // Retrieve a Unified Symbol Resolution (USR) for the entity referenced // by the given cursor. @@ -5212,8 +5214,8 @@ func (C Cursor) Module() Module { // Given a CXFile header file, return the module that contains it, if one // exists. // -// llgo:link (*TranslationUnitImpl).ModuleForFile C.clang_getModuleForFile -func (_llcppg_param1 *TranslationUnitImpl) ModuleForFile(_llcppg_param2 CXFile.File) Module { +// llgo:link TranslationUnit.ModuleForFile C.clang_getModuleForFile +func (_llcppg_param1 TranslationUnit) ModuleForFile(_llcppg_param2 CXFile.File) Module { return 0 } @@ -5268,8 +5270,8 @@ func (Module Module) IsSystem() c.Int { // // \returns the number of top level headers associated with this module. // -// llgo:link (*TranslationUnitImpl).ModuleGetNumTopLevelHeaders C.clang_Module_getNumTopLevelHeaders -func (_llcppg_param1 *TranslationUnitImpl) ModuleGetNumTopLevelHeaders(Module Module) c.Uint { +// llgo:link TranslationUnit.ModuleGetNumTopLevelHeaders C.clang_Module_getNumTopLevelHeaders +func (_llcppg_param1 TranslationUnit) ModuleGetNumTopLevelHeaders(Module Module) c.Uint { return 0 } @@ -5279,8 +5281,8 @@ func (_llcppg_param1 *TranslationUnitImpl) ModuleGetNumTopLevelHeaders(Module Mo // // \returns the specified top level header associated with the module. // -// llgo:link (*TranslationUnitImpl).ModuleGetTopLevelHeader C.clang_Module_getTopLevelHeader -func (_llcppg_param1 *TranslationUnitImpl) ModuleGetTopLevelHeader(Module Module, Index c.Uint) CXFile.File { +// llgo:link TranslationUnit.ModuleGetTopLevelHeader C.clang_Module_getTopLevelHeader +func (_llcppg_param1 TranslationUnit) ModuleGetTopLevelHeader(Module Module, Index c.Uint) CXFile.File { return 0 } @@ -5567,8 +5569,8 @@ func (C Cursor) ReferenceNameRange(NameFlags c.Uint, PieceIndex c.Uint) CXSource // exist. The returned pointer must be freed with clang_disposeTokens before the // translation unit is destroyed. // -// llgo:link (*TranslationUnitImpl).Token C.clang_getToken -func (TU *TranslationUnitImpl) Token(Location CXSourceLocation.SourceLocation) *Token { +// llgo:link TranslationUnit.Token C.clang_getToken +func (TU TranslationUnit) Token(Location CXSourceLocation.SourceLocation) *Token { return nil } @@ -5584,22 +5586,22 @@ func (_llcppg_param1 Token) Kind() TokenKind { // The spelling of a token is the textual representation of that token, e.g., // the text of an identifier or keyword. // -// llgo:link (*TranslationUnitImpl).TokenSpelling C.clang_getTokenSpelling -func (_llcppg_param1 *TranslationUnitImpl) TokenSpelling(_llcppg_param2 Token) CXString.String { +// llgo:link TranslationUnit.TokenSpelling C.clang_getTokenSpelling +func (_llcppg_param1 TranslationUnit) TokenSpelling(_llcppg_param2 Token) CXString.String { return CXString.String{} } // Retrieve the source location of the given token. // -// llgo:link (*TranslationUnitImpl).TokenLocation C.clang_getTokenLocation -func (_llcppg_param1 *TranslationUnitImpl) TokenLocation(_llcppg_param2 Token) CXSourceLocation.SourceLocation { +// llgo:link TranslationUnit.TokenLocation C.clang_getTokenLocation +func (_llcppg_param1 TranslationUnit) TokenLocation(_llcppg_param2 Token) CXSourceLocation.SourceLocation { return CXSourceLocation.SourceLocation{} } // Retrieve a source range that covers the given token. // -// llgo:link (*TranslationUnitImpl).TokenExtent C.clang_getTokenExtent -func (_llcppg_param1 *TranslationUnitImpl) TokenExtent(_llcppg_param2 Token) CXSourceLocation.SourceRange { +// llgo:link TranslationUnit.TokenExtent C.clang_getTokenExtent +func (_llcppg_param1 TranslationUnit) TokenExtent(_llcppg_param2 Token) CXSourceLocation.SourceRange { return CXSourceLocation.SourceRange{} } @@ -5618,8 +5620,8 @@ func (_llcppg_param1 *TranslationUnitImpl) TokenExtent(_llcppg_param2 Token) CXS // \param NumTokens will be set to the number of tokens in the \c *Tokens // array. // -// llgo:link (*TranslationUnitImpl).Tokenize C.clang_tokenize -func (TU *TranslationUnitImpl) Tokenize(Range CXSourceLocation.SourceRange, Tokens **Token, NumTokens *c.Uint) { +// llgo:link TranslationUnit.Tokenize C.clang_tokenize +func (TU TranslationUnit) Tokenize(Range CXSourceLocation.SourceRange, Tokens **Token, NumTokens *c.Uint) { } // Annotate the given set of tokens by providing cursors for each token @@ -5651,14 +5653,14 @@ func (TU *TranslationUnitImpl) Tokenize(Range CXSourceLocation.SourceRange, Toke // \param Cursors an array of \p NumTokens cursors, whose contents will be // replaced with the cursors corresponding to each token. // -// llgo:link (*TranslationUnitImpl).AnnotateTokens C.clang_annotateTokens -func (TU *TranslationUnitImpl) AnnotateTokens(Tokens *Token, NumTokens c.Uint, Cursors *Cursor) { +// llgo:link TranslationUnit.AnnotateTokens C.clang_annotateTokens +func (TU TranslationUnit) AnnotateTokens(Tokens *Token, NumTokens c.Uint, Cursors *Cursor) { } // Free the given set of tokens. // -// llgo:link (*TranslationUnitImpl).DisposeTokens C.clang_disposeTokens -func (TU *TranslationUnitImpl) DisposeTokens(Tokens *Token, NumTokens c.Uint) { +// llgo:link TranslationUnit.DisposeTokens C.clang_disposeTokens +func (TU TranslationUnit) DisposeTokens(Tokens *Token, NumTokens c.Uint) { } // \defgroup CINDEX_DEBUG Debugging facilities @@ -5966,8 +5968,8 @@ func DefaultCodeCompleteOptions() c.Uint // freed with \c clang_disposeCodeCompleteResults(). If code // completion fails, returns NULL. // -// llgo:link (*TranslationUnitImpl).CodeCompleteAt C.clang_codeCompleteAt -func (TU *TranslationUnitImpl) CodeCompleteAt(complete_filename *c.Char, complete_line c.Uint, complete_column c.Uint, unsaved_files *UnsavedFile, num_unsaved_files c.Uint, options c.Uint) *CodeCompleteResults { +// llgo:link TranslationUnit.CodeCompleteAt C.clang_codeCompleteAt +func (TU TranslationUnit) CodeCompleteAt(complete_filename *c.Char, complete_line c.Uint, complete_column c.Uint, unsaved_files *UnsavedFile, num_unsaved_files c.Uint, options c.Uint) *CodeCompleteResults { return nil } @@ -6088,8 +6090,9 @@ func ToggleCrashRecovery(isEnabled c.Uint) // file. This does not include headers included by the PCH file (unless one // is inspecting the inclusions in the PCH file itself). // -//go:linkname GetInclusions C.clang_getInclusions -func GetInclusions(tu TranslationUnit, visitor InclusionVisitor, client_data ClientData) +// llgo:link TranslationUnit.Inclusions C.clang_getInclusions +func (tu TranslationUnit) Inclusions(visitor InclusionVisitor, client_data ClientData) { +} // If cursor is a statement declaration tries to evaluate the // statement and if its variable, tries to evaluate its initializer, @@ -6194,8 +6197,8 @@ func (cursor Cursor) FindReferencesInFile(file CXFile.File, visitor CursorAndRan // // \returns one of the CXResult enumerators. // -// llgo:link (*TranslationUnitImpl).FindIncludesInFile C.clang_findIncludesInFile -func (TU *TranslationUnitImpl) FindIncludesInFile(file CXFile.File, visitor CursorAndRangeVisitor) Result { +// llgo:link TranslationUnit.FindIncludesInFile C.clang_findIncludesInFile +func (TU TranslationUnit) FindIncludesInFile(file CXFile.File, visitor CursorAndRangeVisitor) Result { return 0 } @@ -6380,8 +6383,10 @@ func (loc IdxLoc) SourceLocation() CXSourceLocation.SourceLocation { // \returns a non-zero value if the traversal was terminated // prematurely by the visitor returning \c CXFieldVisit_Break. // -//go:linkname TypeVisitFields C.clang_Type_visitFields -func TypeVisitFields(T Type, visitor FieldVisitor, client_data ClientData) c.Uint +// llgo:link Type.VisitFields C.clang_Type_visitFields +func (T Type) VisitFields(visitor FieldVisitor, client_data ClientData) c.Uint { + return 0 +} // Visit the base classes of a type. // @@ -6401,8 +6406,10 @@ func TypeVisitFields(T Type, visitor FieldVisitor, client_data ClientData) c.Uin // \returns a non-zero value if the traversal was terminated // prematurely by the visitor returning \c CXFieldVisit_Break. // -//go:linkname VisitCXXBaseClasses C.clang_visitCXXBaseClasses -func VisitCXXBaseClasses(T Type, visitor FieldVisitor, client_data ClientData) c.Uint +// llgo:link Type.VisitCXXBaseClasses C.clang_visitCXXBaseClasses +func (T Type) VisitCXXBaseClasses(visitor FieldVisitor, client_data ClientData) c.Uint { + return 0 +} // Visit the class methods of a type. // @@ -6422,8 +6429,10 @@ func VisitCXXBaseClasses(T Type, visitor FieldVisitor, client_data ClientData) c // \returns A non-zero value if the traversal was terminated // prematurely by the visitor returning \c CXFieldVisit_Break. // -//go:linkname VisitCXXMethods C.clang_visitCXXMethods -func VisitCXXMethods(T Type, visitor FieldVisitor, client_data ClientData) c.Uint +// llgo:link Type.VisitCXXMethods C.clang_visitCXXMethods +func (T Type) VisitCXXMethods(visitor FieldVisitor, client_data ClientData) c.Uint { + return 0 +} // Retrieve the spelling of a given CXBinaryOperatorKind. // diff --git a/tool/_testc/clang-c-22.1.8/Rewrite.go b/tool/_testc/clang-c-22.1.8/Rewrite.go index 82500f0a..e7c67ceb 100644 --- a/tool/_testc/clang-c-22.1.8/Rewrite.go +++ b/tool/_testc/clang-c-22.1.8/Rewrite.go @@ -8,8 +8,8 @@ type Rewriter uintptr // Create CXRewriter. // -// llgo:link (*TranslationUnitImpl).RewriterCreate C.clang_CXRewriter_create -func (self *TranslationUnitImpl) RewriterCreate() Rewriter { +// llgo:link TranslationUnit.RewriterCreate C.clang_CXRewriter_create +func (self TranslationUnit) RewriterCreate() Rewriter { return 0 }