/NRefactory/ICSharpCode.NRefactory.CSharp/Parser/mcs/visit.cs

http://github.com/icsharpcode/ILSpy · C# · 618 lines · 480 code · 125 blank · 13 comment · 0 complexity · 9fa9c4e21865e1371bfc202cd0cb19d4 MD5 · raw file

  1. //
  2. // visit.cs: Visitors for parsed dom
  3. //
  4. // Authors: Mike Krüger (mkrueger@novell.com)
  5. // Marek Safar (marek.safar@gmail.com)
  6. //
  7. // Dual licensed under the terms of the MIT X11 or GNU GPL
  8. //
  9. // Copyright (c) 2010 Novell, Inc (http://www.novell.com)
  10. // Copyright 2011 Xamarin Inc
  11. //
  12. using System;
  13. using System.Diagnostics;
  14. namespace Mono.CSharp
  15. {
  16. public abstract class StructuralVisitor
  17. {
  18. public virtual void Visit (MemberCore member)
  19. {
  20. Debug.Fail ("unknown member type: " + member.GetType ());
  21. }
  22. public virtual void Visit (ModuleContainer mc)
  23. {
  24. foreach (var container in mc.Containers) {
  25. container.Accept (this);
  26. }
  27. }
  28. void VisitTypeDefinition (TypeDefinition tc)
  29. {
  30. foreach (var member in tc.Members) {
  31. member.Accept (this);
  32. }
  33. }
  34. public virtual void Visit (NamespaceContainer ns)
  35. {
  36. }
  37. public virtual void Visit (UsingNamespace un)
  38. {
  39. }
  40. public virtual void Visit (UsingAliasNamespace uan)
  41. {
  42. }
  43. public virtual void Visit (UsingExternAlias uea)
  44. {
  45. }
  46. public virtual void Visit (CompilationSourceFile csf)
  47. {
  48. }
  49. public virtual void Visit (Class c)
  50. {
  51. VisitTypeDefinition (c);
  52. }
  53. public virtual void Visit (Struct s)
  54. {
  55. VisitTypeDefinition (s);
  56. }
  57. public virtual void Visit (Interface i)
  58. {
  59. VisitTypeDefinition (i);
  60. }
  61. public virtual void Visit (Delegate d)
  62. {
  63. }
  64. public virtual void Visit (Enum e)
  65. {
  66. VisitTypeDefinition (e);
  67. }
  68. public virtual void Visit (FixedField f)
  69. {
  70. }
  71. public virtual void Visit (Const c)
  72. {
  73. }
  74. public virtual void Visit (Field f)
  75. {
  76. }
  77. public virtual void Visit (Operator o)
  78. {
  79. }
  80. public virtual void Visit (Indexer i)
  81. {
  82. }
  83. public virtual void Visit (Method m)
  84. {
  85. }
  86. public virtual void Visit (Property p)
  87. {
  88. }
  89. public virtual void Visit (Constructor c)
  90. {
  91. }
  92. public virtual void Visit (Destructor d)
  93. {
  94. }
  95. public virtual void Visit (EventField e)
  96. {
  97. }
  98. public virtual void Visit (EventProperty ep)
  99. {
  100. }
  101. public virtual void Visit (EnumMember em)
  102. {
  103. }
  104. public virtual object Visit (Statement stmt)
  105. {
  106. Debug.Fail ("unknown statement:" + stmt);
  107. return null;
  108. }
  109. public virtual object Visit (BlockVariable blockVariableDeclaration)
  110. {
  111. return null;
  112. }
  113. public virtual object Visit (BlockConstant blockConstantDeclaration)
  114. {
  115. return null;
  116. }
  117. public virtual object Visit (EmptyStatement emptyStatement)
  118. {
  119. return null;
  120. }
  121. public virtual object Visit (EmptyExpressionStatement emptyExpressionStatement)
  122. {
  123. return null;
  124. }
  125. public virtual object Visit (EmptyExpression emptyExpression)
  126. {
  127. return null;
  128. }
  129. public virtual object Visit (ErrorExpression errorExpression)
  130. {
  131. return null;
  132. }
  133. public virtual object Visit (If ifStatement)
  134. {
  135. return null;
  136. }
  137. public virtual object Visit (Do doStatement)
  138. {
  139. return null;
  140. }
  141. public virtual object Visit (While whileStatement)
  142. {
  143. return null;
  144. }
  145. public virtual object Visit (For forStatement)
  146. {
  147. return null;
  148. }
  149. public virtual object Visit (StatementExpression statementExpression)
  150. {
  151. return null;
  152. }
  153. public virtual object Visit (StatementErrorExpression errorStatement)
  154. {
  155. return null;
  156. }
  157. public virtual object Visit (Return returnStatement)
  158. {
  159. return null;
  160. }
  161. public virtual object Visit (Goto gotoStatement)
  162. {
  163. return null;
  164. }
  165. public virtual object Visit (LabeledStatement labeledStatement)
  166. {
  167. return null;
  168. }
  169. public virtual object Visit (SwitchLabel switchLabel)
  170. {
  171. return null;
  172. }
  173. public virtual object Visit (GotoDefault gotoDefault)
  174. {
  175. return null;
  176. }
  177. public virtual object Visit (GotoCase gotoCase)
  178. {
  179. return null;
  180. }
  181. public virtual object Visit (Throw throwStatement)
  182. {
  183. return null;
  184. }
  185. public virtual object Visit (Break breakStatement)
  186. {
  187. return null;
  188. }
  189. public virtual object Visit (Continue continueStatement)
  190. {
  191. return null;
  192. }
  193. public virtual object Visit (Block blockStatement)
  194. {
  195. return null;
  196. }
  197. public virtual object Visit (Switch switchStatement)
  198. {
  199. return null;
  200. }
  201. public virtual object Visit (StatementList statementList)
  202. {
  203. return null;
  204. }
  205. public virtual object Visit (Lock lockStatement)
  206. {
  207. return null;
  208. }
  209. public virtual object Visit (Unchecked uncheckedStatement)
  210. {
  211. return null;
  212. }
  213. public virtual object Visit (Checked checkedStatement)
  214. {
  215. return null;
  216. }
  217. public virtual object Visit (Unsafe unsafeStatement)
  218. {
  219. return null;
  220. }
  221. public virtual object Visit (Fixed fixedStatement)
  222. {
  223. return null;
  224. }
  225. public virtual object Visit (TryFinally tryFinallyStatement)
  226. {
  227. return null;
  228. }
  229. public virtual object Visit (TryCatch tryCatchStatement)
  230. {
  231. return null;
  232. }
  233. public virtual object Visit (Using usingStatement)
  234. {
  235. return null;
  236. }
  237. public virtual object Visit (Foreach foreachStatement)
  238. {
  239. return null;
  240. }
  241. public virtual object Visit (Yield yieldStatement)
  242. {
  243. return null;
  244. }
  245. public virtual object Visit (YieldBreak yieldBreakStatement)
  246. {
  247. return null;
  248. }
  249. public virtual object Visit (InvalidStatementExpression invalidStatementExpression)
  250. {
  251. return null;
  252. }
  253. public virtual object Visit (Expression expression)
  254. {
  255. Debug.Fail ("Visit unknown expression:" + expression);
  256. return null;
  257. }
  258. public virtual object Visit (MemberAccess memberAccess)
  259. {
  260. return null;
  261. }
  262. public virtual object Visit (QualifiedAliasMember qualifiedAliasMember)
  263. {
  264. return null;
  265. }
  266. public virtual object Visit (LocalVariableReference localVariableReference)
  267. {
  268. return null;
  269. }
  270. public virtual object Visit (Constant constant)
  271. {
  272. return null;
  273. }
  274. public virtual object Visit (BooleanExpression booleanExpression)
  275. {
  276. return null;
  277. }
  278. public virtual object Visit (SimpleName simpleName)
  279. {
  280. return null;
  281. }
  282. public virtual object Visit (ParenthesizedExpression parenthesizedExpression)
  283. {
  284. return null;
  285. }
  286. public virtual object Visit (Unary unaryExpression)
  287. {
  288. return null;
  289. }
  290. public virtual object Visit (UnaryMutator unaryMutatorExpression)
  291. {
  292. return null;
  293. }
  294. // *expr
  295. public virtual object Visit (Indirection indirectionExpression)
  296. {
  297. return null;
  298. }
  299. public virtual object Visit (Is isExpression)
  300. {
  301. return null;
  302. }
  303. public virtual object Visit (As asExpression)
  304. {
  305. return null;
  306. }
  307. public virtual object Visit (Cast castExpression)
  308. {
  309. return null;
  310. }
  311. public virtual object Visit (ComposedCast composedCast)
  312. {
  313. return null;
  314. }
  315. public virtual object Visit (DefaultValueExpression defaultValueExpression)
  316. {
  317. return null;
  318. }
  319. public virtual object Visit (DefaultParameterValueExpression defaultParameterValueExpression)
  320. {
  321. return null;
  322. }
  323. public virtual object Visit (Binary binaryExpression)
  324. {
  325. return null;
  326. }
  327. public virtual object Visit (Nullable.NullCoalescingOperator nullCoalescingOperator)
  328. {
  329. return null;
  330. }
  331. public virtual object Visit (Conditional conditionalExpression)
  332. {
  333. return null;
  334. }
  335. public virtual object Visit (Invocation invocationExpression)
  336. {
  337. return null;
  338. }
  339. public virtual object Visit (New newExpression)
  340. {
  341. return null;
  342. }
  343. public virtual object Visit (NewAnonymousType newAnonymousType)
  344. {
  345. return null;
  346. }
  347. public virtual object Visit (NewInitialize newInitializeExpression)
  348. {
  349. return null;
  350. }
  351. public virtual object Visit (ArrayCreation arrayCreationExpression)
  352. {
  353. return null;
  354. }
  355. public virtual object Visit (This thisExpression)
  356. {
  357. return null;
  358. }
  359. public virtual object Visit (ArglistAccess argListAccessExpression)
  360. {
  361. return null;
  362. }
  363. public virtual object Visit (Arglist argListExpression)
  364. {
  365. return null;
  366. }
  367. public virtual object Visit (TypeOf typeOfExpression)
  368. {
  369. return null;
  370. }
  371. public virtual object Visit (SizeOf sizeOfExpression)
  372. {
  373. return null;
  374. }
  375. public virtual object Visit (CheckedExpr checkedExpression)
  376. {
  377. return null;
  378. }
  379. public virtual object Visit (UnCheckedExpr uncheckedExpression)
  380. {
  381. return null;
  382. }
  383. public virtual object Visit (ElementAccess elementAccessExpression)
  384. {
  385. return null;
  386. }
  387. public virtual object Visit (BaseThis baseAccessExpression)
  388. {
  389. return null;
  390. }
  391. public virtual object Visit (StackAlloc stackAllocExpression)
  392. {
  393. return null;
  394. }
  395. public virtual object Visit (SimpleAssign simpleAssign)
  396. {
  397. return null;
  398. }
  399. public virtual object Visit (CompoundAssign compoundAssign)
  400. {
  401. return null;
  402. }
  403. public virtual object Visit (TypeExpression typeExpression)
  404. {
  405. return null;
  406. }
  407. public virtual object Visit (AnonymousMethodExpression anonymousMethodExpression)
  408. {
  409. return null;
  410. }
  411. public virtual object Visit (LambdaExpression lambdaExpression)
  412. {
  413. return null;
  414. }
  415. public virtual object Visit (ConstInitializer constInitializer)
  416. {
  417. return null;
  418. }
  419. public virtual object Visit (ArrayInitializer arrayInitializer)
  420. {
  421. return null;
  422. }
  423. public virtual object Visit (Linq.QueryExpression queryExpression)
  424. {
  425. return null;
  426. }
  427. public virtual object Visit (Linq.QueryStartClause queryExpression)
  428. {
  429. return null;
  430. }
  431. public virtual object Visit (Linq.SelectMany selectMany)
  432. {
  433. return null;
  434. }
  435. public virtual object Visit (Linq.Select select)
  436. {
  437. return null;
  438. }
  439. public virtual object Visit (Linq.GroupBy groupBy)
  440. {
  441. return null;
  442. }
  443. public virtual object Visit (Linq.Let let)
  444. {
  445. return null;
  446. }
  447. public virtual object Visit (Linq.Where where)
  448. {
  449. return null;
  450. }
  451. public virtual object Visit (Linq.Join join)
  452. {
  453. return null;
  454. }
  455. public virtual object Visit (Linq.GroupJoin groupJoin)
  456. {
  457. return null;
  458. }
  459. public virtual object Visit (Linq.OrderByAscending orderByAscending)
  460. {
  461. return null;
  462. }
  463. public virtual object Visit (Linq.OrderByDescending orderByDescending)
  464. {
  465. return null;
  466. }
  467. public virtual object Visit (Linq.ThenByAscending thenByAscending)
  468. {
  469. return null;
  470. }
  471. public virtual object Visit (Linq.ThenByDescending thenByDescending)
  472. {
  473. return null;
  474. }
  475. // undocumented expressions
  476. public virtual object Visit (RefValueExpr refValueExpr)
  477. {
  478. return null;
  479. }
  480. public virtual object Visit (RefTypeExpr refTypeExpr)
  481. {
  482. return null;
  483. }
  484. public virtual object Visit (MakeRefExpr makeRefExpr)
  485. {
  486. return null;
  487. }
  488. public virtual object Visit (Await awaitExpr)
  489. {
  490. return null;
  491. }
  492. }
  493. }