Skip to content

Commit 032eaff

Browse files
committed
fix ctor range via textsearch & dont emit ref to class in ctro call
1 parent 687fef8 commit 032eaff

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+225
-438
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ private static int findNameIn(CharSequence name, int start, String source) {
5353

5454
int offset = source.indexOf(name.toString(), start);
5555
if (offset > -1) {
56-
return offset ;
56+
return offset;
5757
}
5858
return -1;
5959
}

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

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -221,9 +221,14 @@ public Void visitMemberSelect(MemberSelectTree node, Void unused) {
221221
public Void visitNewClass(NewClassTree node, Void unused) {
222222
if (node instanceof JCTree.JCNewClass) {
223223
JCTree.JCNewClass cls = (JCTree.JCNewClass) node;
224-
emitSymbolOccurrence(cls.constructor, cls, Role.REFERENCE, CompilerRange.FROM_START_TO_END);
224+
emitSymbolOccurrence(cls.constructor, cls, Role.REFERENCE, CompilerRange.FROM_TEXT_SEARCH);
225225
}
226-
return super.visitNewClass(node, unused);
226+
227+
// to avoid emitting a reference to the class itself, we manually scan everything
228+
// except the identifier
229+
scan(node.getTypeArguments(), unused);
230+
scan(node.getArguments(), unused);
231+
return scan(node.getClassBody(), unused);
227232
}
228233

229234
// =================================================

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

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,7 @@ interface ResultCallback {
7474
private final GenerationTracker generationTracker = new GenerationTracker();
7575
// ^^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/AsyncEpoxyDiffer#GenerationTracker#
7676
// ^^^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/AsyncEpoxyDiffer#generationTracker. private final GenerationTracker generationTracker
77-
// ^^^^^^^^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/AsyncEpoxyDiffer#GenerationTracker#`<init>`().
78-
// ^^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/AsyncEpoxyDiffer#GenerationTracker#
77+
// ^^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/AsyncEpoxyDiffer#GenerationTracker#`<init>`().
7978

8079
AsyncEpoxyDiffer(
8180
//^^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/AsyncEpoxyDiffer#`<init>`(). AsyncEpoxyDiffer(unresolved_type handler, ResultCallback resultCallback, unresolved_type diffCallback)
@@ -96,8 +95,7 @@ interface ResultCallback {
9695
this.executor = new HandlerExecutor(handler);
9796
// ^^^^ reference com/airbnb/epoxy/AsyncEpoxyDiffer#
9897
// ^^^^^^^^ reference com/airbnb/epoxy/AsyncEpoxyDiffer#executor.
99-
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/HandlerExecutor#`<init>`().
100-
// ^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/HandlerExecutor#
98+
// ^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/HandlerExecutor#`<init>`().
10199
// ^^^^^^^ reference local1
102100
this.resultCallback = resultCallback;
103101
// ^^^^ reference com/airbnb/epoxy/AsyncEpoxyDiffer#
@@ -310,8 +308,7 @@ public void submitList(@Nullable final List<? extends EpoxyModel<?>> newList) {
310308
final DiffCallback wrappedCallback = new DiffCallback(previousList, newList, diffCallback);
311309
// ^^^^^^^^^^^^ reference com/airbnb/epoxy/AsyncEpoxyDiffer#DiffCallback#
312310
// ^^^^^^^^^^^^^^^ definition local11 final DiffCallback wrappedCallback
313-
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/AsyncEpoxyDiffer#DiffCallback#`<init>`().
314-
// ^^^^^^^^^^^^ reference com/airbnb/epoxy/AsyncEpoxyDiffer#DiffCallback#
311+
// ^^^^^^^^^^^^ reference com/airbnb/epoxy/AsyncEpoxyDiffer#DiffCallback#`<init>`().
315312
// ^^^^^^^^^^^^ reference local9
316313
// ^^^^^^^ reference local7
317314
// ^^^^^^^^^^^^ reference com/airbnb/epoxy/AsyncEpoxyDiffer#diffCallback.
@@ -320,7 +317,6 @@ public void submitList(@Nullable final List<? extends EpoxyModel<?>> newList) {
320317
// ^^^^^^^^ reference com/airbnb/epoxy/AsyncEpoxyDiffer#executor.
321318
// ^^^^^^^ reference java/util/concurrent/Executor#execute().
322319
// ^^^^^^^^^^^^^^^^ reference local13 6:5
323-
// ^^^^^^^^ reference java/lang/Runnable#
324320
// ^^^^^^^^ reference java/lang/Runnable#
325321
@Override
326322
// ^^^^^^^^ reference java/lang/Override#
@@ -368,7 +364,6 @@ private void onRunCompleted(
368364
// ^^^^^^^^^^^^^^ reference com/airbnb/epoxy/MainThreadExecutor#ASYNC_INSTANCE.
369365
// ^^^^^^^ reference com/airbnb/epoxy/HandlerExecutor#execute().
370366
// ^^^^^^^^^^^^^^^^ reference local20 8:5
371-
// ^^^^^^^^ reference java/lang/Runnable#
372367
// ^^^^^^^^ reference java/lang/Runnable#
373368
@Override
374369
// ^^^^^^^^ reference java/lang/Override#

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

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -78,28 +78,23 @@ public abstract class BaseEpoxyAdapter
7878
private final ViewTypeManager viewTypeManager = new ViewTypeManager();
7979
// ^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/ViewTypeManager#
8080
// ^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/BaseEpoxyAdapter#viewTypeManager. private final ViewTypeManager viewTypeManager
81-
// ^^^^^^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/ViewTypeManager#`<init>`().
82-
// ^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/ViewTypeManager#
81+
// ^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/ViewTypeManager#`<init>`().
8382
/**
8483
* Keeps track of view holders that are currently bound so we can save their state in {@link
8584
* #onSaveInstanceState(Bundle)}.
8685
*/
8786
private final BoundViewHolders boundViewHolders = new BoundViewHolders();
8887
// ^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/BoundViewHolders#
8988
// ^^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/BaseEpoxyAdapter#boundViewHolders. private final BoundViewHolders boundViewHolders
90-
// ^^^^^^^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/BoundViewHolders#`<init>`().
91-
// ^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/BoundViewHolders#
89+
// ^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/BoundViewHolders#`<init>`().
9290
private ViewHolderState viewHolderState = new ViewHolderState();
9391
// ^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/ViewHolderState#
9492
// ^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/BaseEpoxyAdapter#viewHolderState. private ViewHolderState viewHolderState
95-
// ^^^^^^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/ViewHolderState#`<init>`().
96-
// ^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/ViewHolderState#
93+
// ^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/ViewHolderState#`<init>`().
9794

9895
private final SpanSizeLookup spanSizeLookup = new SpanSizeLookup() {
9996
// ^^^^^^^^^^^^^^ reference _root_/
10097
// ^^^^^^^^^^^^^^ definition com/airbnb/epoxy/BaseEpoxyAdapter#spanSizeLookup. private final unresolved_type spanSizeLookup
101-
// ^^^^^^^^^^^^^^^^^^^^^^ reference `<any>`#`<init>`# 19:3
102-
// ^^^^^^^^^^^^^^ reference _root_/
10398
// ^^^^^^^^^^^^^^ reference _root_/
10499

105100
@Override
@@ -227,8 +222,7 @@ public EpoxyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
227222
// ^^^^^^^^^ reference com/airbnb/epoxy/EpoxyModel#buildView().
228223
// ^^^^^^ reference local7
229224
return new EpoxyViewHolder(parent, view, model.shouldSaveViewState());
230-
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/EpoxyViewHolder#`<init>`().
231-
// ^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/EpoxyViewHolder#
225+
// ^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/EpoxyViewHolder#`<init>`().
232226
// ^^^^^^ reference local7
233227
// ^^^^ reference local10
234228
// ^^^^^ reference local9
@@ -540,8 +534,7 @@ public void onSaveInstanceState(Bundle outState) {
540534
// ^^^^ reference androidx/collection/LongSparseArray#size().
541535
// ^^^^^^^^^^^^ reference com/airbnb/epoxy/BaseEpoxyAdapter#hasStableIds#
542536
throw new IllegalStateException("Must have stable ids when saving view holder state");
543-
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference java/lang/IllegalStateException#`<init>`(+1).
544-
// ^^^^^^^^^^^^^^^^^^^^^ reference java/lang/IllegalStateException#
537+
// ^^^^^^^^^^^^^^^^^^^^^ reference java/lang/IllegalStateException#`<init>`(+1).
545538
}
546539

547540
outState.putParcelable(SAVED_STATE_ARG_VIEW_HOLDERS, viewHolderState);
@@ -562,8 +555,7 @@ public void onRestoreInstanceState(@Nullable Bundle inState) {
562555
// ^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/BaseEpoxyAdapter#boundViewHolders.
563556
// ^^^^ reference com/airbnb/epoxy/BoundViewHolders#size().
564557
throw new IllegalStateException(
565-
// ^^^^^^^^^^^^^^^^^^^^^^^^^^ reference java/lang/IllegalStateException#`<init>`(+1). 2:52
566-
// ^^^^^^^^^^^^^^^^^^^^^ reference java/lang/IllegalStateException#
558+
// ^^^^^^^^^^^^^^^^^^^^^ reference java/lang/IllegalStateException#`<init>`(+1).
567559
"State cannot be restored once views have been bound. It should be done before adding "
568560
+ "the adapter to the recycler view.");
569561
}
@@ -578,8 +570,7 @@ public void onRestoreInstanceState(@Nullable Bundle inState) {
578570
if (viewHolderState == null) {
579571
// ^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/BaseEpoxyAdapter#viewHolderState.
580572
throw new IllegalStateException(
581-
// ^^^^^^^^^^^^^^^^^^^^^^^^^^ reference java/lang/IllegalStateException#`<init>`(+1). 1:89
582-
// ^^^^^^^^^^^^^^^^^^^^^ reference java/lang/IllegalStateException#
573+
// ^^^^^^^^^^^^^^^^^^^^^ reference java/lang/IllegalStateException#`<init>`(+1).
583574
"Tried to restore instance state, but onSaveInstanceState was never called.");
584575
}
585576
}

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

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@ public class BoundViewHolders implements Iterable<EpoxyViewHolder> {
3131
// ^^^^^^^^^^^^^^^ reference androidx/collection/LongSparseArray#
3232
// ^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/EpoxyViewHolder#
3333
// ^^^^^^^ definition com/airbnb/epoxy/BoundViewHolders#holders. private final LongSparseArray<EpoxyViewHolder> holders
34-
// ^^^^^^^^^^^^^^^^^^^^^^^ reference androidx/collection/LongSparseArray#`<init>`().
35-
// ^^^^^^^^^^^^^^^ reference androidx/collection/LongSparseArray#
34+
// ^^^^^^^^^^^^^^^ reference androidx/collection/LongSparseArray#`<init>`().
3635

3736
@Nullable
3837
// ^^^^^^^^ reference androidx/annotation/Nullable#
@@ -85,8 +84,7 @@ public Iterator<EpoxyViewHolder> iterator() {
8584
// ^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/EpoxyViewHolder#
8685
// ^^^^^^^^ definition com/airbnb/epoxy/BoundViewHolders#iterator(). @Override public Iterator<EpoxyViewHolder> iterator()
8786
return new HolderIterator();
88-
// ^^^^^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/BoundViewHolders#HolderIterator#`<init>`().
89-
// ^^^^^^^^^^^^^^ reference com/airbnb/epoxy/BoundViewHolders#HolderIterator#
87+
// ^^^^^^^^^^^^^^ reference com/airbnb/epoxy/BoundViewHolders#HolderIterator#`<init>`().
9088
}
9189

9290
@Nullable
@@ -129,8 +127,7 @@ public EpoxyViewHolder next() {
129127
if (!hasNext()) {
130128
// ^^^^^^^ reference com/airbnb/epoxy/BoundViewHolders#HolderIterator#hasNext().
131129
throw new NoSuchElementException();
132-
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference java/util/NoSuchElementException#`<init>`().
133-
// ^^^^^^^^^^^^^^^^^^^^^^ reference java/util/NoSuchElementException#
130+
// ^^^^^^^^^^^^^^^^^^^^^^ reference java/util/NoSuchElementException#`<init>`().
134131
}
135132
return holders.valueAt(position++);
136133
// ^^^^^^^ reference com/airbnb/epoxy/BoundViewHolders#holders.
@@ -143,8 +140,7 @@ public EpoxyViewHolder next() {
143140
public void remove() {
144141
// ^^^^^^ definition com/airbnb/epoxy/BoundViewHolders#HolderIterator#remove(). @Override public void remove()
145142
throw new UnsupportedOperationException();
146-
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference java/lang/UnsupportedOperationException#`<init>`().
147-
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference java/lang/UnsupportedOperationException#
143+
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference java/lang/UnsupportedOperationException#`<init>`().
148144
}
149145
}
150146
}

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

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,6 @@ public class Carousel extends EpoxyRecyclerView {
120120
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/Carousel#defaultGlobalSnapHelperFactory. private static SnapHelperFactory defaultGlobalSnapHelperFactory
121121
new SnapHelperFactory() {
122122
// ^^^^^^^^^^^^^^^^^^^^^^^^^ reference local1 7:7
123-
// ^^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/Carousel#SnapHelperFactory#
124123
// ^^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/Carousel#SnapHelperFactory#
125124

126125
@Override
@@ -133,8 +132,7 @@ public SnapHelper buildSnapHelper(Context context) {
133132
// ^^^^^^^ reference _root_/
134133
// ^^^^^^^ definition local3 unresolved_type context
135134
return new LinearSnapHelper();
136-
// ^^^^^^^^^^^^^^^^^^^^^^ reference `<init>`#
137-
// ^^^^^^^^^^^^^^^^ reference _root_/
135+
// ^^^^^^^^^^^^^^^^ reference `<init>`#
138136
}
139137
};
140138

@@ -339,8 +337,7 @@ public void setInitialPrefetchItemCount(int numItemsToPrefetch) {
339337
if (numItemsToPrefetch < 0) {
340338
// ^^^^^^^^^^^^^^^^^^ reference local15
341339
throw new IllegalStateException("numItemsToPrefetch must be greater than 0");
342-
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference java/lang/IllegalStateException#`<init>`(+1).
343-
// ^^^^^^^^^^^^^^^^^^^^^ reference java/lang/IllegalStateException#
340+
// ^^^^^^^^^^^^^^^^^^^^^ reference java/lang/IllegalStateException#`<init>`(+1).
344341
}
345342

346343
// Use the linearlayoutmanager default of 2 if the user did not specify one
@@ -806,14 +803,16 @@ public static Padding resource(@DimenRes int paddingRes, @DimenRes int itemSpaci
806803
// ^^^^^^^^ reference androidx/annotation/DimenRes#
807804
// ^^^^^^^^^^^^^^ definition local39 @DimenRes int itemSpacingRes
808805
return new Padding(
809-
// ^^^^^^^^^^^^ reference com/airbnb/epoxy/Carousel#Padding#`<init>`(+2). 1:95
810-
// ^^^^^^^ reference com/airbnb/epoxy/Carousel#Padding#
806+
// ^^^^^^^ reference com/airbnb/epoxy/Carousel#Padding#`<init>`(+2).
811807
paddingRes, paddingRes, paddingRes, paddingRes, itemSpacingRes, PaddingType.RESOURCE);
812808
// ^^^^^^^^^^ reference local38
813809
// ^^^^^^^^^^ reference local38
814810
// ^^^^^^^^^^ reference local38
815811
// ^^^^^^^^^^ reference local38
816812
// ^^^^^^^^^^^^^^ reference local39
813+
// ^^^^^^^^^^^ reference com/airbnb/epoxy/Carousel#Padding#PaddingType#`<init>`().
814+
// ^^^^^^^^^^^ reference com/airbnb/epoxy/Carousel#Padding#PaddingType#`<init>`().
815+
// ^^^^^^^^^^^ reference com/airbnb/epoxy/Carousel#Padding#PaddingType#`<init>`().
817816
// ^^^^^^^^^^^ reference com/airbnb/epoxy/Carousel#Padding#PaddingType#
818817
// ^^^^^^^^ reference com/airbnb/epoxy/Carousel#Padding#PaddingType#RESOURCE.
819818
}
@@ -845,8 +844,7 @@ public static Padding resource(
845844
// ^^^^^^^^ reference androidx/annotation/DimenRes#
846845
// ^^^^^^^^^^^^^^ definition local44 @DimenRes int itemSpacingRes
847846
return new Padding(
848-
// ^^^^^^^^^^^^ reference com/airbnb/epoxy/Carousel#Padding#`<init>`(+2). 1:85
849-
// ^^^^^^^ reference com/airbnb/epoxy/Carousel#Padding#
847+
// ^^^^^^^ reference com/airbnb/epoxy/Carousel#Padding#`<init>`(+2).
850848
leftRes, topRes, rightRes, bottomRes, itemSpacingRes, PaddingType.RESOURCE);
851849
// ^^^^^^^ reference local40
852850
// ^^^^^^ reference local41
@@ -878,8 +876,7 @@ public static Padding dp(
878876
// ^^ reference androidx/annotation/Dimension#DP.
879877
// ^^^^^^^^^^^^^ definition local46 @Dimension(unit = Dimension.DP) int itemSpacingDp
880878
return new Padding(paddingDp, paddingDp, paddingDp, paddingDp, itemSpacingDp, PaddingType.DP);
881-
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/Carousel#Padding#`<init>`(+2).
882-
// ^^^^^^^ reference com/airbnb/epoxy/Carousel#Padding#
879+
// ^^^^^^^ reference com/airbnb/epoxy/Carousel#Padding#`<init>`(+2).
883880
// ^^^^^^^^^ reference local45
884881
// ^^^^^^^^^ reference local45
885882
// ^^^^^^^^^ reference local45
@@ -931,8 +928,7 @@ public static Padding dp(
931928
// ^^ reference androidx/annotation/Dimension#DP.
932929
// ^^^^^^^^^^^^^ definition local51 @Dimension(unit = Dimension.DP) int itemSpacingDp
933930
return new Padding(leftDp, topDp, rightDp, bottomDp, itemSpacingDp, PaddingType.DP);
934-
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/Carousel#Padding#`<init>`(+2).
935-
// ^^^^^^^ reference com/airbnb/epoxy/Carousel#Padding#
931+
// ^^^^^^^ reference com/airbnb/epoxy/Carousel#Padding#`<init>`(+2).
936932
// ^^^^^^ reference local47
937933
// ^^^^^ reference local48
938934
// ^^^^^^^ reference local49

0 commit comments

Comments
 (0)