Commit d44ea99
Make Parameters and TypeParameters local (#38)
This PR is a follow up to the discussion we had
[here](#37 (comment)).
I also have a bunch of questions that popped up while I was creating
this PR. I hope you can help me answering them.
- Should type parameters be local?
- Type parameters are not local in java, see [test
case](https://github.com/sourcegraph/scip-java/blob/5028089e21c0484fa4c26e38179e82e8dd7dcad8/tests/snapshots/src/main/generated/com/airbnb/epoxy/BaseEpoxyTouchCallback.java#L8).
- They are not local for typescript either. ([test
case](https://github.com/sourcegraph/scip-typescript/blob/05e74c4b750990cf7868338500becce33a7997a0/snapshots/output/syntax/src/type-parameter.ts#L1))
- In clang indexer the type parameters are local ([test
case](https://github.com/sourcegraph/scip-clang/blob/a3f9908d6b79fc5e7b1fb5462653ac1e171d512d/test/index/types/bad_tagdecl.snapshot.cc#L13))
- In go they are local too ([test
case](https://github.com/sourcegraph/scip-go/blob/263821315ff57f8fd38c26d946cc302ed5a89ac7/internal/testdata/snapshots/output/inlinestruct/inlinestruct_genericindex.go#L4))
- For python I cannot see any tests with TypeVar
- Should parameters be local?
- In java they are ([test
case](https://github.com/sourcegraph/scip-java/blob/5028089e21c0484fa4c26e38179e82e8dd7dcad8/tests/snapshots/src/main/generated/com/airbnb/epoxy/BaseEpoxyAdapter.java#L186))
- For Clang they are not ([test
case](https://github.com/sourcegraph/scip-clang/blob/a3f9908d6b79fc5e7b1fb5462653ac1e171d512d/test/index/functions/methods.snapshot.cc#L114))
- For go they are not ([test
case](https://github.com/sourcegraph/scip-go/blob/263821315ff57f8fd38c26d946cc302ed5a89ac7/internal/testdata/snapshots/output/inlinestruct/inlinestruct_genericindex.go#L28))
- For typescript they are not ([test
case](https://github.com/sourcegraph/scip-typescript/blob/05e74c4b750990cf7868338500becce33a7997a0/snapshots/output/syntax/src/type-parameter.ts#L1))
- For python they are not ([test
case](https://github.com/sourcegraph/scip-python/blob/8a21e88ad5da866f6c345af08d95669910968ef6/packages/pyright-scip/snapshots/output/single_function/src/single_function.py#L26))
Also if making a symbol local helps with search because it does not go
outside of the document to look for it, would it make sense to make all
types/members local that are not visible outside of the document.
Examples for C#:
- private nested types
- private members (fields, properties, methods, etc.)
- file scoped types
(https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/file)
In general this could be applied to all languages that have the concept
of access modifiers (java, c++, etc.).
My only concern here is, if for example methods will be indexed as
local, will they still show up correctly in the UI as methods or will
they look like local variables?
I have one last question that is not related to global vs local symbols.
While I was playing around with the C# implementation I realized that
the support for [partial classes and
methods](https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/partial-classes-and-methods)
is not correct. For example both parts of a partial class declaration
will create the same symbol definition, if I add a UT test case it will
fail, however if users run the indexer it will not fail but generate two
symbol definitions. Do you know how this will affect the products
consuming the indexes?1 parent 1095448 commit d44ea99
File tree
53 files changed
+1129
-1127
lines changed- ScipDotnet
- snapshots
- output-net6.0/syntax
- Main
- VBMain
- output-net7.0/syntax
- Main
- VBMain
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
53 files changed
+1129
-1127
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
368 | 368 | | |
369 | 369 | | |
370 | 370 | | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
371 | 374 | | |
372 | 375 | | |
373 | 376 | | |
374 | | - | |
375 | 377 | | |
376 | 378 | | |
377 | 379 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
| 24 | + | |
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
| 34 | + | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
| 37 | + | |
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
63 | | - | |
| 63 | + | |
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
70 | 70 | | |
71 | | - | |
| 71 | + | |
72 | 72 | | |
73 | | - | |
| 73 | + | |
74 | 74 | | |
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
80 | 80 | | |
81 | | - | |
| 81 | + | |
82 | 82 | | |
83 | | - | |
| 83 | + | |
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
89 | | - | |
90 | | - | |
| 89 | + | |
| 90 | + | |
91 | 91 | | |
92 | 92 | | |
93 | 93 | | |
94 | | - | |
| 94 | + | |
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
98 | | - | |
| 98 | + | |
99 | 99 | | |
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
103 | | - | |
| 103 | + | |
104 | 104 | | |
105 | 105 | | |
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
109 | 109 | | |
110 | | - | |
| 110 | + | |
111 | 111 | | |
112 | | - | |
| 112 | + | |
113 | 113 | | |
114 | 114 | | |
115 | 115 | | |
116 | 116 | | |
117 | 117 | | |
118 | 118 | | |
119 | | - | |
| 119 | + | |
120 | 120 | | |
121 | | - | |
| 121 | + | |
122 | 122 | | |
123 | 123 | | |
124 | 124 | | |
125 | 125 | | |
126 | 126 | | |
127 | 127 | | |
128 | | - | |
| 128 | + | |
129 | 129 | | |
130 | | - | |
| 130 | + | |
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
134 | 134 | | |
135 | 135 | | |
136 | 136 | | |
137 | | - | |
| 137 | + | |
138 | 138 | | |
139 | | - | |
| 139 | + | |
140 | 140 | | |
141 | 141 | | |
142 | 142 | | |
143 | 143 | | |
144 | 144 | | |
145 | 145 | | |
146 | | - | |
| 146 | + | |
147 | 147 | | |
148 | | - | |
| 148 | + | |
149 | 149 | | |
150 | 150 | | |
151 | 151 | | |
152 | 152 | | |
153 | 153 | | |
154 | 154 | | |
155 | | - | |
| 155 | + | |
156 | 156 | | |
157 | | - | |
| 157 | + | |
158 | 158 | | |
159 | 159 | | |
160 | 160 | | |
161 | 161 | | |
162 | 162 | | |
163 | 163 | | |
164 | 164 | | |
165 | | - | |
| 165 | + | |
166 | 166 | | |
167 | | - | |
| 167 | + | |
168 | 168 | | |
169 | | - | |
| 169 | + | |
170 | 170 | | |
171 | 171 | | |
172 | 172 | | |
173 | | - | |
| 173 | + | |
174 | 174 | | |
175 | 175 | | |
176 | 176 | | |
| |||
184 | 184 | | |
185 | 185 | | |
186 | 186 | | |
187 | | - | |
| 187 | + | |
188 | 188 | | |
189 | 189 | | |
190 | 190 | | |
191 | 191 | | |
192 | 192 | | |
193 | 193 | | |
194 | | - | |
| 194 | + | |
195 | 195 | | |
196 | 196 | | |
197 | 197 | | |
| |||
0 commit comments