summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/analysis/SourceIndexVisitor.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cuchaz/enigma/analysis/SourceIndexVisitor.java')
-rw-r--r--src/cuchaz/enigma/analysis/SourceIndexVisitor.java370
1 files changed, 149 insertions, 221 deletions
diff --git a/src/cuchaz/enigma/analysis/SourceIndexVisitor.java b/src/cuchaz/enigma/analysis/SourceIndexVisitor.java
index 4e98989..0d5bdc0 100644
--- a/src/cuchaz/enigma/analysis/SourceIndexVisitor.java
+++ b/src/cuchaz/enigma/analysis/SourceIndexVisitor.java
@@ -87,438 +87,366 @@ import com.strobel.decompiler.patterns.Pattern;
87 87
88import cuchaz.enigma.mapping.ClassEntry; 88import cuchaz.enigma.mapping.ClassEntry;
89 89
90public class SourceIndexVisitor implements IAstVisitor<SourceIndex,Void> 90public class SourceIndexVisitor implements IAstVisitor<SourceIndex,Void> {
91{ 91
92 @Override 92 @Override
93 public Void visitTypeDeclaration( TypeDeclaration node, SourceIndex index ) 93 public Void visitTypeDeclaration(TypeDeclaration node, SourceIndex index) {
94 { 94 TypeDefinition def = node.getUserData(Keys.TYPE_DEFINITION);
95 TypeDefinition def = node.getUserData( Keys.TYPE_DEFINITION ); 95 ClassEntry classEntry = new ClassEntry(def.getInternalName());
96 ClassEntry classEntry = new ClassEntry( def.getInternalName() ); 96 index.addDeclaration(node.getNameToken(), classEntry);
97 index.addDeclaration( node.getNameToken(), classEntry );
98 97
99 return node.acceptVisitor( new SourceIndexClassVisitor( classEntry ), index ); 98 return node.acceptVisitor(new SourceIndexClassVisitor(classEntry), index);
100 } 99 }
101 100
102 protected Void recurse( AstNode node, SourceIndex index ) 101 protected Void recurse(AstNode node, SourceIndex index) {
103 { 102 for (final AstNode child : node.getChildren()) {
104 for( final AstNode child : node.getChildren() ) 103 child.acceptVisitor(this, index);
105 {
106 child.acceptVisitor( this, index );
107 } 104 }
108 return null; 105 return null;
109 } 106 }
110 107
111 @Override 108 @Override
112 public Void visitMethodDeclaration( MethodDeclaration node, SourceIndex index ) 109 public Void visitMethodDeclaration(MethodDeclaration node, SourceIndex index) {
113 { 110 return recurse(node, index);
114 return recurse( node, index );
115 } 111 }
116 112
117 @Override 113 @Override
118 public Void visitConstructorDeclaration( ConstructorDeclaration node, SourceIndex index ) 114 public Void visitConstructorDeclaration(ConstructorDeclaration node, SourceIndex index) {
119 { 115 return recurse(node, index);
120 return recurse( node, index );
121 } 116 }
122 117
123 @Override 118 @Override
124 public Void visitFieldDeclaration( FieldDeclaration node, SourceIndex index ) 119 public Void visitFieldDeclaration(FieldDeclaration node, SourceIndex index) {
125 { 120 return recurse(node, index);
126 return recurse( node, index );
127 } 121 }
128 122
129 @Override 123 @Override
130 public Void visitEnumValueDeclaration( EnumValueDeclaration node, SourceIndex index ) 124 public Void visitEnumValueDeclaration(EnumValueDeclaration node, SourceIndex index) {
131 { 125 return recurse(node, index);
132 return recurse( node, index );
133 } 126 }
134 127
135 @Override 128 @Override
136 public Void visitParameterDeclaration( ParameterDeclaration node, SourceIndex index ) 129 public Void visitParameterDeclaration(ParameterDeclaration node, SourceIndex index) {
137 { 130 return recurse(node, index);
138 return recurse( node, index );
139 } 131 }
140 132
141 @Override 133 @Override
142 public Void visitInvocationExpression( InvocationExpression node, SourceIndex index ) 134 public Void visitInvocationExpression(InvocationExpression node, SourceIndex index) {
143 { 135 return recurse(node, index);
144 return recurse( node, index );
145 } 136 }
146 137
147 @Override 138 @Override
148 public Void visitMemberReferenceExpression( MemberReferenceExpression node, SourceIndex index ) 139 public Void visitMemberReferenceExpression(MemberReferenceExpression node, SourceIndex index) {
149 { 140 return recurse(node, index);
150 return recurse( node, index );
151 } 141 }
152 142
153 @Override 143 @Override
154 public Void visitSimpleType( SimpleType node, SourceIndex index ) 144 public Void visitSimpleType(SimpleType node, SourceIndex index) {
155 { 145 return recurse(node, index);
156 return recurse( node, index );
157 } 146 }
158 147
159 @Override 148 @Override
160 public Void visitIdentifierExpression( IdentifierExpression node, SourceIndex index ) 149 public Void visitIdentifierExpression(IdentifierExpression node, SourceIndex index) {
161 { 150 return recurse(node, index);
162 return recurse( node, index );
163 } 151 }
164 152
165 @Override 153 @Override
166 public Void visitComment( Comment node, SourceIndex index ) 154 public Void visitComment(Comment node, SourceIndex index) {
167 { 155 return recurse(node, index);
168 return recurse( node, index );
169 } 156 }
170 157
171 @Override 158 @Override
172 public Void visitPatternPlaceholder( AstNode node, Pattern pattern, SourceIndex index ) 159 public Void visitPatternPlaceholder(AstNode node, Pattern pattern, SourceIndex index) {
173 { 160 return recurse(node, index);
174 return recurse( node, index );
175 } 161 }
176 162
177 @Override 163 @Override
178 public Void visitTypeReference( TypeReferenceExpression node, SourceIndex index ) 164 public Void visitTypeReference(TypeReferenceExpression node, SourceIndex index) {
179 { 165 return recurse(node, index);
180 return recurse( node, index );
181 } 166 }
182 167
183 @Override 168 @Override
184 public Void visitJavaTokenNode( JavaTokenNode node, SourceIndex index ) 169 public Void visitJavaTokenNode(JavaTokenNode node, SourceIndex index) {
185 { 170 return recurse(node, index);
186 return recurse( node, index );
187 } 171 }
188 172
189 @Override 173 @Override
190 public Void visitIdentifier( Identifier node, SourceIndex index ) 174 public Void visitIdentifier(Identifier node, SourceIndex index) {
191 { 175 return recurse(node, index);
192 return recurse( node, index );
193 } 176 }
194 177
195 @Override 178 @Override
196 public Void visitNullReferenceExpression( NullReferenceExpression node, SourceIndex index ) 179 public Void visitNullReferenceExpression(NullReferenceExpression node, SourceIndex index) {
197 { 180 return recurse(node, index);
198 return recurse( node, index );
199 } 181 }
200 182
201 @Override 183 @Override
202 public Void visitThisReferenceExpression( ThisReferenceExpression node, SourceIndex index ) 184 public Void visitThisReferenceExpression(ThisReferenceExpression node, SourceIndex index) {
203 { 185 return recurse(node, index);
204 return recurse( node, index );
205 } 186 }
206 187
207 @Override 188 @Override
208 public Void visitSuperReferenceExpression( SuperReferenceExpression node, SourceIndex index ) 189 public Void visitSuperReferenceExpression(SuperReferenceExpression node, SourceIndex index) {
209 { 190 return recurse(node, index);
210 return recurse( node, index );
211 } 191 }
212 192
213 @Override 193 @Override
214 public Void visitClassOfExpression( ClassOfExpression node, SourceIndex index ) 194 public Void visitClassOfExpression(ClassOfExpression node, SourceIndex index) {
215 { 195 return recurse(node, index);
216 return recurse( node, index );
217 } 196 }
218 197
219 @Override 198 @Override
220 public Void visitBlockStatement( BlockStatement node, SourceIndex index ) 199 public Void visitBlockStatement(BlockStatement node, SourceIndex index) {
221 { 200 return recurse(node, index);
222 return recurse( node, index );
223 } 201 }
224 202
225 @Override 203 @Override
226 public Void visitExpressionStatement( ExpressionStatement node, SourceIndex index ) 204 public Void visitExpressionStatement(ExpressionStatement node, SourceIndex index) {
227 { 205 return recurse(node, index);
228 return recurse( node, index );
229 } 206 }
230 207
231 @Override 208 @Override
232 public Void visitBreakStatement( BreakStatement node, SourceIndex index ) 209 public Void visitBreakStatement(BreakStatement node, SourceIndex index) {
233 { 210 return recurse(node, index);
234 return recurse( node, index );
235 } 211 }
236 212
237 @Override 213 @Override
238 public Void visitContinueStatement( ContinueStatement node, SourceIndex index ) 214 public Void visitContinueStatement(ContinueStatement node, SourceIndex index) {
239 { 215 return recurse(node, index);
240 return recurse( node, index );
241 } 216 }
242 217
243 @Override 218 @Override
244 public Void visitDoWhileStatement( DoWhileStatement node, SourceIndex index ) 219 public Void visitDoWhileStatement(DoWhileStatement node, SourceIndex index) {
245 { 220 return recurse(node, index);
246 return recurse( node, index );
247 } 221 }
248 222
249 @Override 223 @Override
250 public Void visitEmptyStatement( EmptyStatement node, SourceIndex index ) 224 public Void visitEmptyStatement(EmptyStatement node, SourceIndex index) {
251 { 225 return recurse(node, index);
252 return recurse( node, index );
253 } 226 }
254 227
255 @Override 228 @Override
256 public Void visitIfElseStatement( IfElseStatement node, SourceIndex index ) 229 public Void visitIfElseStatement(IfElseStatement node, SourceIndex index) {
257 { 230 return recurse(node, index);
258 return recurse( node, index );
259 } 231 }
260 232
261 @Override 233 @Override
262 public Void visitLabelStatement( LabelStatement node, SourceIndex index ) 234 public Void visitLabelStatement(LabelStatement node, SourceIndex index) {
263 { 235 return recurse(node, index);
264 return recurse( node, index );
265 } 236 }
266 237
267 @Override 238 @Override
268 public Void visitLabeledStatement( LabeledStatement node, SourceIndex index ) 239 public Void visitLabeledStatement(LabeledStatement node, SourceIndex index) {
269 { 240 return recurse(node, index);
270 return recurse( node, index );
271 } 241 }
272 242
273 @Override 243 @Override
274 public Void visitReturnStatement( ReturnStatement node, SourceIndex index ) 244 public Void visitReturnStatement(ReturnStatement node, SourceIndex index) {
275 { 245 return recurse(node, index);
276 return recurse( node, index );
277 } 246 }
278 247
279 @Override 248 @Override
280 public Void visitSwitchStatement( SwitchStatement node, SourceIndex index ) 249 public Void visitSwitchStatement(SwitchStatement node, SourceIndex index) {
281 { 250 return recurse(node, index);
282 return recurse( node, index );
283 } 251 }
284 252
285 @Override 253 @Override
286 public Void visitSwitchSection( SwitchSection node, SourceIndex index ) 254 public Void visitSwitchSection(SwitchSection node, SourceIndex index) {
287 { 255 return recurse(node, index);
288 return recurse( node, index );
289 } 256 }
290 257
291 @Override 258 @Override
292 public Void visitCaseLabel( CaseLabel node, SourceIndex index ) 259 public Void visitCaseLabel(CaseLabel node, SourceIndex index) {
293 { 260 return recurse(node, index);
294 return recurse( node, index );
295 } 261 }
296 262
297 @Override 263 @Override
298 public Void visitThrowStatement( ThrowStatement node, SourceIndex index ) 264 public Void visitThrowStatement(ThrowStatement node, SourceIndex index) {
299 { 265 return recurse(node, index);
300 return recurse( node, index );
301 } 266 }
302 267
303 @Override 268 @Override
304 public Void visitCatchClause( CatchClause node, SourceIndex index ) 269 public Void visitCatchClause(CatchClause node, SourceIndex index) {
305 { 270 return recurse(node, index);
306 return recurse( node, index );
307 } 271 }
308 272
309 @Override 273 @Override
310 public Void visitAnnotation( Annotation node, SourceIndex index ) 274 public Void visitAnnotation(Annotation node, SourceIndex index) {
311 { 275 return recurse(node, index);
312 return recurse( node, index );
313 } 276 }
314 277
315 @Override 278 @Override
316 public Void visitNewLine( NewLineNode node, SourceIndex index ) 279 public Void visitNewLine(NewLineNode node, SourceIndex index) {
317 { 280 return recurse(node, index);
318 return recurse( node, index );
319 } 281 }
320 282
321 @Override 283 @Override
322 public Void visitVariableDeclaration( VariableDeclarationStatement node, SourceIndex index ) 284 public Void visitVariableDeclaration(VariableDeclarationStatement node, SourceIndex index) {
323 { 285 return recurse(node, index);
324 return recurse( node, index );
325 } 286 }
326 287
327 @Override 288 @Override
328 public Void visitVariableInitializer( VariableInitializer node, SourceIndex index ) 289 public Void visitVariableInitializer(VariableInitializer node, SourceIndex index) {
329 { 290 return recurse(node, index);
330 return recurse( node, index );
331 } 291 }
332 292
333 @Override 293 @Override
334 public Void visitText( TextNode node, SourceIndex index ) 294 public Void visitText(TextNode node, SourceIndex index) {
335 { 295 return recurse(node, index);
336 return recurse( node, index );
337 } 296 }
338 297
339 @Override 298 @Override
340 public Void visitImportDeclaration( ImportDeclaration node, SourceIndex index ) 299 public Void visitImportDeclaration(ImportDeclaration node, SourceIndex index) {
341 { 300 return recurse(node, index);
342 return recurse( node, index );
343 } 301 }
344 302
345 @Override 303 @Override
346 public Void visitInitializerBlock( InstanceInitializer node, SourceIndex index ) 304 public Void visitInitializerBlock(InstanceInitializer node, SourceIndex index) {
347 { 305 return recurse(node, index);
348 return recurse( node, index );
349 } 306 }
350 307
351 @Override 308 @Override
352 public Void visitTypeParameterDeclaration( TypeParameterDeclaration node, SourceIndex index ) 309 public Void visitTypeParameterDeclaration(TypeParameterDeclaration node, SourceIndex index) {
353 { 310 return recurse(node, index);
354 return recurse( node, index );
355 } 311 }
356 312
357 @Override 313 @Override
358 public Void visitCompilationUnit( CompilationUnit node, SourceIndex index ) 314 public Void visitCompilationUnit(CompilationUnit node, SourceIndex index) {
359 { 315 return recurse(node, index);
360 return recurse( node, index );
361 } 316 }
362 317
363 @Override 318 @Override
364 public Void visitPackageDeclaration( PackageDeclaration node, SourceIndex index ) 319 public Void visitPackageDeclaration(PackageDeclaration node, SourceIndex index) {
365 { 320 return recurse(node, index);
366 return recurse( node, index );
367 } 321 }
368 322
369 @Override 323 @Override
370 public Void visitArraySpecifier( ArraySpecifier node, SourceIndex index ) 324 public Void visitArraySpecifier(ArraySpecifier node, SourceIndex index) {
371 { 325 return recurse(node, index);
372 return recurse( node, index );
373 } 326 }
374 327
375 @Override 328 @Override
376 public Void visitComposedType( ComposedType node, SourceIndex index ) 329 public Void visitComposedType(ComposedType node, SourceIndex index) {
377 { 330 return recurse(node, index);
378 return recurse( node, index );
379 } 331 }
380 332
381 @Override 333 @Override
382 public Void visitWhileStatement( WhileStatement node, SourceIndex index ) 334 public Void visitWhileStatement(WhileStatement node, SourceIndex index) {
383 { 335 return recurse(node, index);
384 return recurse( node, index );
385 } 336 }
386 337
387 @Override 338 @Override
388 public Void visitPrimitiveExpression( PrimitiveExpression node, SourceIndex index ) 339 public Void visitPrimitiveExpression(PrimitiveExpression node, SourceIndex index) {
389 { 340 return recurse(node, index);
390 return recurse( node, index );
391 } 341 }
392 342
393 @Override 343 @Override
394 public Void visitCastExpression( CastExpression node, SourceIndex index ) 344 public Void visitCastExpression(CastExpression node, SourceIndex index) {
395 { 345 return recurse(node, index);
396 return recurse( node, index );
397 } 346 }
398 347
399 @Override 348 @Override
400 public Void visitBinaryOperatorExpression( BinaryOperatorExpression node, SourceIndex index ) 349 public Void visitBinaryOperatorExpression(BinaryOperatorExpression node, SourceIndex index) {
401 { 350 return recurse(node, index);
402 return recurse( node, index );
403 } 351 }
404 352
405 @Override 353 @Override
406 public Void visitInstanceOfExpression( InstanceOfExpression node, SourceIndex index ) 354 public Void visitInstanceOfExpression(InstanceOfExpression node, SourceIndex index) {
407 { 355 return recurse(node, index);
408 return recurse( node, index );
409 } 356 }
410 357
411 @Override 358 @Override
412 public Void visitIndexerExpression( IndexerExpression node, SourceIndex index ) 359 public Void visitIndexerExpression(IndexerExpression node, SourceIndex index) {
413 { 360 return recurse(node, index);
414 return recurse( node, index );
415 } 361 }
416 362
417 @Override 363 @Override
418 public Void visitUnaryOperatorExpression( UnaryOperatorExpression node, SourceIndex index ) 364 public Void visitUnaryOperatorExpression(UnaryOperatorExpression node, SourceIndex index) {
419 { 365 return recurse(node, index);
420 return recurse( node, index );
421 } 366 }
422 367
423 @Override 368 @Override
424 public Void visitConditionalExpression( ConditionalExpression node, SourceIndex index ) 369 public Void visitConditionalExpression(ConditionalExpression node, SourceIndex index) {
425 { 370 return recurse(node, index);
426 return recurse( node, index );
427 } 371 }
428 372
429 @Override 373 @Override
430 public Void visitArrayInitializerExpression( ArrayInitializerExpression node, SourceIndex index ) 374 public Void visitArrayInitializerExpression(ArrayInitializerExpression node, SourceIndex index) {
431 { 375 return recurse(node, index);
432 return recurse( node, index );
433 } 376 }
434 377
435 @Override 378 @Override
436 public Void visitObjectCreationExpression( ObjectCreationExpression node, SourceIndex index ) 379 public Void visitObjectCreationExpression(ObjectCreationExpression node, SourceIndex index) {
437 { 380 return recurse(node, index);
438 return recurse( node, index );
439 } 381 }
440 382
441 @Override 383 @Override
442 public Void visitArrayCreationExpression( ArrayCreationExpression node, SourceIndex index ) 384 public Void visitArrayCreationExpression(ArrayCreationExpression node, SourceIndex index) {
443 { 385 return recurse(node, index);
444 return recurse( node, index );
445 } 386 }
446 387
447 @Override 388 @Override
448 public Void visitAssignmentExpression( AssignmentExpression node, SourceIndex index ) 389 public Void visitAssignmentExpression(AssignmentExpression node, SourceIndex index) {
449 { 390 return recurse(node, index);
450 return recurse( node, index );
451 } 391 }
452 392
453 @Override 393 @Override
454 public Void visitForStatement( ForStatement node, SourceIndex index ) 394 public Void visitForStatement(ForStatement node, SourceIndex index) {
455 { 395 return recurse(node, index);
456 return recurse( node, index );
457 } 396 }
458 397
459 @Override 398 @Override
460 public Void visitForEachStatement( ForEachStatement node, SourceIndex index ) 399 public Void visitForEachStatement(ForEachStatement node, SourceIndex index) {
461 { 400 return recurse(node, index);
462 return recurse( node, index );
463 } 401 }
464 402
465 @Override 403 @Override
466 public Void visitTryCatchStatement( TryCatchStatement node, SourceIndex index ) 404 public Void visitTryCatchStatement(TryCatchStatement node, SourceIndex index) {
467 { 405 return recurse(node, index);
468 return recurse( node, index );
469 } 406 }
470 407
471 @Override 408 @Override
472 public Void visitGotoStatement( GotoStatement node, SourceIndex index ) 409 public Void visitGotoStatement(GotoStatement node, SourceIndex index) {
473 { 410 return recurse(node, index);
474 return recurse( node, index );
475 } 411 }
476 412
477 @Override 413 @Override
478 public Void visitParenthesizedExpression( ParenthesizedExpression node, SourceIndex index ) 414 public Void visitParenthesizedExpression(ParenthesizedExpression node, SourceIndex index) {
479 { 415 return recurse(node, index);
480 return recurse( node, index );
481 } 416 }
482 417
483 @Override 418 @Override
484 public Void visitSynchronizedStatement( SynchronizedStatement node, SourceIndex index ) 419 public Void visitSynchronizedStatement(SynchronizedStatement node, SourceIndex index) {
485 { 420 return recurse(node, index);
486 return recurse( node, index );
487 } 421 }
488 422
489 @Override 423 @Override
490 public Void visitAnonymousObjectCreationExpression( AnonymousObjectCreationExpression node, SourceIndex index ) 424 public Void visitAnonymousObjectCreationExpression(AnonymousObjectCreationExpression node, SourceIndex index) {
491 { 425 return recurse(node, index);
492 return recurse( node, index );
493 } 426 }
494 427
495 @Override 428 @Override
496 public Void visitWildcardType( WildcardType node, SourceIndex index ) 429 public Void visitWildcardType(WildcardType node, SourceIndex index) {
497 { 430 return recurse(node, index);
498 return recurse( node, index );
499 } 431 }
500 432
501 @Override 433 @Override
502 public Void visitMethodGroupExpression( MethodGroupExpression node, SourceIndex index ) 434 public Void visitMethodGroupExpression(MethodGroupExpression node, SourceIndex index) {
503 { 435 return recurse(node, index);
504 return recurse( node, index );
505 } 436 }
506 437
507 @Override 438 @Override
508 public Void visitAssertStatement( AssertStatement node, SourceIndex index ) 439 public Void visitAssertStatement(AssertStatement node, SourceIndex index) {
509 { 440 return recurse(node, index);
510 return recurse( node, index );
511 } 441 }
512 442
513 @Override 443 @Override
514 public Void visitLambdaExpression( LambdaExpression node, SourceIndex index ) 444 public Void visitLambdaExpression(LambdaExpression node, SourceIndex index) {
515 { 445 return recurse(node, index);
516 return recurse( node, index );
517 } 446 }
518 447
519 @Override 448 @Override
520 public Void visitLocalTypeDeclarationStatement( LocalTypeDeclarationStatement node, SourceIndex index ) 449 public Void visitLocalTypeDeclarationStatement(LocalTypeDeclarationStatement node, SourceIndex index) {
521 { 450 return recurse(node, index);
522 return recurse( node, index );
523 } 451 }
524} 452}