Compilation error when using --tracing=flush and --incremental=param

Issue #307 resolved
René Schöne created an issue

When the options --tracing=flush and --incremental=param, the compilation fails for every defined attribute. The error happens in the respective attribute method(s), in which a ASTNode$DepGraphNode handler is created implementing its method reactToDependencyChange. There, the recently introduced tracing calls state() inside the handler, but this refers to this class, instead of the containing class of the nonterminal, thus failing. Analogously, this does not refer to the containing class.

Comments (2)

  1. Jesper Öqvist

    To fully fix this we need a template variable with a reference to the host class for the attribute euqation (#hostClass only gives a reference to the host class for the attribute declaration).

  2. Jesper Öqvist

    [incremental] Fix code generation issue with tracing

    Wrong enclosing class reference was generated for dependency handlers in attribute equations attached to subtypes.

    Added new template variable used in attribute equation templates: HostClass, a reference to the host class for the attribute equation.

    fixes #307 (bitbucket)

    → <<cset 2523aae4c2b9>>

  3. Log in to comment