Hi Andreas, Sorry, I don't understand what you're describing. Could you maybe provide a test case -- a simple capnp file that I can run through the compiler and then dump the CodeGeneratorRequest -- and then tell me exactly what is unexpected about the request?
-Kenton On Mon, Sep 5, 2016 at 1:46 AM, Andreas Stenius <[email protected]> wrote: > Hi, > > Quick question, I'm looking at a bug I have in my Erlang capnp compiler > plugin, and have found the issue to stem from the fact that there is a > reference to a node id that isn't included in the global `nodes` list of > the `CodeGeneratorRequest` struct, and wonder if this is intended. > > Looking at the compiled `schema.capnp`, it also includes nodes for > `c++.capnp` as it was imported in the schema file, and the `namespace` > attribute node is present in `nodes`, but the `name` attribute is not. > > > Some excerpts from a dumped code generator request for schema.capnp (using > a rather dated 0.6-dev, but I got the samme issue with a newly built > version): > > ``` > requestedFiles = [(id = 12195682960037147353, filename = schema.capnp, > imports = [(id = 13688829037717245569, name = /capnp/c++.capnp)])] > ``` > > From the `nodes` array: > > ``` > (id = 13688829037717245569, displayName = capnp/c++.capnp, > displayNamePrefixLength = 10, scopeId = 0, nestedNodes = [(name = > namespace, id = 13386661402618388268), > (name = name, id = 17466269397259751886)], annotations = [(id = > 13386661402618388268, value = (text = <<99,97,112,110,...>>))], file = > void), > ``` > > we see the node for the c++.capnp file, and have two nested nodes (name > and namespace). The namespace node is present in the list as well: > > ``` > (id = 13386661402618388268, displayName = capnp/c++.capnp:namespace, > displayNamePrefixLength = 16, scopeId = 13688829037717245569, nestedNodes = > [], annotations = [], annotation = (type = (text = void), > targetsFile = true, targetsConst = false, targetsEnum = false, > targetsEnumerant = false, targetsStruct = false, targetsField = false, > targetsUnion = false, targetsGroup = false, targetsInterface = false, > targetsMethod = false, targetsParam = false, targetsAnnotation = false)), > ``` > > while the name attribute node is not.. searching for 17466269397259751886 > gives just the one hit, in the nested nodes of the c++.capnp node. > > I realize this could be an optimization, that the node is not included as > it isn't referenced directly in the schema file being compiled.. > > Sorry if this has been covered already, my searches failed to reveal them, > if that's the case.. > > Cheers, > Andreas > > -- > You received this message because you are subscribed to the Google Groups > "Cap'n Proto" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > Visit this group at https://groups.google.com/group/capnproto. > -- You received this message because you are subscribed to the Google Groups "Cap'n Proto" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. Visit this group at https://groups.google.com/group/capnproto.
