Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add libclang API to store and query CAS objects #8937

Closed
wants to merge 1 commit into from

Conversation

owenv
Copy link

@owenv owenv commented Jun 30, 2024

Allow libclang clients to directly access data and refs of CAS objects, and store new CAS objects

@owenv
Copy link
Author

owenv commented Jun 30, 2024

@swift-ci Please test LLVM

Copy link

@jansvoboda11 jansvoboda11 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

/**
* Stores an object in the CAS.
*
* \param Refs The refs of the object to be stored.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the Refs are CASID here? That is probably a bit confusing since ObjectRef is something slightly different.

I am ok with using CASID on API level as it is easier to print but it is not efficient to use this API to write large amount of connected CAS objects (while ObjectRef is very efficient).

@akyrtzi
Copy link

akyrtzi commented Jul 1, 2024

I chatted a bit with @owenv, I'm not sure we should be exposing generic CAS APIs from libclang. I suggested to Owen to use the llvm-c CAS API instead for experimentation purposes.

@cachemeifyoucan
Copy link

Yeah, using llcas C APIs are probably better if that is the direction we are going. I have a prototype of wrapping some simple API in swift-driver long time ago: swiftlang/swift-driver#1415

@owenv
Copy link
Author

owenv commented Jul 1, 2024

sounds good, closing this for now

@owenv owenv closed this Jul 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants