Changeset 1163
- Timestamp:
- 05/12/08 21:14:53 (8 months ago)
- Files:
-
- trunk/descent.core/src/descent/core/compiler/IProblem.java (modified) (1 diff)
- trunk/descent.core/src/descent/internal/codeassist/SelectionEngine.java (modified) (1 diff)
- trunk/descent.core/src/descent/internal/compiler/SourceElementParser.java (modified) (45 diffs)
- trunk/descent.core/src/descent/internal/compiler/lookup/ModuleBuilder.java (modified) (1 diff)
- trunk/descent.core/src/descent/internal/compiler/parser/ASTDmdNode.java (modified) (15 diffs)
- trunk/descent.core/src/descent/internal/compiler/parser/ASTNodeEncoder.java (modified) (1 diff)
- trunk/descent.core/src/descent/internal/compiler/parser/AnonDeclaration.java (modified) (2 diffs)
- trunk/descent.core/src/descent/internal/compiler/parser/ArrayInitializer.java (modified) (2 diffs)
- trunk/descent.core/src/descent/internal/compiler/parser/FuncDeclaration.java (modified) (54 diffs)
- trunk/descent.core/src/descent/internal/compiler/parser/Global.java (modified) (1 diff)
- trunk/descent.core/src/descent/internal/compiler/parser/Id.java (modified) (1 diff)
- trunk/descent.core/src/descent/internal/compiler/parser/Parser.java (modified) (2 diffs)
- trunk/descent.core/src/descent/internal/compiler/parser/PragmaDeclaration.java (modified) (7 diffs)
- trunk/descent.core/src/descent/internal/compiler/parser/Problem.java (modified) (1 diff)
- trunk/descent.core/src/descent/internal/compiler/parser/ProblemMessages.java (modified) (1 diff)
- trunk/descent.core/src/descent/internal/compiler/parser/ProblemMessages.properties (modified) (1 diff)
- trunk/descent.core/src/descent/internal/compiler/parser/STC.java (modified) (1 diff)
- trunk/descent.core/src/descent/internal/compiler/parser/StorageClassDeclaration.java (modified) (8 diffs)
- trunk/descent.core/src/descent/internal/compiler/parser/StructDeclaration.java (modified) (1 diff)
- trunk/descent.core/src/descent/internal/compiler/parser/TOK.java (modified) (1 diff)
- trunk/descent.core/src/descent/internal/compiler/parser/pending.txt (deleted)
- trunk/descent.core/src/descent/internal/compiler/parser/port.txt (modified) (1 diff)
- trunk/descent.core/src/descent/internal/compiler/parser/real_t.java (modified) (1 diff)
- trunk/descent.core/src/descent/internal/core/Member.java (modified) (1 diff)
- trunk/descent.core/template/problem/problems.txt (modified) (2 diffs)
- trunk/descent.ui/src/descent/internal/ui/JavaUIMessages.properties (modified) (1 diff)
- trunk/descent.ui/src/descent/ui/JavaElementLabels.java (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/descent.core/src/descent/core/compiler/IProblem.java
r1158 r1163 664 664 int UseTokenInsteadOfTokenWhenComparingWithNull = 453; 665 665 int VoidDoesNotHaveAnInitializer = 454; 666 int FunctionNameExpectedForStartAddress = 455; 666 667 667 668 } trunk/descent.core/src/descent/internal/codeassist/SelectionEngine.java
r1145 r1163 11 11 import descent.core.WorkingCopyOwner; 12 12 import descent.core.compiler.CharOperation; 13 import descent.core.dom.ASTNode;14 13 import descent.core.dom.CompilationUnitResolver; 15 14 import descent.internal.compiler.env.AccessRestriction; trunk/descent.core/src/descent/internal/compiler/SourceElementParser.java
r1161 r1163 25 25 import descent.internal.compiler.impl.CompilerOptions; 26 26 import descent.internal.compiler.parser.*; 27 import descent.internal.compiler.parser.Package;28 import descent.internal.compiler.parser.ast.ASTNode;29 27 import descent.internal.compiler.parser.ast.AstVisitorAdapter; 30 28 import descent.internal.compiler.parser.ast.NaiveASTFlattener; … … 50 48 public class SourceElementParser extends AstVisitorAdapter { 51 49 50 private final static TypeParameterInfo[] NO_TYPE_PARAMETERS = new TypeParameterInfo[0]; 51 52 52 public ISourceElementRequestor requestor; 53 53 protected Module module; … … 60 60 public boolean diet = true; 61 61 public boolean recordLineSeparator = false; 62 63 private Stack<ASTDmdNode> nodeStack = new Stack<ASTDmdNode>(); 62 64 63 65 /** … … 313 315 314 316 public void visit(AggregateDeclaration node, TemplateDeclaration templateDeclaration) { 317 nodeStack.push(node); 318 315 319 switch(node.getNodeType()) { 316 320 case ASTDmdNode.CLASS_DECLARATION: … … 334 338 335 339 private void visit(AggregateDeclaration node, int flags, BaseClasses baseClasses, TemplateDeclaration templateDeclaration) { 340 nodeStack.push(node); 341 336 342 TypeInfo info = new TypeInfo(); 337 343 if (templateDeclaration != null) { … … 348 354 if (node.ident != null) { 349 355 info.name = node.ident.ident; 350 351 356 info.nameSourceEnd = endOf(node.ident); 352 357 info.nameSourceStart = startOf(node.ident); 353 358 } else { 354 359 info.name = CharOperation.NO_CHAR; 360 if (baseClasses != null && !baseClasses.isEmpty()) { 361 BaseClass bc = baseClasses.get(0); 362 info.nameSourceStart = bc.start; 363 info.nameSourceEnd = bc.start + bc.length; 364 } else { 365 info.nameSourceStart = info.declarationStart; 366 info.nameSourceEnd = info.declarationStart + 5; // class 367 } 355 368 } 356 369 //info.secondary = !foundType; … … 428 441 } 429 442 443 nodeStack.push(node); 444 430 445 TypeInfo info = new TypeInfo(); 431 446 info.declarationStart = startOfDeclaration(node); … … 449 464 private void visit(FuncDeclaration node, TemplateDeclaration templateDeclaration) { 450 465 TypeFunction ty = (TypeFunction) node.type; 451 452 MethodInfo info = new MethodInfo(); 453 if (templateDeclaration != null) { 454 info.declarationStart = startOfDeclaration(templateDeclaration); 455 } else { 456 info.declarationStart = startOfDeclaration(node); 457 } 458 info.modifiers = getFlags(node, node.modifiers); 459 if (templateDeclaration != null) { 460 info.modifiers |= Flags.AccTemplate; 461 } 462 463 if (ty.varargs == 1) { 464 info.modifiers |= Flags.AccVarargs1; 465 } else if (ty.varargs == 2) { 466 info.modifiers |= Flags.AccVarargs2; 467 } 468 if (node.ident != null) { 469 info.name = node.ident.ident; 470 info.nameSourceStart = startOf(node.ident); 471 info.nameSourceEnd = endOf(node.ident); 472 } else { 473 info.name = CharOperation.NO_CHAR; 474 } 475 info.parameterNames = getParameterNames(ty.parameters); 476 info.parameterTypes = getParameterTypes(ty.parameters); 477 info.parameterDefaultValues = getParameterDefaultValues(ty.parameters); 478 info.returnType = getSignature(ty.next); 479 info.signature = getSignature(ty); 480 if (templateDeclaration != null) { 481 info.typeParameters = getTypeParameters(templateDeclaration.parameters); 482 } 483 484 requestor.enterMethod(info); 466 visit(node, templateDeclaration, 0, ty.parameters, node.ident.ident); 485 467 } 486 468 … … 494 476 } 495 477 496 private boolean visit(FuncDeclaration node, int flags, Arguments arguments, char[] name) { 478 private boolean visit(FuncDeclaration node, TemplateDeclaration templateDeclaration, int flags, Arguments arguments, char[] name) { 479 nodeStack.push(node); 480 497 481 MethodInfo info = new MethodInfo(); 498 info.declarationStart = startOfDeclaration(node); 482 if (templateDeclaration != null) { 483 info.declarationStart = startOfDeclaration(templateDeclaration); 484 } else { 485 info.declarationStart = startOfDeclaration(node); 486 } 499 487 info.modifiers = getFlags(node, node.modifiers); 500 488 info.modifiers |= flags; 489 if (templateDeclaration != null) { 490 info.modifiers |= Flags.AccTemplate; 491 } 501 492 info.name = name; 493 if (node.ident != null) { 494 info.nameSourceStart = node.ident.start; 495 info.nameSourceEnd = node.ident.start + node.ident.length - 1; 496 } 502 497 if (arguments != null) { 503 498 info.parameterNames = getParameterNames(arguments); … … 516 511 info.signature = getSignature(ty); 517 512 } 518 info.typeParameters = new TypeParameterInfo[0]; 513 if (templateDeclaration != null) { 514 info.typeParameters = getTypeParameters(templateDeclaration.parameters); 515 } else { 516 info.typeParameters = NO_TYPE_PARAMETERS; 517 } 519 518 520 519 requestor.enterConstructor(info); … … 524 523 @Override 525 524 public boolean visit(CtorDeclaration node) { 526 visit(node, Flags.AccConstructor, node.arguments, Id.ctor);525 visit(node, null, Flags.AccConstructor, node.arguments, Id.ctor); 527 526 pushLevelInAttribDeclarationStack(); 528 527 return true; … … 531 530 @Override 532 531 public boolean visit(DtorDeclaration node) { 533 visit(node, Flags.AccDestructor, null, Id.dtor);532 visit(node, null, Flags.AccDestructor, null, Id.dtor); 534 533 pushLevelInAttribDeclarationStack(); 535 534 return true; … … 538 537 @Override 539 538 public boolean visit(NewDeclaration node) { 540 visit(node, Flags.AccNew, node.arguments, Id.classNew);539 visit(node, null, Flags.AccNew, node.arguments, Id.classNew); 541 540 pushLevelInAttribDeclarationStack(); 542 541 return true; … … 545 544 @Override 546 545 public boolean visit(DeleteDeclaration node) { 547 visit(node, Flags.AccDelete, node.arguments, Id.classDelete);546 visit(node, null, Flags.AccDelete, node.arguments, Id.classDelete); 548 547 pushLevelInAttribDeclarationStack(); 549 548 return true; … … 552 551 @Override 553 552 public boolean visit(StaticCtorDeclaration node) { 553 nodeStack.push(node); 554 554 requestor.enterInitializer(startOfDeclaration(node), getFlags(node, node.modifiers), CharOperation.NO_CHAR); 555 555 pushLevelInAttribDeclarationStack(); … … 559 559 @Override 560 560 public boolean visit(StaticDtorDeclaration node) { 561 nodeStack.push(node); 561 562 requestor.enterInitializer(startOfDeclaration(node), getFlags(node, node.modifiers) | Flags.AccStaticDestructor, CharOperation.NO_CHAR); 562 563 pushLevelInAttribDeclarationStack(); … … 566 567 @Override 567 568 public boolean visit(InvariantDeclaration node) { 569 nodeStack.push(node); 568 570 requestor.enterInitializer(startOfDeclaration(node), getFlags(node, node.modifiers) | Flags.AccInvariant, CharOperation.NO_CHAR); 569 571 pushLevelInAttribDeclarationStack(); … … 573 575 @Override 574 576 public boolean visit(UnitTestDeclaration node) { 577 nodeStack.push(node); 575 578 requestor.enterInitializer(startOfDeclaration(node), getFlags(node, node.modifiers) | Flags.AccUnitTest, CharOperation.NO_CHAR); 576 579 pushLevelInAttribDeclarationStack(); … … 580 583 @Override 581 584 public boolean visit(VarDeclaration node) { 585 if (insideFunction()) { 586 return true; 587 } 588 582 589 VarDeclaration last = node; 583 590 while(last.next != null) { … … 601 608 requestor.enterField(info); 602 609 603 return false;610 return true; 604 611 } 605 612 606 613 @Override 607 614 public boolean visit(AliasDeclaration node) { 615 if (insideFunction()) { 616 return true; 617 } 618 608 619 AliasDeclaration last = node; 609 620 while(last.next != null) { … … 632 643 @Override 633 644 public boolean visit(TypedefDeclaration node) { 645 if (insideFunction()) { 646 return true; 647 } 648 634 649 TypedefDeclaration last = node; 635 650 while(last.next != null) { … … 717 732 @Override 718 733 public boolean visit(EnumDeclaration node) { 734 nodeStack.push(node); 735 719 736 // TODO Java -> D 720 737 // Also, since the base class notation in D dosen't distinguis between … … 730 747 } else { 731 748 info.name = CharOperation.NO_CHAR; 749 info.nameSourceStart = node.start; 750 info.nameSourceEnd = node.start + 3; // enum 732 751 } 733 752 … … 952 971 Dsymbol dsymbol = ((DeclarationExp) node.sourceExp).declaration; // SEMANTIC 953 972 switch(dsymbol.getNodeType()) { 973 case ASTDmdNode.VAR_DECLARATION: 954 974 case ASTDmdNode.ENUM_DECLARATION: 955 975 case ASTDmdNode.CLASS_DECLARATION: … … 990 1010 } 991 1011 1012 nodeStack.pop(); 1013 992 1014 requestor.exitType(endOfDeclaration(node)); 993 1015 popLevelInAttribDeclarationStack(); … … 1000 1022 } 1001 1023 1024 nodeStack.pop(); 1025 1002 1026 requestor.exitType(endOfDeclaration(node)); 1003 1027 popLevelInAttribDeclarationStack(); … … 1010 1034 } 1011 1035 1036 nodeStack.pop(); 1037 1012 1038 requestor.exitType(endOfDeclaration(node)); 1013 1039 popLevelInAttribDeclarationStack(); … … 1020 1046 } 1021 1047 1048 nodeStack.pop(); 1049 1022 1050 requestor.exitType(endOfDeclaration(node)); 1023 1051 popLevelInAttribDeclarationStack(); … … 1026 1054 @Override 1027 1055 public void endVisit(TemplateDeclaration node) { 1056 nodeStack.pop(); 1057 1028 1058 int end; 1029 1059 if (node.postComment != null) { … … 1054 1084 } 1055 1085 1086 nodeStack.pop(); 1087 1056 1088 requestor.exitMethod(endOfDeclaration(node), -1, -1); 1057 1089 popLevelInAttribDeclarationStack(); … … 1060 1092 @Override 1061 1093 public void endVisit(CtorDeclaration node) { 1094 nodeStack.pop(); 1095 1062 1096 requestor.exitConstructor(endOfDeclaration(node)); 1063 1097 popLevelInAttribDeclarationStack(); … … 1066 1100 @Override 1067 1101 public void endVisit(DtorDeclaration node) { 1102 nodeStack.pop(); 1103 1068 1104 requestor.exitConstructor(endOfDeclaration(node)); 1069 1105 popLevelInAttribDeclarationStack(); … … 1072 1108 @Override 1073 1109 public void endVisit(NewDeclaration node) { 1110 nodeStack.pop(); 1111 1074 1112 requestor.exitConstructor(endOfDeclaration(node)); 1075 1113 popLevelInAttribDeclarationStack(); … … 1078 1116 @Override 1079 1117 public void endVisit(DeleteDeclaration node) { 1118 nodeStack.pop(); 1119 1080 1120 requestor.exitConstructor(endOfDeclaration(node)); 1081 1121 popLevelInAttribDeclarationStack(); … … 1084 1124 @Override 1085 1125 public void endVisit(StaticCtorDeclaration node) { 1126 nodeStack.pop(); 1127 1086 1128 requestor.exitInitializer(endOfDeclaration(node)); 1087 1129 popLevelInAttribDeclarationStack(); … … 1090 1132 @Override 1091 1133 public void endVisit(StaticDtorDeclaration node) { 1134 nodeStack.pop(); 1135 1092 1136 requestor.exitInitializer(endOfDeclaration(node)); 1093 1137 popLevelInAttribDeclarationStack(); … … 1096 1140 @Override 1097 1141 public void endVisit(InvariantDeclaration node) { 1142 nodeStack.pop(); 1143 1098 1144 requestor.exitInitializer(endOfDeclaration(node)); 1099 1145 popLevelInAttribDeclarationStack(); … … 1102 1148 @Override 1103 1149 public void endVisit(UnitTestDeclaration node) { 1150 nodeStack.pop(); 1151 1104 1152 requestor.exitInitializer(endOfDeclaration(node)); 1105 1153 popLevelInAttribDeclarationStack(); … … 1108 1156 @Override 1109 1157 public void endVisit(VarDeclaration node) { 1158 if (insideFunction()) { 1159 return; 1160 } 1161 1110 1162 VarDeclaration last = node; 1111 1163 while(last.next != null) { … … 1122 1174 @Override 1123 1175 public void endVisit(AliasDeclaration node) { 1176 if (insideFunction()) { 1177 return; 1178 } 1179 1124 1180 AliasDeclaration last = node; 1125 1181 while(last.next != null) { … … 1136 1192 @Override 1137 1193 public void endVisit(TypedefDeclaration node) { 1194 if (insideFunction()) { 1195 return; 1196 } 1197 1138 1198 TypedefDeclaration last = node; 1139 1199 while(last.next != null) { … … 1183 1243 @Override 1184 1244 public void endVisit(EnumDeclaration node) { 1245 nodeStack.pop(); 1246 1185 1247 requestor.exitType(endOfDeclaration(node)); 1186 1248 popLevelInAttribDeclarationStack(); … … 1217 1279 @Override 1218 1280 public void endVisit(AnonDeclaration node) { 1281 nodeStack.pop(); 1282 1219 1283 requestor.exitType(endOfDeclaration(node)); 1220 1284 popLevelInAttribDeclarationStack(); … … 1252 1316 1253 1317 @Override 1254 public boolean visit(ASTNode node) {1255 return false;1256 }1257 1258 @Override1259 public boolean visit(ASTDmdNode node) {1260 return false;1261 }1262 1263 @Override1264 public boolean visit(AddAssignExp node) {1265 return false;1266 }1267 1268 @Override1269 public boolean visit(AddExp node) {1270 return false;1271 }1272 1273 @Override1274 public boolean visit(AddrExp node) {1275 return false;1276 }1277 1278 @Override1279 public boolean visit(AggregateDeclaration node) {1280 return false;1281 }1282 1283 @Override1284 public boolean visit(AndAndExp node) {1285 return false;1286 }1287 1288 @Override1289 public boolean visit(AndAssignExp node) {1290 return false;1291 }1292 1293 @Override1294 public boolean visit(AndExp node) {1295 return false;1296 }1297 1298 @Override1299 1318 public boolean visit(AnonDeclaration node) { 1319 nodeStack.push(node); 1320 1300 1321 TypeInfo info = new TypeInfo(); 1301 1322 info.declarationStart = startOfDeclaration(node); … … 1313 1334 return true; 1314 1335 } 1315 1316 @Override 1317 public boolean visit(AnonymousAggregateDeclaration node) { 1318 return false; 1319 } 1320 1321 @Override 1322 public boolean visit(Argument node) { 1323 return false; 1324 } 1325 1326 @Override 1327 public boolean visit(ArrayExp node) { 1328 return false; 1329 } 1330 1331 @Override 1332 public boolean visit(ArrayInitializer node) { 1333 return false; 1334 } 1335 1336 @Override 1337 public boolean visit(ArrayLengthExp node) { 1338 return false; 1339 } 1340 1341 @Override 1342 public boolean visit(ArrayLiteralExp node) { 1343 return false; 1344 } 1345 1346 @Override 1347 public boolean visit(ArrayScopeSymbol node) { 1348 return false; 1349 } 1350 1351 @Override 1352 public boolean visit(AsmBlock node) { 1353 return false; 1354 } 1355 1356 @Override 1357 public boolean visit(AsmStatement node) { 1358 return false; 1359 } 1360 1361 @Override 1362 public boolean visit(AssertExp node) { 1363 return false; 1364 } 1365 1366 @Override 1367 public boolean visit(AssignExp node) { 1368 return false; 1369 } 1370 1371 @Override 1372 public boolean visit(AssocArrayLiteralExp node) { 1373 return false; 1374 } 1375 1376 @Override 1377 public boolean visit(AttribDeclaration node) { 1378 return false; 1379 } 1380 1381 @Override 1382 public boolean visit(BaseClass node) { 1383 return false; 1384 } 1385 1386 @Override 1387 public boolean visit(BinExp node) { 1388 return false; 1389 } 1390 1391 @Override 1392 public boolean visit(BoolExp node) { 1393 return false; 1394 } 1395 1396 @Override 1397 public boolean visit(BreakStatement node) { 1398 return false; 1399 } 1400 1401 @Override 1402 public boolean visit(CallExp node) { 1403 return false; 1404 } 1405 1406 @Override 1407 public boolean visit(CaseStatement node) { 1408 return true; 1409 } 1410 1411 @Override 1412 public boolean visit(CastExp node) { 1413 return false; 1414 } 1415 1416 @Override 1417 public boolean visit(CatAssignExp node) { 1418 return false; 1419 } 1420 1421 @Override 1422 public boolean visit(Catch node) { 1423 return true; 1424 } 1425 1426 @Override 1427 public boolean visit(CatExp node) { 1428 return false; 1429 } 1430 1431 @Override 1432 public boolean visit(ClassInfoDeclaration node) { 1433 return false; 1434 } 1435 1436 @Override 1437 public boolean visit(CmpExp node) { 1438 return false; 1439 } 1440 1441 @Override 1442 public boolean visit(ComExp node) { 1443 return false; 1444 } 1445 1446 @Override 1447 public boolean visit(CommaExp node) { 1448 return false; 1449 } 1450 1451 @Override 1452 public boolean visit(CompileExp node) { 1453 return false; 1454 } 1455 1456 @Override 1457 public boolean visit(CompileStatement node) { 1458 return false; 1459 } 1460 1461 @Override 1462 public boolean visit(ComplexExp node) { 1463 return false; 1464 } 1465 1466 @Override 1467 public boolean visit(CompoundStatement node) { 1468 return true; 1469 } 1470 1471 @Override 1472 public boolean visit(CondExp node) { 1473 return false; 1474 } 1475 1476 @Override 1477 public boolean visit(Condition node) { 1478 return false; 1479 } 1480 1481 @Override 1482 public boolean visit(ConditionalStatement node) { 1483 return true; 1484 } 1485 1486 @Override 1487 public boolean visit(ContinueStatement node) { 1488 return false; 1489 } 1490 1491 @Override 1492 public boolean visit(DebugCondition node) { 1493 return false; 1494 } 1495 1496 @Override 1497 public boolean visit(Declaration node) { 1498 return false; 1499 } 1500 1501 @Override 1502 public boolean visit(DeclarationExp node) { 1503 return false; 1504 } 1505 1506 @Override 1507 public boolean visit(DefaultStatement node) { 1508 return true; 1509 } 1510 1511 @Override 1512 public boolean visit(DelegateExp node) { 1513 return false; 1514 } 1515 1516 @Override 1517 public boolean visit(DeleteExp node) { 1518 return false; 1519 } 1520 1521 @Override 1522 public boolean visit(DivAssignExp node) { 1523 return false; 1524 } 1525 1526 @Override 1527 public boolean visit(DivExp node) { 1528 return false; 1529 } 1530 1531 @Override 1532 public boolean visit(DollarExp node) { 1533 return false; 1534 } 1535 1536 @Override 1537 public boolean visit(DoStatement node) { 1538 return true; 1539 } 1540 1541 @Override 1542 public boolean visit(DotExp node) { 1543 return false; 1544 } 1545 1546 @Override 1547 public boolean visit(DotIdExp node) { 1548 return false; 1549 } 1550 1551 @Override 1552 public boolean visit(DotTemplateExp node) { 1553 return false; 1554 } 1555 1556 @Override 1557 public boolean visit(DotTemplateInstanceExp node) { 1558 return false; 1559 } 1560 1561 @Override 1562 public boolean visit(DotTypeExp node) { 1563 return false; 1564 } 1565 1566 @Override 1567 public boolean visit(DotVarExp node) { 1568 return false; 1569 } 1570 1571 @Override 1572 public boolean visit(Dsymbol node) { 1573 return false; 1574 } 1575 1576 @Override 1577 public boolean visit(DsymbolExp node) { 1578 return false; 1579 } 1580 1581 @Override 1582 public boolean visit(EqualExp node) { 1583 return false; 1584 } 1585 1586 @Override 1587 public boolean visit(ExpInitializer node) { 1588 return false; 1589 } 1590 1591 @Override 1592 public boolean visit(Expression node) { 1593 return false; 1594 } 1595 1596 @Override 1597 public boolean visit(ExpStatement node) { 1598 return false; 1599 } 1600 1601 @Override 1602 public boolean visit(FileExp node) { 1603 return false; 1604 } 1605 1606 @Override 1607 public boolean visit(ForeachRangeStatement node) { 1608 return true; 1609 } 1610 1611 @Override 1612 public boolean visit(ForeachStatement node) { 1613 return true; 1614 } 1615 1616 @Override 1617 public boolean visit(ForStatement node) { 1618 return true; 1619 } 1620 1621 @Override 1622 public boolean visit(FuncAliasDeclaration node) { 1623 return false; 1624 } 1625 1626 @Override 1627 public boolean visit(FuncExp node) { 1628 return false; 1629 } 1630 1631 @Override 1632 public boolean visit(FuncLiteralDeclaration node) { 1633 return false; 1634 } 1635 1636 @Override 1637 public boolean visit(GotoCaseStatement node) { 1638 return false; 1639 } 1640 1641 @Override 1642 public boolean visit(GotoDefaultStatement node) { 1643 return false; 1644 } 1645 1646 @Override 1647 public boolean visit(GotoStatement node) { 1648 return false; 1649 } 1650 1651 @Override 1652 public boolean visit(HaltExp node) { 1653 return false; 1654 } 1655 1656 @Override 1657 public boolean visit(IdentifierExp node) { 1658 return false; 1659 } 1660 1661 @Override 1662 public boolean visit(IdentityExp node) { 1663 return false; 1664 } 1665 1666 @Override 1667 public boolean visit(IfStatement node) { 1668 return true; 1669 } 1670 1671 @Override 1672 public boolean visit(IftypeCondition node) { 1673 return false; 1674 } 1675 1676 @Override 1677 public boolean visit(IsExp node) { 1678 return false; 1679 } 1680 1681 @Override 1682 public boolean visit(IndexExp node) { 1683 return false; 1684 } 1685 1686 @Override 1687 public boolean visit(InExp node) { 1688 return false; 1689 } 1690 1691 @Override 1692 public boolean visit(Initializer node) { 1693 return false; 1694 } 1695 1696 @Override 1697 public boolean visit(IntegerExp node) { 1698 return false; 1699 } 1700 1701 @Override 1702 public boolean visit(LabelDsymbol node) { 1703 return false; 1704 } 1705 1706 @Override 1707 public boolean visit(LabelStatement node) { 1708 return true; 1709 } 1710 1711 @Override 1712 public boolean visit(MinAssignExp node) { 1713 return false; 1714 } 1715 1716 @Override 1717 public boolean visit(MinExp node) { 1718 return false; 1719 } 1720 1721 @Override 1722 public boolean visit(ModAssignExp node) { 1723 return false; 1724 } 1725 1726 @Override 1727 public boolean visit(ModExp node) { 1728 return false; 1729 } 1730 1731 @Override 1732 public boolean visit(Modifier node) { 1733 return false; 1734 } 1735 1736 @Override 1737 public boolean visit(ModuleInfoDeclaration node) { 1738 return false; 1739 } 1740 1741 @Override 1742 public boolean visit(MulAssignExp node) { 1743 return false; 1744 } 1745 1746 @Override 1747 public boolean visit(MulExp node) { 1748 return false; 1749 } 1750 1751 @Override 1752 public boolean visit(NegExp node) { 1753 return false; 1754 } 1755 1756 @Override 1757 public boolean visit(NewAnonClassExp node) { 1758 return false; 1759 } 1760 1761 @Override 1762 public boolean visit(NewExp node) { 1763 return false; 1764 } 1765 1766 @Override 1767 public boolean visit(NotExp node) { 1768 return false; 1769 } 1770 1771 @Override 1772 public boolean visit(NullExp node) { 1773 return false; 1774 } 1775 1776 @Override 1777 public boolean visit(OnScopeStatement node) { 1778 return true; 1779 } 1780 1781 @Override 1782 public boolean visit(OrAssignExp node) { 1783 return false; 1784 } 1785 1786 @Override 1787 public boolean visit(OrExp node) { 1788 return false; 1789 } 1790 1791 @Override 1792 public boolean visit(OrOrExp node) { 1793 return false; 1794 } 1795 1796 @Override 1797 public boolean visit(Package node) { 1798 return false; 1799 } 1800 1801 @Override 1802 public boolean visit(PostExp node) { 1803 return false; 1804 } 1805 1806 @Override 1807 public boolean visit(PragmaStatement node) { 1808 return true; 1809 } 1810 1811 @Override 1812 public boolean visit(PtrExp node) { 1813 return false; 1814 } 1815 1816 @Override 1817 public boolean visit(RealExp node) { 1818 return false; 1819 } 1820 1821 @Override 1822 public boolean visit(RemoveExp node) { 1823 return false; 1824 } 1825 1826 @Override 1827 public boolean visit(ReturnStatement node) { 1828 return true; 1829 } 1830 1831 @Override 1832 public boolean visit(ScopeDsymbol node) { 1833 return false; 1834 } 1835 1836 @Override 1837 public boolean visit(ScopeExp node) { 1838 return false; 1839 } 1840 1841 @Override 1842 public boolean visit(ScopeStatement node) { 1843 return true; 1844 } 1845 1846 @Override 1847 public boolean visit(ShlAssignExp node) { 1848 return false; 1849 } 1850 1851 @Override 1852 public boolean visit(ShlExp node) { 1853 return false; 1854 } 1855 1856 @Override 1857 public boolean visit(ShrAssignExp node) { 1858 return false; 1859 } 1860 1861 @Override 1862 public boolean visit(ShrExp node) { 1863 return false; 1864 } 1865 1866 @Override 1867 public boolean visit(SliceExp node) { 1868 return false; 1869 } 1870 1871 @Override 1872 public boolean visit(Statement node) { 1873 return false; 1874 } 1875 1876 @Override 1877 public boolean visit(StaticAssertStatement node) { 1878 return false; 1879 } 1880 1881 @Override 1882 public boolean visit(StaticIfCondition node) { 1883 return false; 1884 } 1885 1886 @Override 1887 public boolean visit(StaticIfDeclaration node) { 1888 return false; 1889 } 1890 1891 @Override 1892 public boolean visit(StringExp node) { 1893 return false; 1894 } 1895 1896 @Override 1897 public boolean visit(StructInitializer node) { 1898 return false; 1899 } 1900 1901 @Override 1902 public boolean visit(SuperExp node) { 1903 return false; 1904 } 1905 1906 @Override 1907 public boolean visit(SwitchStatement node) { 1908 return true; 1909 } 1910 1911 @Override 1912 public boolean visit(SymOffExp node) { 1913 return false; 1914 } 1915 1916 @Override 1917 public boolean visit(SynchronizedStatement node) { 1918 &
