Skip to content

Commit 1e4df32

Browse files
authored
Merge pull request #129 from sourcegraph/nsc/method-typeparams
add emitting of type parameters in method signatures
2 parents 8bf82e4 + 488257b commit 1e4df32

File tree

4 files changed

+16
-0
lines changed

4 files changed

+16
-0
lines changed

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

+11
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,17 @@ public Void visitMethod(MethodTree node, Void unused) {
126126
range = CompilerRange.FROM_TEXT_SEARCH;
127127
}
128128
emitSymbolOccurrence(meth.sym, meth, Role.DEFINITION, range);
129+
130+
List<JCTree.JCTypeParameter> typeParameters = meth.getTypeParameters();
131+
int i = 0;
132+
for (Symbol.TypeVariableSymbol typeSym : meth.sym.getTypeParameters()) {
133+
emitSymbolOccurrence(
134+
typeSym,
135+
typeParameters.get(i),
136+
Role.DEFINITION,
137+
CompilerRange.FROM_POINT_TO_SYMBOL_NAME);
138+
i++;
139+
}
129140
}
130141
return super.visitMethod(node, unused);
131142
}

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

+2
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,7 @@ private DragBuilder3(EpoxyController controller, RecyclerView recyclerView, int
247247
* draggable type.
248248
*/
249249
public <U extends EpoxyModel> DragBuilder4<U> withTarget(Class<U> targetModelClass) {
250+
// ^ definition com/airbnb/epoxy/EpoxyTouchHelper#DragBuilder3#withTarget().[U]
250251
// ^^^^^^^^^^ reference com/airbnb/epoxy/EpoxyModel#
251252
// ^^^^^^^^^^^^ reference com/airbnb/epoxy/EpoxyTouchHelper#DragBuilder4#
252253
// ^ reference com/airbnb/epoxy/EpoxyTouchHelper#DragBuilder3#withTarget().[U]
@@ -737,6 +738,7 @@ private SwipeBuilder2(RecyclerView recyclerView,
737738
* swipable type.
738739
*/
739740
public <U extends EpoxyModel> SwipeBuilder3<U> withTarget(Class<U> targetModelClass) {
741+
// ^ definition com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder2#withTarget().[U]
740742
// ^^^^^^^^^^ reference com/airbnb/epoxy/EpoxyModel#
741743
// ^^^^^^^^^^^^^ reference com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder3#
742744
// ^ reference com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder2#withTarget().[U]

tests/snapshots/src/main/generated/minimized/InnerClasses.java

+2
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ public Integer apply(Integer integer) {
8585
}
8686

8787
private static <A, B> B runInnerInterface(InnerInterface<A, B> fn, A a) {
88+
// ^ definition minimized/InnerClasses#runInnerInterface().[A]
89+
// ^ definition minimized/InnerClasses#runInnerInterface().[B]
8890
// ^ reference minimized/InnerClasses#runInnerInterface().[B]
8991
// ^^^^^^^^^^^^^^^^^ definition minimized/InnerClasses#runInnerInterface().
9092
// ^^^^^^^^^^^^^^ reference minimized/InnerClasses#InnerInterface#

tests/snapshots/src/main/generated/minimized/TypeVariables.java

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ public void mI() {}
3333
}
3434

3535
public static <T extends C & I> void app(T t) {
36+
// ^ definition minimized/TypeVariables#app().[T]
3637
// ^ reference minimized/TypeVariables#C#
3738
// ^ reference minimized/TypeVariables#I#
3839
// ^^^ definition minimized/TypeVariables#app().

0 commit comments

Comments
 (0)