<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:54:18 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>OpenDaylight JIRA</title>
    <link>https://jira.opendaylight.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.20.10</version>
        <build-number>820010</build-number>
        <build-date>22-06-2022</build-date>
    </build-info>


<item>
            <title>[YANGTOOLS-784] Defer statement initialization in InferredStatementContext</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-784</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;In order to implement efficient grouping inlining with working augment/deviate statements, we need to have the concept of a node which represents a tree of potential nodes. This cannot be realized via internals of parser.stmt.reactor because it changes the mechanics of how NamespaceBehaviours work.&lt;/p&gt;

&lt;p&gt;Current design assumption is that namespaces are populated eagerly with key/value pairs and inference actions can be registered to respond to those key/values.&lt;/p&gt;

&lt;p&gt;Efficient inlining (&lt;a href=&quot;https://jira.opendaylight.org/browse/YANGTOOLS-694&quot; title=&quot;Eliminate duplicate DescriptionEffectiveStatementImpl objects&quot; class=&quot;issue-link&quot; data-issue-key=&quot;YANGTOOLS-694&quot;&gt;&lt;del&gt;YANGTOOLS-694&lt;/del&gt;&lt;/a&gt;) requires that not all nodes are instantiated, which would lead to under-populated namespaces and listeners not triggering, all of which is centered about StmtContext and StmtContext.Mutable.&lt;/p&gt;

&lt;p&gt;Currently the only use of listeners is to perform mutation, which simplifies the contract, as we really need to have a way to:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;understand that a node represents a tree (and is otherwise a StmtContext.Mutable)&lt;/li&gt;
	&lt;li&gt;understand that a listener is interested in some of its children&lt;/li&gt;
	&lt;li&gt;request such a node to give us a StmtContext.Mutable representation of its specific child (potentially again a MutableTree)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Further simplification comes from the fact that we need this to work only in one specific namespace, which is ChildSchemaNodeNamespace.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="23204">YANGTOOLS-784</key>
            <summary>Defer statement initialization in InferredStatementContext</summary>
                <type id="10100" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="1" iconUrl="https://jira.opendaylight.org/images/icons/priorities/blocker.svg">Highest</priority>
                        <status id="5" iconUrl="https://jira.opendaylight.org/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="miro.kovac">Miroslav Kovac</assignee>
                                    <reporter username="rovarga">Robert Varga</reporter>
                        <labels>
                    </labels>
                <created>Wed, 7 Jun 2017 20:47:39 +0000</created>
                <updated>Sun, 10 Apr 2022 18:35:59 +0000</updated>
                            <resolved>Thu, 3 Dec 2020 16:17:10 +0000</resolved>
                                                    <fixVersion>7.0.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                                                            <comments>
                            <comment id="67670" author="rovarga" created="Wed, 15 Jan 2020 21:00:54 +0000"  >&lt;p&gt;Note the FIXME guidance provided is not completely accurate &#8211; those methods do not have to become arguments to buildEffective(), but can be properly intercepted by a forwarding StmtContext passed in by the caller (which would be the MutableTree implementation).&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                            <outwardlinks description="blocks">
                                        <issuelink>
            <issuekey id="23114">YANGTOOLS-694</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is blocked by">
                                        <issuelink>
            <issuekey id="33483">YANGTOOLS-1155</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="31437">YANGTOOLS-956</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                            <subtask id="33482">YANGTOOLS-1154</subtask>
                            <subtask id="33484">YANGTOOLS-1156</subtask>
                            <subtask id="33485">YANGTOOLS-1157</subtask>
                            <subtask id="33488">YANGTOOLS-1160</subtask>
                            <subtask id="33489">YANGTOOLS-1161</subtask>
                            <subtask id="33490">YANGTOOLS-1162</subtask>
                            <subtask id="33598">YANGTOOLS-1184</subtask>
                            <subtask id="33599">YANGTOOLS-1185</subtask>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_11400" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10002" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>YANGTOOLS-652</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>8631</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10201" key="com.atlassian.jira.plugin.system.customfieldtypes:url">
                        <customfieldname>External issue URL</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[https://bugs.opendaylight.org/show_bug.cgi?id=8631]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10206" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Issue Type</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10308"><![CDATA[New Feature]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i029d3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>