global inspections: don't create incorrect link between class and its field initializer targets

GitOrigin-RevId: 838fc87a71409dc722a9821525845e573242a883
This commit is contained in:
Bas Leijdekkers
2022-06-29 16:37:14 +02:00
committed by intellij-monorepo-bot
parent e61d97c6e1
commit 63c4ffc2bc
2 changed files with 16 additions and 8 deletions

View File

@@ -284,14 +284,6 @@ public final class RefClassImpl extends RefJavaElementImpl implements RefClass {
}
}
UField[] uFields = uClass.getFields();
for (UField uField : uFields) {
final UExpression initializer = uField.getUastInitializer();
if (initializer != null) {
refUtil.addReferencesTo(uClass, this, initializer);
}
}
final RefMethodImpl defaultConstructor = (RefMethodImpl)getDefaultConstructor();
if (defaultConstructor != null) {
for (RefClass superClass : getBaseClasses()) {
@@ -308,6 +300,7 @@ public final class RefClassImpl extends RefJavaElementImpl implements RefClass {
UMethod[] uMethods = uClass.getMethods();
for (UMethod uMethod : uMethods) {
if (uMethod.getSourcePsi() == classSourcePsi) {
// Kotlin implicit constructor
refUtil.addReferencesTo(uClass, this, uMethod.getUastBody());
}
}

View File

@@ -97,11 +97,26 @@
<line>6</line>
<description>Field has no usages.</description>
</problem>
<problem>
<file>AnonymousClass.java</file>
<line>9</line>
<description>&lt;ul&gt;&lt;li&gt;Method owner class is never instantiated OR&lt;/li&gt;&lt;li&gt;An instantiation is not reachable from entry points.&lt;/li&gt;&lt;/ul&gt;</description>
</problem>
<problem>
<file>AnonymousClass.java</file>
<line>10</line>
<description>Variable &lt;code&gt;i1&lt;/code&gt; is never used</description>
</problem>
<problem>
<file>AnonymousClass.java</file>
<line>14</line>
<description>&lt;ul&gt;&lt;li&gt;Method owner class is never instantiated OR&lt;/li&gt;&lt;li&gt;An instantiation is not reachable from entry points.&lt;/li&gt;&lt;/ul&gt;</description>
</problem>
<problem>
<file>AnonymousClass.java</file>
<line>19</line>
<description>&lt;ul&gt;&lt;li&gt;Method owner class is never instantiated OR&lt;/li&gt;&lt;li&gt;An instantiation is not reachable from entry points.&lt;/li&gt;&lt;/ul&gt;</description>
</problem>
<problem>
<file>AnonymousClass.java</file>
<line>21</line>