Skip to content

Commit be665e3

Browse files
committed
continue emitting refs for 'this' constructor calls
1 parent 280203c commit be665e3

File tree

11 files changed

+17
-1
lines changed

11 files changed

+17
-1
lines changed

semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbVisitor.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import com.sourcegraph.semanticdb_javac.Semanticdb.SymbolInformation.Property;
1414
import com.sourcegraph.semanticdb_javac.Semanticdb.SymbolOccurrence.Role;
1515

16+
import javax.lang.model.element.ElementKind;
1617
import javax.lang.model.util.Elements;
1718
import java.io.IOException;
1819
import java.nio.file.Path;
@@ -193,7 +194,8 @@ public Void visitVariable(VariableTree node, Void unused) {
193194
public Void visitIdentifier(IdentifierTree node, Void unused) {
194195
if (node instanceof JCTree.JCIdent) {
195196
JCTree.JCIdent ident = (JCTree.JCIdent) node;
196-
if (ident.name.toString().equals("this")) return null;
197+
if (ident.name.toString().equals("this") && ident.sym.getKind() != ElementKind.CONSTRUCTOR)
198+
return null;
197199
emitSymbolOccurrence(ident.sym, ident, Role.REFERENCE, CompilerRange.FROM_START_TO_END);
198200
}
199201
return super.visitIdentifier(node, unused);

tests/snapshots/src/main/generated/com/airbnb/epoxy/AsyncEpoxyController.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ public abstract class AsyncEpoxyController extends EpoxyController {
3232
public AsyncEpoxyController() {
3333
// ^^^^^^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/AsyncEpoxyController#`<init>`(). public AsyncEpoxyController()
3434
this(true);
35+
// ^^^^ reference com/airbnb/epoxy/AsyncEpoxyController#`<init>`(+1).
3536
}
3637

3738
/**
@@ -42,6 +43,7 @@ public AsyncEpoxyController(boolean enableAsync) {
4243
// ^^^^^^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/AsyncEpoxyController#`<init>`(+1). public AsyncEpoxyController(boolean enableAsync)
4344
// ^^^^^^^^^^^ definition local0 boolean enableAsync
4445
this(enableAsync, enableAsync);
46+
// ^^^^ reference com/airbnb/epoxy/AsyncEpoxyController#`<init>`(+2).
4547
// ^^^^^^^^^^^ reference local0
4648
// ^^^^^^^^^^^ reference local0
4749
}

tests/snapshots/src/main/generated/com/airbnb/epoxy/Carousel.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -947,6 +947,7 @@ public Padding(@Px int paddingPx, @Px int itemSpacingPx) {
947947
// ^^ reference androidx/annotation/Px#
948948
// ^^^^^^^^^^^^^ definition local53 @Px int itemSpacingPx
949949
this(paddingPx, paddingPx, paddingPx, paddingPx, itemSpacingPx, PaddingType.PX);
950+
// ^^^^ reference com/airbnb/epoxy/Carousel#Padding#`<init>`(+2).
950951
// ^^^^^^^^^ reference local52
951952
// ^^^^^^^^^ reference local52
952953
// ^^^^^^^^^ reference local52
@@ -978,6 +979,7 @@ public Padding(
978979
// ^^ reference androidx/annotation/Px#
979980
// ^^^^^^^^^^^^^ definition local58 @Px int itemSpacingPx
980981
this(leftPx, topPx, rightPx, bottomPx, itemSpacingPx, PaddingType.PX);
982+
// ^^^^ reference com/airbnb/epoxy/Carousel#Padding#`<init>`(+2).
981983
// ^^^^^^ reference local54
982984
// ^^^^^ reference local55
983985
// ^^^^^^^ reference local56

tests/snapshots/src/main/generated/com/airbnb/epoxy/DiffPayload.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ public DiffPayload(EpoxyModel<?> changedItem) {
9090
// ^^^^^^^^^^ reference com/airbnb/epoxy/EpoxyModel#
9191
// ^^^^^^^^^^^ definition local3 EpoxyModel<?> changedItem
9292
this(Collections.singletonList(changedItem));
93+
// ^^^^ reference com/airbnb/epoxy/DiffPayload#`<init>`().
9394
// ^^^^^^^^^^^ reference java/util/Collections#
9495
// ^^^^^^^^^^^^^ reference java/util/Collections#singletonList().
9596
// ^^^^^^^^^^^ reference local3

tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyController.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,7 @@ public abstract class EpoxyController implements ModelCollector, StickyHeaderCal
223223
public EpoxyController() {
224224
// ^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/EpoxyController#`<init>`(). public EpoxyController()
225225
this(defaultModelBuildingHandler, defaultDiffingHandler);
226+
// ^^^^ reference com/airbnb/epoxy/EpoxyController#`<init>`(+1).
226227
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/EpoxyController#defaultModelBuildingHandler.
227228
// ^^^^^^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/EpoxyController#defaultDiffingHandler.
228229
}

tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyHolder.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ public EpoxyHolder(@NonNull ViewParent parent) {
2727
// ^^^^^^^^^^ reference _root_/
2828
// ^^^^^^ definition local0 @NonNull unresolved_type parent
2929
this();
30+
// ^^^^ reference com/airbnb/epoxy/EpoxyHolder#`<init>`(+1).
3031
}
3132

3233
public EpoxyHolder() {

tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyItemSpacingDecorator.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ public class EpoxyItemSpacingDecorator extends RecyclerView.ItemDecoration {
8585
public EpoxyItemSpacingDecorator() {
8686
// ^^^^^^^^^^^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/EpoxyItemSpacingDecorator#`<init>`(). public EpoxyItemSpacingDecorator()
8787
this(0);
88+
// ^^^^ reference com/airbnb/epoxy/EpoxyItemSpacingDecorator#`<init>`(+1).
8889
}
8990

9091
public EpoxyItemSpacingDecorator(@Px int pxBetweenItems) {

tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyModel.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ protected EpoxyModel(long id) {
138138
public EpoxyModel() {
139139
// ^^^^^^^^^^ definition com/airbnb/epoxy/EpoxyModel#`<init>`(+1). public EpoxyModel()
140140
this(idCounter--);
141+
// ^^^^ reference com/airbnb/epoxy/EpoxyModel#`<init>`().
141142
// ^^^^^^^^^ reference com/airbnb/epoxy/EpoxyModel#idCounter.
142143
hasDefaultId = true;
143144
// ^^^^^^^^^^^^ reference com/airbnb/epoxy/EpoxyModel#hasDefaultId.

tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyModelGroup.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ public EpoxyModelGroup(@LayoutRes int layoutRes, Collection<? extends EpoxyModel
127127
// ^^^^^^^^^^ reference com/airbnb/epoxy/EpoxyModel#
128128
// ^^^^^^ definition local1 Collection<? extends EpoxyModel<?>> models
129129
this(layoutRes, new ArrayList<>(models));
130+
// ^^^^ reference com/airbnb/epoxy/EpoxyModelGroup#`<init>`(+2).
130131
// ^^^^^^^^^ reference local0
131132
// ^^^^^^^^^ reference java/util/ArrayList#`<init>`(+2).
132133
// ^^^^^^ reference local1
@@ -143,6 +144,7 @@ public EpoxyModelGroup(@LayoutRes int layoutRes, EpoxyModel<?>... models) {
143144
// ^^^^^^^^^^ reference com/airbnb/epoxy/EpoxyModel#
144145
// ^^^^^^ definition local3 EpoxyModel<?>[] models
145146
this(layoutRes, new ArrayList<>(Arrays.asList(models)));
147+
// ^^^^ reference com/airbnb/epoxy/EpoxyModelGroup#`<init>`(+2).
146148
// ^^^^^^^^^ reference local2
147149
// ^^^^^^^^^ reference java/util/ArrayList#`<init>`(+2).
148150
// ^^^^^^ reference java/util/Arrays#
@@ -220,6 +222,7 @@ protected EpoxyModelGroup(@LayoutRes int layoutRes) {
220222
// ^^^^^^^^^ reference androidx/annotation/LayoutRes#
221223
// ^^^^^^^^^ definition local8 @LayoutRes int layoutRes
222224
this();
225+
// ^^^^ reference com/airbnb/epoxy/EpoxyModelGroup#`<init>`(+3).
223226
layout(layoutRes);
224227
// ^^^^^^ reference com/airbnb/epoxy/EpoxyModel#layout().
225228
// ^^^^^^^^^ reference local8

tests/snapshots/src/main/generated/com/airbnb/epoxy/ImmutableModelException.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ class ImmutableModelException extends RuntimeException {
2828
// ^^^^^ definition local0 EpoxyModel model
2929
// ^^^^^^^^^^^^^ definition local1 int modelPosition
3030
this(model, "", modelPosition);
31+
// ^^^^ reference com/airbnb/epoxy/ImmutableModelException#`<init>`(+1).
3132
// ^^^^^ reference local0
3233
// ^^^^^^^^^^^^^ reference local1
3334
}

0 commit comments

Comments
 (0)