New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 615202 link

Starred by 4 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocked on:
issue 665742

Blocking:
issue 727554



Sign in to add a comment

Grok indexing for mojom files

Project Member Reported by dsansome@chromium.org, May 26 2016

Issue description

Grok should index and generate xrefs for mojom files.  These are similar to .proto files:
https://www.chromium.org/developers/design-documents/mojo
 
Cc: roc...@chromium.org
+rockot, FYI grok is part of code search

Status: Available (was: Untriaged)

Comment 3 by emso@chromium.org, Sep 15 2016

Labels: Lang Xrefs

Comment 4 by roc...@chromium.org, Sep 15 2016

Cc: yzshen@chromium.org tibell@chromium.org sa...@chromium.org
Components: Internals>Mojo

Comment 5 by ben@chromium.org, Nov 15 2016

Now that we're using mojom for all new IPC & converting existing IPC, having this would be super useful in the near term.
Emma or Dave, is this something you could take on soon?

Comment 7 by emso@chromium.org, Nov 16 2016

Owner: emso@chromium.org
Status: Assigned (was: Available)

Comment 8 by emso@chromium.org, Nov 24 2016

Some more details on what's involved (details from the grok team):

1) Find a way to capture "compilation records" for the files, including the compiler settings and dependencies. 

2) Write an indexer that can use a captured compilation record to "replay" the compiler front-end, and emit graph data according to the Kythe schema.

How much work these are depends on how reproducible the build is, and the availability of existing analysis tools for the language in question. For a typical compiled, statically typed programming language, this is morally no more than hooking up the front end of the compiler to generate a typed, resolved AST, and then walking around in that AST to emit some nodes and edges. For languages without types, or which do not have existing libraries for analysis, it may take more work. As long as the indexer conforms to the schema, existing tools and APIs should "just work", modulo bugs. 

For code-generation schema languages, like protobuf or mojom in this case, there is some additional work to instrument the code generator so that the target language indexer can find the connections back to the schema. 

Comment 9 by emso@chromium.org, Nov 24 2016

Blockedon: 665742
Components: -Internals>Mojo Internals>Mojo>Bindings

Comment 11 by emso@chromium.org, Nov 2 2017

Owner: ----
Status: Available (was: Assigned)
Labels: Mojoimprovements
Cc: -roc...@chromium.org rockot@google.com
Blocking: 727554

Sign in to add a comment