/Project/Src/AddIns/CSharp/Parser/SymbolType.cs

# · C# · 630 lines · 127 code · 120 blank · 383 comment · 0 complexity · e054ae81ce14566bc61fbe23b3c2d97c MD5 · raw file

  1. // --------------------------------------------------------------------------------------------------------------------
  2. // <copyright file="SymbolType.cs" company="http://stylecop.codeplex.com">
  3. // MS-PL
  4. // </copyright>
  5. // <license>
  6. // This source code is subject to terms and conditions of the Microsoft
  7. // Public License. A copy of the license can be found in the License.html
  8. // file at the root of this distribution. If you cannot locate the
  9. // Microsoft Public License, please send an email to dlr@microsoft.com.
  10. // By using this source code in any fashion, you are agreeing to be bound
  11. // by the terms of the Microsoft Public License. You must not remove this
  12. // notice, or any other, from this software.
  13. // </license>
  14. // <summary>
  15. // The various symbol types from a C# document.
  16. // </summary>
  17. // --------------------------------------------------------------------------------------------------------------------
  18. namespace StyleCop.CSharp
  19. {
  20. /// <summary>
  21. /// The various symbol types from a C# document.
  22. /// </summary>
  23. internal enum SymbolType
  24. {
  25. /// <summary>
  26. /// Open parenthesis: '('.
  27. /// </summary>
  28. OpenParenthesis,
  29. /// <summary>
  30. /// Close parenthesis: ')'.
  31. /// </summary>
  32. CloseParenthesis,
  33. /// <summary>
  34. /// Open Curly bracket: '{'.
  35. /// </summary>
  36. OpenCurlyBracket,
  37. /// <summary>
  38. /// Close Curly bracket: '}'.
  39. /// </summary>
  40. CloseCurlyBracket,
  41. /// <summary>
  42. /// Open square bracket: '['.
  43. /// </summary>
  44. OpenSquareBracket,
  45. /// <summary>
  46. /// Close square bracket: ']'.
  47. /// </summary>
  48. CloseSquareBracket,
  49. /// <summary>
  50. /// An equals sign: '='.
  51. /// </summary>
  52. Equals,
  53. /// <summary>
  54. /// A conditional equals symbol: '=='.
  55. /// </summary>
  56. ConditionalEquals,
  57. /// <summary>
  58. /// A plus sign: '+'.
  59. /// </summary>
  60. Plus,
  61. /// <summary>
  62. /// A plus equals symbol: '+='.
  63. /// </summary>
  64. PlusEquals,
  65. /// <summary>
  66. /// A minus sign: '-'.
  67. /// </summary>
  68. Minus,
  69. /// <summary>
  70. /// A minus equals symbol: '-='.
  71. /// </summary>
  72. MinusEquals,
  73. /// <summary>
  74. /// A multiplication sign: '*'.
  75. /// </summary>
  76. Multiplication,
  77. /// <summary>
  78. /// A times equals symbol: '*='.
  79. /// </summary>
  80. MultiplicationEquals,
  81. /// <summary>
  82. /// A division sign: '/'.
  83. /// </summary>
  84. Division,
  85. /// <summary>
  86. /// A divide equals symbol: '/='.
  87. /// </summary>
  88. DivisionEquals,
  89. /// <summary>
  90. /// A less-than sign.
  91. /// </summary>
  92. LessThan,
  93. /// <summary>
  94. /// A less than or equals sign.
  95. /// </summary>
  96. LessThanOrEquals,
  97. /// <summary>
  98. /// A left-shift symbol.
  99. /// </summary>
  100. LeftShift,
  101. /// <summary>
  102. /// A left-shift equals sign.
  103. /// </summary>
  104. LeftShiftEquals,
  105. /// <summary>
  106. /// A greater-than sign.
  107. /// </summary>
  108. GreaterThan,
  109. /// <summary>
  110. /// A greater than or equals sign.
  111. /// </summary>
  112. GreaterThanOrEquals,
  113. /// <summary>
  114. /// A right-shift symbol.
  115. /// </summary>
  116. RightShift,
  117. /// <summary>
  118. /// A right-shift equals sign.
  119. /// </summary>
  120. RightShiftEquals,
  121. /// <summary>
  122. /// An increment symbol: '++'.
  123. /// </summary>
  124. Increment,
  125. /// <summary>
  126. /// A decrement symbol: '--'.
  127. /// </summary>
  128. Decrement,
  129. /// <summary>
  130. /// A logical AND symbol.
  131. /// </summary>
  132. LogicalAnd,
  133. /// <summary>
  134. /// An AND equals symbol.
  135. /// </summary>
  136. AndEquals,
  137. /// <summary>
  138. /// A conditional AND symbol.
  139. /// </summary>
  140. ConditionalAnd,
  141. /// <summary>
  142. /// A logical OR symbol: '|'.
  143. /// </summary>
  144. LogicalOr,
  145. /// <summary>
  146. /// An OR equals symbol: '|='.
  147. /// </summary>
  148. OrEquals,
  149. /// <summary>
  150. /// A conditional OR symbol: '||'.
  151. /// </summary>
  152. ConditionalOr,
  153. /// <summary>
  154. /// A logical XOR symbol: '^'.
  155. /// </summary>
  156. LogicalXor,
  157. /// <summary>
  158. /// An XOR equals symbol: '^='.
  159. /// </summary>
  160. XorEquals,
  161. /// <summary>
  162. /// A NOT symbol: '!'.
  163. /// </summary>
  164. Not,
  165. /// <summary>
  166. /// A NOT equals symbol: '!='.
  167. /// </summary>
  168. NotEquals,
  169. /// <summary>
  170. /// A MOD symbol: '%'.
  171. /// </summary>
  172. Mod,
  173. /// <summary>
  174. /// A MOD equals symbol: '%='.
  175. /// </summary>
  176. ModEquals,
  177. /// <summary>
  178. /// A dot: '.'.
  179. /// </summary>
  180. Dot,
  181. /// <summary>
  182. /// A pointer symbol: '->'.
  183. /// </summary>
  184. Pointer,
  185. /// <summary>
  186. /// A colon: ':'.
  187. /// </summary>
  188. Colon,
  189. /// <summary>
  190. /// A qualified alias symbol: '::'.
  191. /// </summary>
  192. QualifiedAlias,
  193. /// <summary>
  194. /// A question mark: '?'.
  195. /// </summary>
  196. QuestionMark,
  197. /// <summary>
  198. /// A null coalescing symbol: '??'.
  199. /// </summary>
  200. NullCoalescingSymbol,
  201. /// <summary>
  202. /// A comma: ','.
  203. /// </summary>
  204. Comma,
  205. /// <summary>
  206. /// A semicolon ending a line of code: ';'.
  207. /// </summary>
  208. Semicolon,
  209. /// <summary>
  210. /// A tilde symbol: '~'.
  211. /// </summary>
  212. Tilde,
  213. /// <summary>
  214. /// A lambda expression symbol: =>
  215. /// </summary>
  216. Lambda,
  217. /// <summary>
  218. /// The keyword 'abstract'.
  219. /// </summary>
  220. Abstract,
  221. /// <summary>
  222. /// The keyword 'as'.
  223. /// </summary>
  224. As,
  225. /// <summary>
  226. /// The keyword 'base'.
  227. /// </summary>
  228. Base,
  229. /// <summary>
  230. /// The keyword 'break'.
  231. /// </summary>
  232. Break,
  233. /// <summary>
  234. /// The keyword 'case'.
  235. /// </summary>
  236. Case,
  237. /// <summary>
  238. /// The keyword 'catch'.
  239. /// </summary>
  240. Catch,
  241. /// <summary>
  242. /// The keyword 'checked'.
  243. /// </summary>
  244. Checked,
  245. /// <summary>
  246. /// The keyword 'class'.
  247. /// </summary>
  248. Class,
  249. /// <summary>
  250. /// The keyword <see langword="const"/>.
  251. /// </summary>
  252. Const,
  253. /// <summary>
  254. /// The keyword 'continue'.
  255. /// </summary>
  256. Continue,
  257. /// <summary>
  258. /// The keyword 'default'.
  259. /// </summary>
  260. Default,
  261. /// <summary>
  262. /// The keyword 'delegate'.
  263. /// </summary>
  264. Delegate,
  265. /// <summary>
  266. /// The keyword 'do'.
  267. /// </summary>
  268. Do,
  269. /// <summary>
  270. /// The keyword 'else'.
  271. /// </summary>
  272. Else,
  273. /// <summary>
  274. /// The keyword '<see cref="Enum"/>'.
  275. /// </summary>
  276. Enum,
  277. /// <summary>
  278. /// The keyword 'event'.
  279. /// </summary>
  280. Event,
  281. /// <summary>
  282. /// The keyword 'explicit'.
  283. /// </summary>
  284. Explicit,
  285. /// <summary>
  286. /// The keyword 'extern'.
  287. /// </summary>
  288. Extern,
  289. /// <summary>
  290. /// The keyword 'false'.
  291. /// </summary>
  292. False,
  293. /// <summary>
  294. /// The keyword 'finally'.
  295. /// </summary>
  296. Finally,
  297. /// <summary>
  298. /// The keyword 'fixed'.
  299. /// </summary>
  300. Fixed,
  301. /// <summary>
  302. /// The keyword 'for'.
  303. /// </summary>
  304. For,
  305. /// <summary>
  306. /// The keyword 'foreach'.
  307. /// </summary>
  308. Foreach,
  309. /// <summary>
  310. /// The keyword 'goto'.
  311. /// </summary>
  312. Goto,
  313. /// <summary>
  314. /// The keyword 'if'.
  315. /// </summary>
  316. If,
  317. /// <summary>
  318. /// The keyword 'implicit'.
  319. /// </summary>
  320. Implicit,
  321. /// <summary>
  322. /// The keyword 'in'.
  323. /// </summary>
  324. In,
  325. /// <summary>
  326. /// The keyword 'interface'.
  327. /// </summary>
  328. Interface,
  329. /// <summary>
  330. /// The keyword 'internal'.
  331. /// </summary>
  332. Internal,
  333. /// <summary>
  334. /// The keyword 'is'.
  335. /// </summary>
  336. Is,
  337. /// <summary>
  338. /// The keyword 'lock'.
  339. /// </summary>
  340. Lock,
  341. /// <summary>
  342. /// The keyword 'namespace'.
  343. /// </summary>
  344. Namespace,
  345. /// <summary>
  346. /// The keyword 'new'.
  347. /// </summary>
  348. New,
  349. /// <summary>
  350. /// The keyword 'null'.
  351. /// </summary>
  352. Null,
  353. /// <summary>
  354. /// The keyword 'operator'.
  355. /// </summary>
  356. Operator,
  357. /// <summary>
  358. /// The keyword 'out'.
  359. /// </summary>
  360. Out,
  361. /// <summary>
  362. /// The keyword 'override'.
  363. /// </summary>
  364. Override,
  365. /// <summary>
  366. /// The keyword '<c>params</c>'.
  367. /// </summary>
  368. Params,
  369. /// <summary>
  370. /// The keyword 'private'.
  371. /// </summary>
  372. Private,
  373. /// <summary>
  374. /// The keyword 'protected'.
  375. /// </summary>
  376. Protected,
  377. /// <summary>
  378. /// The keyword 'public'.
  379. /// </summary>
  380. Public,
  381. /// <summary>
  382. /// The keyword 'readonly'.
  383. /// </summary>
  384. Readonly,
  385. /// <summary>
  386. /// The keyword 'ref'.
  387. /// </summary>
  388. Ref,
  389. /// <summary>
  390. /// The keyword 'return'.
  391. /// </summary>
  392. Return,
  393. /// <summary>
  394. /// The keyword 'sealed'.
  395. /// </summary>
  396. Sealed,
  397. /// <summary>
  398. /// The keyword 'sizeof'.
  399. /// </summary>
  400. Sizeof,
  401. /// <summary>
  402. /// The keyword 'stackalloc'.
  403. /// </summary>
  404. Stackalloc,
  405. /// <summary>
  406. /// The keyword 'static'.
  407. /// </summary>
  408. Static,
  409. /// <summary>
  410. /// The keyword 'struct'.
  411. /// </summary>
  412. Struct,
  413. /// <summary>
  414. /// The keyword 'switch'.
  415. /// </summary>
  416. Switch,
  417. /// <summary>
  418. /// The keyword 'this'.
  419. /// </summary>
  420. This,
  421. /// <summary>
  422. /// The keyword 'throw'.
  423. /// </summary>
  424. Throw,
  425. /// <summary>
  426. /// The keyword 'true'.
  427. /// </summary>
  428. True,
  429. /// <summary>
  430. /// The keyword 'try'.
  431. /// </summary>
  432. Try,
  433. /// <summary>
  434. /// The keyword 'typeof'.
  435. /// </summary>
  436. Typeof,
  437. /// <summary>
  438. /// The keyword 'unchecked'.
  439. /// </summary>
  440. Unchecked,
  441. /// <summary>
  442. /// The keyword 'unsafe'.
  443. /// </summary>
  444. Unsafe,
  445. /// <summary>
  446. /// The keyword 'using'.
  447. /// </summary>
  448. Using,
  449. /// <summary>
  450. /// The keyword 'virtual'.
  451. /// </summary>
  452. Virtual,
  453. /// <summary>
  454. /// The keyword 'volatile'.
  455. /// </summary>
  456. Volatile,
  457. /// <summary>
  458. /// The keyword 'while'.
  459. /// </summary>
  460. While,
  461. /// <summary>
  462. /// An unknown token.
  463. /// </summary>
  464. Other,
  465. /// <summary>
  466. /// A group of whitespace.
  467. /// </summary>
  468. WhiteSpace,
  469. /// <summary>
  470. /// An end-of-line character.
  471. /// </summary>
  472. EndOfLine,
  473. /// <summary>
  474. /// A string constant.
  475. /// </summary>
  476. String,
  477. /// <summary>
  478. /// A number constant.
  479. /// </summary>
  480. Number,
  481. /// <summary>
  482. /// A single-line comment.
  483. /// </summary>
  484. SingleLineComment,
  485. /// <summary>
  486. /// A multi-line comment.
  487. /// </summary>
  488. MultiLineComment,
  489. /// <summary>
  490. /// A preprocessor line.
  491. /// </summary>
  492. PreprocessorDirective,
  493. /// <summary>
  494. /// An element attribute.
  495. /// </summary>
  496. Attribute,
  497. /// <summary>
  498. /// A line within an Xml header.
  499. /// </summary>
  500. XmlHeaderLine,
  501. /// <summary>
  502. /// The keyword 'nameof'.
  503. /// </summary>
  504. NameOf,
  505. /// <summary>
  506. /// The null conditional operator ?.
  507. /// </summary>
  508. NullConditional,
  509. }
  510. }