adlint 1.18.6 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (376) hide show
  1. data/ChangeLog +287 -188
  2. data/MANIFEST +278 -92
  3. data/NEWS +16 -4
  4. data/bin/adlintize +124 -3
  5. data/etc/conf.d/fallback/traits.erb +54 -1
  6. data/etc/conf.d/i686-cygwin/traits-gcc_4.3.4.erb +54 -1
  7. data/etc/conf.d/i686-devkit/traits-gcc_4.5.2.erb +54 -1
  8. data/etc/conf.d/i686-linux/traits-gcc_4.5.1.erb +54 -1
  9. data/etc/conf.d/i686-mingw/traits-gcc_4.6.1.erb +54 -1
  10. data/etc/mesg.d/c_builtin/en_US/messages.yml +2998 -0
  11. data/etc/mesg.d/c_builtin/ja_JP/messages.yml +2998 -0
  12. data/etc/mesg.d/core/en_US/messages.yml +134 -0
  13. data/etc/mesg.d/core/ja_JP/messages.yml +134 -0
  14. data/features/{message_detection → code_check}/E0013.feature +2 -2
  15. data/features/{message_detection → code_check}/W0001.feature +4 -4
  16. data/features/{message_detection → code_check}/W0002.feature +6 -6
  17. data/features/{message_detection → code_check}/W0003.feature +8 -8
  18. data/features/{message_detection → code_check}/W0007.feature +16 -16
  19. data/features/{message_detection → code_check}/W0010.feature +8 -8
  20. data/features/{message_detection → code_check}/W0013.feature +16 -16
  21. data/features/code_check/W0016.feature +200 -0
  22. data/features/code_check/W0017.feature +270 -0
  23. data/features/code_check/W0025.feature +66 -0
  24. data/features/code_check/W0026.feature +143 -0
  25. data/features/{message_detection → code_check}/W0093.feature +6 -6
  26. data/features/{message_detection → code_check}/W0104.feature +14 -14
  27. data/features/{message_detection → code_check}/W0109.feature +6 -6
  28. data/features/code_check/W0119.feature +151 -0
  29. data/features/code_check/W0120.feature +137 -0
  30. data/features/code_check/W0121.feature +147 -0
  31. data/features/code_check/W0122.feature +142 -0
  32. data/features/code_check/W0123.feature +147 -0
  33. data/features/code_check/W0124.feature +142 -0
  34. data/features/code_check/W0125.feature +147 -0
  35. data/features/code_check/W0126.feature +142 -0
  36. data/features/code_check/W0127.feature +147 -0
  37. data/features/code_check/W0128.feature +147 -0
  38. data/features/code_check/W0129.feature +147 -0
  39. data/features/code_check/W0130.feature +159 -0
  40. data/features/code_check/W0131.feature +154 -0
  41. data/features/code_check/W0132.feature +137 -0
  42. data/features/code_check/W0133.feature +151 -0
  43. data/features/code_check/W0134.feature +151 -0
  44. data/features/code_check/W0135.feature +147 -0
  45. data/features/code_check/W0136.feature +151 -0
  46. data/features/code_check/W0137.feature +147 -0
  47. data/features/code_check/W0138.feature +151 -0
  48. data/features/code_check/W0139.feature +147 -0
  49. data/features/code_check/W0140.feature +159 -0
  50. data/features/code_check/W0141.feature +155 -0
  51. data/features/code_check/W0142.feature +152 -0
  52. data/features/code_check/W0143.feature +147 -0
  53. data/features/code_check/W0144.feature +146 -0
  54. data/features/code_check/W0145.feature +147 -0
  55. data/features/code_check/W0146.feature +146 -0
  56. data/features/code_check/W0147.feature +146 -0
  57. data/features/code_check/W0148.feature +147 -0
  58. data/features/code_check/W0149.feature +146 -0
  59. data/features/code_check/W0150.feature +146 -0
  60. data/features/code_check/W0151.feature +146 -0
  61. data/features/code_check/W0152.feature +155 -0
  62. data/features/code_check/W0153.feature +155 -0
  63. data/features/code_check/W0154.feature +154 -0
  64. data/features/code_check/W0155.feature +154 -0
  65. data/features/code_check/W0156.feature +167 -0
  66. data/features/code_check/W0157.feature +152 -0
  67. data/features/code_check/W0158.feature +147 -0
  68. data/features/code_check/W0159.feature +147 -0
  69. data/features/code_check/W0160.feature +147 -0
  70. data/features/code_check/W0161.feature +151 -0
  71. data/features/code_check/W0162.feature +146 -0
  72. data/features/code_check/W0163.feature +146 -0
  73. data/features/code_check/W0164.feature +146 -0
  74. data/features/code_check/W0165.feature +151 -0
  75. data/features/code_check/W0166.feature +146 -0
  76. data/features/code_check/W0167.feature +146 -0
  77. data/features/code_check/W0168.feature +146 -0
  78. data/features/code_check/W0169.feature +151 -0
  79. data/features/code_check/W0170.feature +146 -0
  80. data/features/code_check/W0171.feature +146 -0
  81. data/features/code_check/W0172.feature +146 -0
  82. data/features/code_check/W0173.feature +159 -0
  83. data/features/code_check/W0174.feature +159 -0
  84. data/features/code_check/W0175.feature +158 -0
  85. data/features/code_check/W0176.feature +158 -0
  86. data/features/code_check/W0177.feature +159 -0
  87. data/features/code_check/W0178.feature +155 -0
  88. data/features/code_check/W0179.feature +154 -0
  89. data/features/code_check/W0180.feature +154 -0
  90. data/features/code_check/W0181.feature +167 -0
  91. data/features/code_check/W0182.feature +147 -0
  92. data/features/code_check/W0183.feature +147 -0
  93. data/features/code_check/W0184.feature +148 -0
  94. data/features/code_check/W0185.feature +142 -0
  95. data/features/code_check/W0186.feature +142 -0
  96. data/features/code_check/W0187.feature +142 -0
  97. data/features/code_check/W0188.feature +142 -0
  98. data/features/code_check/W0189.feature +142 -0
  99. data/features/code_check/W0190.feature +142 -0
  100. data/features/code_check/W0191.feature +142 -0
  101. data/features/code_check/W0192.feature +142 -0
  102. data/features/code_check/W0193.feature +143 -0
  103. data/features/code_check/W0194.feature +142 -0
  104. data/features/code_check/W0195.feature +142 -0
  105. data/features/code_check/W0196.feature +142 -0
  106. data/features/code_check/W0197.feature +142 -0
  107. data/features/code_check/W0198.feature +142 -0
  108. data/features/code_check/W0199.feature +143 -0
  109. data/features/code_check/W0200.feature +142 -0
  110. data/features/code_check/W0201.feature +142 -0
  111. data/features/code_check/W0202.feature +142 -0
  112. data/features/code_check/W0203.feature +142 -0
  113. data/features/code_check/W0204.feature +142 -0
  114. data/features/code_check/W0205.feature +143 -0
  115. data/features/code_check/W0206.feature +150 -0
  116. data/features/code_check/W0207.feature +150 -0
  117. data/features/code_check/W0208.feature +150 -0
  118. data/features/code_check/W0209.feature +151 -0
  119. data/features/code_check/W0210.feature +151 -0
  120. data/features/code_check/W0211.feature +151 -0
  121. data/features/code_check/W0212.feature +147 -0
  122. data/features/code_check/W0213.feature +142 -0
  123. data/features/code_check/W0214.feature +147 -0
  124. data/features/code_check/W0215.feature +142 -0
  125. data/features/code_check/W0216.feature +142 -0
  126. data/features/code_check/W0217.feature +142 -0
  127. data/features/code_check/W0218.feature +142 -0
  128. data/features/code_check/W0219.feature +142 -0
  129. data/features/code_check/W0220.feature +142 -0
  130. data/features/code_check/W0221.feature +147 -0
  131. data/features/code_check/W0222.feature +142 -0
  132. data/features/code_check/W0223.feature +147 -0
  133. data/features/code_check/W0224.feature +142 -0
  134. data/features/code_check/W0225.feature +142 -0
  135. data/features/code_check/W0226.feature +142 -0
  136. data/features/code_check/W0227.feature +142 -0
  137. data/features/code_check/W0228.feature +142 -0
  138. data/features/code_check/W0229.feature +142 -0
  139. data/features/code_check/W0230.feature +147 -0
  140. data/features/code_check/W0231.feature +142 -0
  141. data/features/code_check/W0232.feature +148 -0
  142. data/features/code_check/W0233.feature +142 -0
  143. data/features/code_check/W0234.feature +143 -0
  144. data/features/code_check/W0235.feature +142 -0
  145. data/features/code_check/W0236.feature +143 -0
  146. data/features/code_check/W0237.feature +142 -0
  147. data/features/code_check/W0238.feature +143 -0
  148. data/features/code_check/W0239.feature +154 -0
  149. data/features/code_check/W0240.feature +155 -0
  150. data/features/code_check/W0241.feature +154 -0
  151. data/features/code_check/W0242.feature +155 -0
  152. data/features/code_check/W0243.feature +154 -0
  153. data/features/code_check/W0244.feature +155 -0
  154. data/features/code_check/W0245.feature +147 -0
  155. data/features/code_check/W0246.feature +147 -0
  156. data/features/code_check/W0247.feature +147 -0
  157. data/features/code_check/W0248.feature +142 -0
  158. data/features/code_check/W0249.feature +142 -0
  159. data/features/code_check/W0250.feature +146 -0
  160. data/features/code_check/W0251.feature +159 -0
  161. data/features/code_check/W0252.feature +155 -0
  162. data/features/code_check/W0253.feature +154 -0
  163. data/features/code_check/W0254.feature +154 -0
  164. data/features/code_check/W0477.feature +77 -0
  165. data/features/code_check/W0478.feature +103 -0
  166. data/features/code_check/W0479.feature +65 -0
  167. data/features/code_check/W0480.feature +119 -0
  168. data/features/code_check/W0481.feature +28 -0
  169. data/features/code_check/W0482.feature +64 -0
  170. data/features/code_check/W0483.feature +62 -0
  171. data/features/code_check/W0573.feature +91 -0
  172. data/features/{message_detection → code_check}/W0583.feature +2 -2
  173. data/features/{message_detection → code_check}/W0606.feature +2 -2
  174. data/features/{message_detection → code_check}/W0641.feature +16 -16
  175. data/features/{message_detection → code_check}/W0643.feature +12 -12
  176. data/features/{message_detection → code_check}/W0644.feature +50 -50
  177. data/features/{message_detection → code_check}/W0645.feature +16 -16
  178. data/features/{message_detection → code_check}/W0646.feature +16 -16
  179. data/features/{message_detection → code_check}/W0649.feature +28 -28
  180. data/features/{message_detection → code_check}/W0650.feature +24 -24
  181. data/features/code_check/W0685.feature +120 -0
  182. data/features/code_check/W0686.feature +92 -0
  183. data/features/{message_detection → code_check}/W0687.feature +4 -4
  184. data/features/{message_detection → code_check}/W0688.feature +12 -12
  185. data/features/{message_detection → code_check}/W0689.feature +8 -8
  186. data/features/{message_detection → code_check}/W0690.feature +6 -6
  187. data/features/{message_detection → code_check}/W0691.feature +14 -14
  188. data/features/{message_detection → code_check}/W0692.feature +4 -4
  189. data/features/{message_detection → code_check}/W0694.feature +10 -10
  190. data/features/code_check/W0695.feature +78 -0
  191. data/features/{message_detection → code_check}/W0697.feature +18 -18
  192. data/features/{message_detection → code_check}/W0698.feature +2 -2
  193. data/features/{message_detection → code_check}/W0699.feature +2 -2
  194. data/features/{message_detection → code_check}/W0700.feature +6 -6
  195. data/features/{message_detection → code_check}/W0703.feature +6 -6
  196. data/features/{message_detection → code_check}/W0705.feature +24 -24
  197. data/features/{message_detection → code_check}/W0707.feature +20 -20
  198. data/features/{message_detection → code_check}/W0711.feature +10 -10
  199. data/features/{message_detection → code_check}/W0712.feature +10 -10
  200. data/features/{message_detection → code_check}/W0713.feature +10 -10
  201. data/features/{message_detection → code_check}/W0714.feature +10 -10
  202. data/features/{message_detection → code_check}/W0715.feature +11 -11
  203. data/features/{message_detection → code_check}/W0716.feature +6 -6
  204. data/features/{message_detection → code_check}/W0717.feature +6 -6
  205. data/features/{message_detection → code_check}/W0718.feature +6 -6
  206. data/features/{message_detection → code_check}/W0719.feature +16 -16
  207. data/features/{message_detection → code_check}/W0723.feature +6 -6
  208. data/features/code_check/W0726.feature +95 -0
  209. data/features/{message_detection → code_check}/W0732.feature +6 -6
  210. data/features/{message_detection → code_check}/W0733.feature +6 -6
  211. data/features/{message_detection → code_check}/W0734.feature +16 -16
  212. data/features/{message_detection → code_check}/W0735.feature +16 -16
  213. data/features/{message_detection → code_check}/W0745.feature +10 -10
  214. data/features/code_check/W0747.feature +146 -0
  215. data/features/code_check/W0748.feature +148 -0
  216. data/features/code_check/W0749.feature +146 -0
  217. data/features/code_check/W0750.feature +146 -0
  218. data/features/code_check/W0751.feature +148 -0
  219. data/features/code_check/W0752.feature +143 -0
  220. data/features/code_check/W0753.feature +146 -0
  221. data/features/code_check/W0754.feature +146 -0
  222. data/features/code_check/W0755.feature +142 -0
  223. data/features/code_check/W0756.feature +148 -0
  224. data/features/code_check/W0757.feature +143 -0
  225. data/features/code_check/W0758.feature +143 -0
  226. data/features/code_check/W0759.feature +154 -0
  227. data/features/code_check/W0760.feature +154 -0
  228. data/features/code_check/W0761.feature +154 -0
  229. data/features/code_check/W0762.feature +154 -0
  230. data/features/code_check/W0763.feature +156 -0
  231. data/features/code_check/W0764.feature +151 -0
  232. data/features/code_check/W0765.feature +151 -0
  233. data/features/code_check/W0766.feature +151 -0
  234. data/features/code_check/W0767.feature +142 -0
  235. data/features/code_check/W0768.feature +142 -0
  236. data/features/code_check/W0769.feature +142 -0
  237. data/features/{message_detection → code_check}/W0780.feature +12 -12
  238. data/features/code_check/W0781.feature +145 -0
  239. data/features/{message_detection → code_check}/W0783.feature +8 -8
  240. data/features/{message_detection → code_check}/W0792.feature +16 -16
  241. data/features/{message_detection → code_check}/W0793.feature +16 -16
  242. data/features/{message_detection → code_check}/W0794.feature +10 -10
  243. data/features/code_check/W0801.feature +84 -0
  244. data/features/{message_detection → code_check}/W0805.feature +14 -14
  245. data/features/code_check/W0806.feature +24 -0
  246. data/features/code_check/W0807.feature +35 -0
  247. data/features/code_check/W0808.feature +34 -0
  248. data/features/code_check/W0809.feature +114 -0
  249. data/features/{message_detection → code_check}/W0811.feature +10 -10
  250. data/features/{message_detection → code_check}/W0830.feature +12 -12
  251. data/features/{message_detection → code_check}/W0833.feature +30 -30
  252. data/features/{message_detection → code_check}/W0834.feature +26 -26
  253. data/features/{message_detection → code_check}/W1026.feature +8 -8
  254. data/features/code_check/W1030.feature +84 -0
  255. data/features/{message_detection → code_check}/W1031.feature +36 -36
  256. data/features/{message_detection → code_check}/W1039.feature +24 -24
  257. data/features/{message_detection → code_check}/W1040.feature +8 -8
  258. data/features/{message_detection → code_check}/W1041.feature +2 -2
  259. data/features/{message_detection → code_check}/W1046.feature +6 -6
  260. data/features/{message_detection → code_check}/W1047.feature +12 -12
  261. data/features/{message_detection → code_check}/W1052.feature +6 -6
  262. data/features/{message_detection → code_check}/W1066.feature +6 -6
  263. data/features/{message_detection → code_check}/W1067.feature +6 -6
  264. data/features/{message_detection → code_check}/W1068.feature +6 -6
  265. data/features/{message_detection → code_check}/W1069.feature +10 -10
  266. data/features/{message_detection → code_check}/W1070.feature +15 -15
  267. data/features/{message_detection → code_check}/W1071.feature +8 -8
  268. data/features/{message_detection → code_check}/W1072.feature +2 -2
  269. data/features/{message_detection → code_check}/W1073.feature +14 -14
  270. data/features/{message_detection → code_check}/W1074.feature +10 -10
  271. data/features/{message_detection → code_check}/W1075.feature +10 -10
  272. data/features/{message_detection → code_check}/W1076.feature +8 -8
  273. data/features/{message_detection → code_check}/W1077.feature +18 -18
  274. data/features/{message_detection → code_check}/W9001.feature +2 -2
  275. data/features/{message_detection → code_check}/W9003.feature +12 -12
  276. data/features/step_definitions/{message_detection_steps.rb → code_check_steps.rb} +1 -1
  277. data/features/support/env.rb +19 -3
  278. data/lib/adlint.rb +1 -0
  279. data/lib/adlint/analyzer.rb +17 -1
  280. data/lib/adlint/c.rb +0 -4
  281. data/lib/adlint/c/phase.rb +55 -745
  282. data/lib/adlint/code.rb +0 -24
  283. data/lib/adlint/cpp.rb +0 -3
  284. data/lib/adlint/cpp/phase.rb +50 -112
  285. data/lib/adlint/driver.rb +2 -2
  286. data/lib/adlint/error.rb +4 -4
  287. data/lib/adlint/exam.rb +143 -0
  288. data/lib/adlint/exam/c_builtin.rb +813 -0
  289. data/lib/adlint/{c/message.rb → exam/c_builtin/c_check.rb} +2130 -798
  290. data/lib/adlint/{c/message_shima.rb → exam/c_builtin/c_check_shima.rb} +99 -28
  291. data/lib/adlint/{c/code.rb → exam/c_builtin/c_code.rb} +31 -5
  292. data/lib/adlint/{c/metric.rb → exam/c_builtin/c_metric.rb} +43 -11
  293. data/lib/adlint/{cpp/message.rb → exam/c_builtin/cpp_check.rb} +177 -73
  294. data/lib/adlint/{cpp/message_shima.rb → exam/c_builtin/cpp_check_shima.rb} +28 -8
  295. data/lib/adlint/{cpp/code.rb → exam/c_builtin/cpp_code.rb} +14 -3
  296. data/lib/adlint/{ld/message.rb → exam/c_builtin/ld_check.rb} +33 -12
  297. data/lib/adlint/{ld/metric.rb → exam/c_builtin/ld_metric.rb} +8 -3
  298. data/lib/adlint/lang.rb +2 -2
  299. data/lib/adlint/ld.rb +0 -2
  300. data/lib/adlint/ld/phase.rb +101 -101
  301. data/lib/adlint/message.rb +155 -98
  302. data/lib/adlint/metric.rb +0 -27
  303. data/lib/adlint/phase.rb +28 -3
  304. data/lib/adlint/report.rb +22 -12
  305. data/lib/adlint/traits.rb +97 -5
  306. data/lib/adlint/util.rb +100 -11
  307. data/lib/adlint/version.rb +5 -5
  308. data/share/doc/developers_guide_ja.html +3 -3
  309. data/share/doc/developers_guide_ja.texi +1 -1
  310. data/share/doc/users_guide_en.html +1817 -1648
  311. data/share/doc/users_guide_en.texi +202 -22
  312. data/share/doc/users_guide_ja.html +1836 -1663
  313. data/share/doc/users_guide_ja.texi +203 -20
  314. data/share/sample/bison-2.5/adlint/adlint_traits.yml +55 -2
  315. data/share/sample/bison-2.5/adlint/lib/adlint_traits.yml +47 -2
  316. data/share/sample/bison-2.5/adlint/src/adlint_traits.yml +47 -2
  317. data/share/sample/ctags-5.8/adlint/adlint_traits.yml +47 -2
  318. data/share/sample/flex-2.5.35/adlint/adlint_traits.yml +47 -2
  319. data/share/sample/ruby-1.9.3-p0/adlint/adlint_traits.yml +47 -2
  320. data/share/sample/ruby-1.9.3-p0/adlint/core/adlint_traits.yml +47 -2
  321. data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/adlint_traits.yml +47 -2
  322. data/share/sample/ruby-1.9.3-p0/adlint/enc/adlint_traits.yml +47 -2
  323. data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/adlint_traits.yml +47 -2
  324. data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/adlint_traits.yml +47 -2
  325. data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/adlint_traits.yml +47 -2
  326. data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/adlint_traits.yml +47 -2
  327. data/share/sample/ruby-1.9.3-p0/adlint/ext-date/adlint_traits.yml +47 -2
  328. data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/adlint_traits.yml +47 -2
  329. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/adlint_traits.yml +47 -2
  330. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/adlint_traits.yml +47 -2
  331. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/adlint_traits.yml +47 -2
  332. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/adlint_traits.yml +47 -2
  333. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/adlint_traits.yml +47 -2
  334. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/adlint_traits.yml +47 -2
  335. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/adlint_traits.yml +47 -2
  336. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/adlint_traits.yml +47 -2
  337. data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/adlint_traits.yml +47 -2
  338. data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/adlint_traits.yml +47 -2
  339. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/adlint_traits.yml +47 -2
  340. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/adlint_traits.yml +47 -2
  341. data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/adlint_traits.yml +47 -2
  342. data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/adlint_traits.yml +47 -2
  343. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/adlint_traits.yml +47 -2
  344. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/adlint_traits.yml +47 -2
  345. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/adlint_traits.yml +47 -2
  346. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/adlint_traits.yml +47 -2
  347. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/adlint_traits.yml +47 -2
  348. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/adlint_traits.yml +47 -2
  349. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/adlint_traits.yml +47 -2
  350. data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/adlint_traits.yml +47 -2
  351. data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/adlint_traits.yml +47 -2
  352. data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/adlint_traits.yml +47 -2
  353. data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/adlint_traits.yml +47 -2
  354. data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/adlint_traits.yml +47 -2
  355. data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/adlint_traits.yml +47 -2
  356. data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/adlint_traits.yml +47 -2
  357. data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/adlint_traits.yml +47 -2
  358. data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/adlint_traits.yml +47 -2
  359. data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/adlint_traits.yml +47 -2
  360. data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/adlint_traits.yml +47 -2
  361. data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/adlint_traits.yml +47 -2
  362. data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/adlint_traits.yml +47 -2
  363. data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/adlint_traits.yml +47 -2
  364. data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/adlint_traits.yml +47 -2
  365. data/share/sample/screen-4.0.3/adlint/adlint_traits.yml +47 -2
  366. data/share/sample/vim-7.3/adlint/vim/adlint_traits.yml +47 -2
  367. data/share/sample/vim-7.3/adlint/xxd/adlint_traits.yml +47 -2
  368. data/share/sample/zsh-4.3.15/adlint/adlint_traits.yml +47 -2
  369. data/share/sample/zsh-4.3.15/adlint/builtins/adlint_traits.yml +47 -2
  370. data/share/sample/zsh-4.3.15/adlint/core/adlint_traits.yml +47 -2
  371. data/share/sample/zsh-4.3.15/adlint/modules/adlint_traits.yml +47 -2
  372. data/share/sample/zsh-4.3.15/adlint/zle/adlint_traits.yml +47 -2
  373. data/spec/conf.d/default_traits.yml +56 -3
  374. metadata +280 -94
  375. data/etc/mesg.d/en_US/messages.yml +0 -797
  376. data/etc/mesg.d/ja_JP/messages.yml +0 -797
data/lib/adlint/code.rb CHANGED
@@ -473,28 +473,4 @@ module AdLint #:nodoc:
473
473
  attr_reader :signature
474
474
  end
475
475
 
476
- class CodeExtraction
477
- def initialize(context)
478
- @context = context
479
- end
480
-
481
- def execute
482
- do_prepare(@context)
483
- do_execute(@context)
484
- end
485
-
486
- private
487
- def do_prepare(context)
488
- subclass_responsibility
489
- end
490
-
491
- def do_execute(context)
492
- subclass_responsibility
493
- end
494
-
495
- def report
496
- @context.report
497
- end
498
- end
499
-
500
476
  end
data/lib/adlint/cpp.rb CHANGED
@@ -30,13 +30,10 @@
30
30
  #++
31
31
 
32
32
  require "adlint/cpp/asm"
33
- require "adlint/cpp/code"
34
33
  require "adlint/cpp/eval"
35
34
  require "adlint/cpp/constexpr"
36
35
  require "adlint/cpp/lexer"
37
36
  require "adlint/cpp/macro"
38
- require "adlint/cpp/message"
39
- require "adlint/cpp/message_shima"
40
37
  require "adlint/cpp/phase"
41
38
  require "adlint/cpp/scanner"
42
39
  require "adlint/cpp/source"
@@ -30,121 +30,53 @@
30
30
  #++
31
31
 
32
32
  require "adlint/phase"
33
- require "adlint/monitor"
34
33
  require "adlint/cpp/lexer"
35
34
  require "adlint/cpp/eval"
36
- require "adlint/cpp/code"
37
- require "adlint/cpp/message"
38
- require "adlint/cpp/message_shima"
39
35
  require "adlint/cpp/util"
40
36
 
41
37
  module AdLint #:nodoc:
42
38
  module Cpp #:nodoc:
43
39
 
44
- class Prepare1Phase < Phase
45
- private
46
- def do_execute(context)
47
- monitored_region("pr1") do
48
- context[:c_source] = PreprocessedSource.new(context[:sources].first)
49
-
50
- context[:cpp_macro_table] = MacroTable.new
51
- context[:cpp_interpreter] = Preprocessor.new
52
- context[:cpp_visitor] = SyntaxTreeMulticastVisitor.new
53
- end
40
+ class CppPhase < Phase
41
+ def initialize(context, phase_name)
42
+ super(context, "cpp", phase_name)
54
43
  end
55
44
  end
56
45
 
57
- class Prepare2Phase < Phase
58
- private
59
- def do_execute(context)
60
- monitored_region("pr2") do
61
- context[:cpp_commands] =
62
- setup_code_extractions(context) + setup_message_detections(context)
63
- end
46
+ class Prepare1Phase < CppPhase
47
+ def initialize(context)
48
+ super(context, "pr1")
64
49
  end
65
50
 
66
- def setup_code_extractions(context)
67
- [
68
- ObjectLikeMacroExtraction.new(context),
69
- FuncLikeMacroExtraction.new(context),
70
- IncludeDirectiveExtraction.new(context),
71
- DirectiveExtraction.new(context)
72
- ]
51
+ private
52
+ def do_execute(context, *)
53
+ context[:c_source] = PreprocessedSource.new(context[:sources].first)
54
+ context[:cpp_macro_table] = MacroTable.new
55
+ context[:cpp_interpreter] = Preprocessor.new
56
+ context[:cpp_visitor] = SyntaxTreeMulticastVisitor.new
73
57
  end
58
+ end
74
59
 
75
- def setup_message_detections(context)
76
- [
77
- W0001.new(context),
78
- W0025.new(context),
79
- W0026.new(context),
80
- W0053.new(context),
81
- W0054.new(context),
82
- W0055.new(context),
83
- W0056.new(context),
84
- W0057.new(context),
85
- W0059.new(context),
86
- W0060.new(context),
87
- W0061.new(context),
88
- W0069.new(context),
89
- W0072.new(context),
90
- W0073.new(context),
91
- W0442.new(context),
92
- W0443.new(context),
93
- W0444.new(context),
94
- W0445.new(context),
95
- W0477.new(context),
96
- W0478.new(context),
97
- W0479.new(context),
98
- W0480.new(context),
99
- W0481.new(context),
100
- W0482.new(context),
101
- W0483.new(context),
102
- W0511.new(context),
103
- W0528.new(context),
104
- W0541.new(context),
105
- W0549.new(context),
106
- W0554.new(context),
107
- W0574.new(context),
108
- W0575.new(context),
109
- W0576.new(context),
110
- W0577.new(context),
111
- W0632.new(context),
112
- W0633.new(context),
113
- W0634.new(context),
114
- W0643.new(context),
115
- W0687.new(context),
116
- W0688.new(context),
117
- W0689.new(context),
118
- W0690.new(context),
119
- W0691.new(context),
120
- W0692.new(context),
121
- W0695.new(context),
122
- W0696.new(context),
123
- W0804.new(context),
124
- W0805.new(context),
125
- W0806.new(context),
126
- W0807.new(context),
127
- W0808.new(context),
128
- W0811.new(context),
129
- W0831.new(context),
130
- W0832.new(context),
131
- W1040.new(context),
132
- W1041.new(context),
133
- W1046.new(context),
134
- W9002.new(context)
135
- ]
60
+ class Prepare2Phase < CppPhase
61
+ def initialize(context)
62
+ super(context, "pr2")
136
63
  end
64
+
65
+ private
66
+ def do_execute(*) end
137
67
  end
138
68
 
139
- class EvalPhase < Phase
69
+ class EvalPhase < CppPhase
70
+ def initialize(context)
71
+ super(context, "cpp")
72
+ end
73
+
140
74
  private
141
- def do_execute(context)
142
- monitored_region("cpp") do
143
- pp_context = PreprocessContext.new(context)
144
- process_cinit_header(context, pp_context)
145
- process_pinit_header(context, pp_context)
146
- process_target_source(context, pp_context)
147
- end
75
+ def do_execute(context, *)
76
+ pp_context = PreprocessContext.new(context)
77
+ process_cinit_header(context, pp_context)
78
+ process_pinit_header(context, pp_context)
79
+ process_target_source(context, pp_context)
148
80
  end
149
81
 
150
82
  def process_cinit_header(context, pp_context)
@@ -174,30 +106,36 @@ module Cpp #:nodoc:
174
106
  end
175
107
  end
176
108
 
177
- class SubstPhase < Phase
109
+ class SubstPhase < CppPhase
110
+ def initialize(context)
111
+ super(context, "sub")
112
+ end
113
+
178
114
  private
179
- def do_execute(context)
180
- monitored_region("sub") do
181
- context[:c_source].substitute_code_blocks
182
- end
115
+ def do_execute(context, *)
116
+ context[:c_source].substitute_code_blocks
183
117
  end
184
118
  end
185
119
 
186
- class ReviewPhase < Phase
120
+ class ReviewPhase < CppPhase
121
+ def initialize(context)
122
+ super(context, "rv1")
123
+ end
124
+
187
125
  private
188
- def do_execute(context)
189
- monitored_region("rv1") do
190
- context[:cpp_syntax_tree].accept(context[:cpp_visitor])
191
- end
126
+ def do_execute(context, *)
127
+ context[:cpp_syntax_tree].accept(context[:cpp_visitor])
192
128
  end
193
129
  end
194
130
 
195
- class CommandPhase < Phase
131
+ class ExaminationPhase < CppPhase
132
+ def initialize(context)
133
+ super(context, "ex1")
134
+ end
135
+
196
136
  private
197
- def do_execute(context)
198
- monitored_region("cm1") do
199
- context[:cpp_commands].each { |command| command.execute }
200
- end
137
+ def do_execute(context, *)
138
+ examinations.each { |exam| exam.execute }
201
139
  end
202
140
  end
203
141
 
data/lib/adlint/driver.rb CHANGED
@@ -61,7 +61,7 @@ module AdLint #:nodoc:
61
61
  $stderr.puts "#{command}: Failed to read `#{traits_fpath}'."
62
62
  $stderr.puts
63
63
  $stderr.puts "Detailed message is below;"
64
- $stderr.puts ex.message, ex.backtrace
64
+ $stderr.puts ex.message
65
65
  $stderr.puts
66
66
  exit 2
67
67
  end
@@ -73,7 +73,7 @@ module AdLint #:nodoc:
73
73
  "`#{Traits.instance.of_message.language}'."
74
74
  $stderr.puts
75
75
  $stderr.puts "Detailed message is below;"
76
- $stderr.puts ex.message, ex.backtrace
76
+ $stderr.puts ex.message
77
77
  $stderr.puts
78
78
  exit 2
79
79
  end
data/lib/adlint/error.rb CHANGED
@@ -120,8 +120,8 @@ module AdLint #:nodoc:
120
120
  # === PARAMETER
121
121
  # _id_:: Symbol -- Invalid message ID.
122
122
  # _location_:: Location -- Location where the error occured.
123
- def initialize(id, location = nil)
124
- super(id, location, id)
123
+ def initialize(package, id, location = nil)
124
+ super(id, location, package, id)
125
125
  end
126
126
 
127
127
  # === DESCRIPTION
@@ -135,8 +135,8 @@ module AdLint #:nodoc:
135
135
  end
136
136
 
137
137
  class InvalidMessageFormatError < Error
138
- def initialize(id, location = nil)
139
- super(id, location, id)
138
+ def initialize(package, id, location = nil)
139
+ super(id, location, package, id)
140
140
  end
141
141
 
142
142
  def id
@@ -0,0 +1,143 @@
1
+ # Base of all source code examinations.
2
+ #
3
+ # Author:: Yutaka Yanoh <mailto:yanoh@users.sourceforge.net>
4
+ # Copyright:: Copyright (C) 2010-2012, OGIS-RI Co.,Ltd.
5
+ # License:: GPLv3+: GNU General Public License version 3 or later
6
+ #
7
+ # Owner:: Yutaka Yanoh <mailto:yanoh@users.sourceforge.net>
8
+
9
+ #--
10
+ # ___ ____ __ ___ _________
11
+ # / | / _ |/ / / / | / /__ __/ Source Code Static Analyzer
12
+ # / /| | / / / / / / / |/ / / / AdLint - Advanced Lint
13
+ # / __ |/ /_/ / /___/ / /| / / /
14
+ # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2012, OGIS-RI Co.,Ltd.
15
+ #
16
+ # This file is part of AdLint.
17
+ #
18
+ # AdLint is free software: you can redistribute it and/or modify it under the
19
+ # terms of the GNU General Public License as published by the Free Software
20
+ # Foundation, either version 3 of the License, or (at your option) any later
21
+ # version.
22
+ #
23
+ # AdLint is distributed in the hope that it will be useful, but WITHOUT ANY
24
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
25
+ # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
26
+ #
27
+ # You should have received a copy of the GNU General Public License along with
28
+ # AdLint. If not, see <http://www.gnu.org/licenses/>.
29
+ #
30
+ #++
31
+
32
+ require "adlint/util"
33
+
34
+ module AdLint #:nodoc:
35
+
36
+ # == DESCRIPTION
37
+ # Base of all kinds of source code examinations.
38
+ class Examination
39
+ @registrant_phase_class = nil
40
+
41
+ def self.def_registrant_phase(phase_class)
42
+ @registrant_phase_class = phase_class
43
+ end
44
+ private_class_method :def_registrant_phase
45
+
46
+ class << self; attr_reader :registrant_phase_class; end
47
+
48
+ def initialize(context)
49
+ @context = context
50
+ end
51
+
52
+ def execute
53
+ do_prepare(@context)
54
+ do_execute(@context)
55
+ end
56
+
57
+ private
58
+ def do_prepare(context)
59
+ subclass_responsibility
60
+ end
61
+
62
+ def do_execute(context)
63
+ subclass_responsibility
64
+ end
65
+
66
+ def report
67
+ @context.report
68
+ end
69
+ end
70
+
71
+ class ExaminationCatalog
72
+ def initialize(loader_fpath)
73
+ @loader_fpath = loader_fpath
74
+ yield(self) if block_given?
75
+ end
76
+
77
+ attr_accessor :name
78
+ attr_accessor :major_version
79
+ attr_accessor :minor_version
80
+ attr_accessor :patch_version
81
+ attr_accessor :release_date
82
+ attr_accessor :examination_classes
83
+
84
+ def short_version
85
+ "#{major_version}.#{minor_version}.#{patch_version}"
86
+ end
87
+
88
+ def message_definition_dpath
89
+ Pathname.new("etc/mesg.d/#{name}").expand_path(package_prefix)
90
+ end
91
+
92
+ private
93
+ def package_prefix
94
+ catalog_dpath = Pathname.new(@loader_fpath).realpath.dirname
95
+ Pathname.new("../../..").expand_path(catalog_dpath)
96
+ end
97
+ end
98
+
99
+ class ExaminationPackage
100
+ include Validation
101
+
102
+ def initialize(name)
103
+ @name = name
104
+ end
105
+
106
+ attr_reader :name
107
+
108
+ def load
109
+ require "adlint/exam/#{@name}.rb"
110
+ true
111
+ rescue LoadError
112
+ false
113
+ end
114
+
115
+ def catalog
116
+ instance_eval "AdLint::Exam::#{module_name}::Catalog"
117
+ end
118
+
119
+ private
120
+ def module_name
121
+ @name.sub(/\A./) { |str| str.upcase }.gsub(/_(.)/) { |*| $1.upcase }
122
+ end
123
+ end
124
+
125
+ # == DESCRIPTION
126
+ # Base of code checking classes.
127
+ class CodeCheck < Examination; end
128
+
129
+ class PassiveCodeCheck < CodeCheck
130
+ private
131
+ def do_prepare(context) end
132
+ def do_execute(context) end
133
+ end
134
+
135
+ # == DESCRIPTION
136
+ # Base of metric measurement classes.
137
+ class MetricMeasurement < Examination; end
138
+
139
+ # == DESCRIPTION
140
+ # Base of code structure extraction classes.
141
+ class CodeExtraction < Examination; end
142
+
143
+ end
@@ -0,0 +1,813 @@
1
+ # adlint-exam-c_builtin examination package loader.
2
+ #
3
+ # Author:: Yutaka Yanoh <mailto:yanoh@users.sourceforge.net>
4
+ # Copyright:: Copyright (C) 2010-2012, OGIS-RI Co.,Ltd.
5
+ # License:: GPLv3+: GNU General Public License version 3 or later
6
+ #
7
+ # Owner:: Yutaka Yanoh <mailto:yanoh@users.sourceforge.net>
8
+
9
+ #--
10
+ # ___ ____ __ ___ _________
11
+ # / | / _ |/ / / / | / /__ __/ Source Code Static Analyzer
12
+ # / /| | / / / / / / / |/ / / / AdLint - Advanced Lint
13
+ # / __ |/ /_/ / /___/ / /| / / /
14
+ # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2012, OGIS-RI Co.,Ltd.
15
+ #
16
+ # This file is part of AdLint.
17
+ #
18
+ # AdLint is free software: you can redistribute it and/or modify it under the
19
+ # terms of the GNU General Public License as published by the Free Software
20
+ # Foundation, either version 3 of the License, or (at your option) any later
21
+ # version.
22
+ #
23
+ # AdLint is distributed in the hope that it will be useful, but WITHOUT ANY
24
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
25
+ # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
26
+ #
27
+ # You should have received a copy of the GNU General Public License along with
28
+ # AdLint. If not, see <http://www.gnu.org/licenses/>.
29
+ #
30
+ #++
31
+
32
+ require "adlint"
33
+
34
+ require "adlint/exam/c_builtin/c_code"
35
+ require "adlint/exam/c_builtin/c_check"
36
+ require "adlint/exam/c_builtin/c_check_shima"
37
+ require "adlint/exam/c_builtin/c_metric"
38
+ require "adlint/exam/c_builtin/cpp_code"
39
+ require "adlint/exam/c_builtin/cpp_check"
40
+ require "adlint/exam/c_builtin/cpp_check_shima"
41
+ require "adlint/exam/c_builtin/ld_check"
42
+ require "adlint/exam/c_builtin/ld_metric"
43
+
44
+ module AdLint #:nodoc:
45
+ module Exam #:nodoc:
46
+ module CBuiltin #:nodoc:
47
+
48
+ Catalog = ExaminationCatalog.new(__FILE__) do |cat|
49
+ cat.name = "c_builtin"
50
+
51
+ cat.major_version = MAJOR_VERSION
52
+ cat.minor_version = MINOR_VERSION
53
+ cat.patch_version = PATCH_VERSION
54
+ cat.release_date = RELEASE_DATE
55
+
56
+ cat.examination_classes = [
57
+ W0001_C, W0001_Cpp,
58
+ W0002,
59
+ W0003,
60
+ W0007,
61
+ W0010,
62
+ W0013,
63
+ W0016,
64
+ W0017,
65
+ W0018,
66
+ W0019,
67
+ W0021,
68
+ W0023,
69
+ W0024,
70
+ W0025,
71
+ W0026,
72
+ W0027,
73
+ W0028,
74
+ W0030,
75
+ W0031,
76
+ W0033,
77
+ W0035,
78
+ W0036,
79
+ W0037,
80
+ W0038,
81
+ W0039,
82
+ W0040,
83
+ W0041,
84
+ W0042,
85
+ W0043,
86
+ W0049,
87
+ W0050,
88
+ W0051,
89
+ W0052,
90
+ W0053,
91
+ W0054,
92
+ W0055,
93
+ W0056,
94
+ W0057,
95
+ W0058,
96
+ W0059,
97
+ W0060,
98
+ W0061,
99
+ W0062,
100
+ W0063,
101
+ W0064,
102
+ W0065,
103
+ W0066,
104
+ W0067,
105
+ W0068,
106
+ W0069,
107
+ W0070,
108
+ W0071,
109
+ W0072,
110
+ W0073,
111
+ W0076,
112
+ W0077,
113
+ W0078,
114
+ W0079,
115
+ W0080,
116
+ W0081,
117
+ W0082,
118
+ W0084,
119
+ W0085,
120
+ W0086,
121
+ W0087,
122
+ W0088,
123
+ W0093,
124
+ W0096,
125
+ W0097,
126
+ W0100,
127
+ W0101,
128
+ W0102,
129
+ W0103,
130
+ W0104,
131
+ W0105,
132
+ W0107,
133
+ W0108,
134
+ W0109,
135
+ W0110,
136
+ W0112,
137
+ W0114,
138
+ W0115,
139
+ W0116,
140
+ W0117,
141
+ W0118,
142
+ W0119,
143
+ W0120,
144
+ W0121,
145
+ W0122,
146
+ W0123,
147
+ W0124,
148
+ W0125,
149
+ W0126,
150
+ W0127,
151
+ W0128,
152
+ W0129,
153
+ W0130,
154
+ W0131,
155
+ W0132,
156
+ W0133,
157
+ W0134,
158
+ W0135,
159
+ W0136,
160
+ W0137,
161
+ W0138,
162
+ W0139,
163
+ W0140,
164
+ W0141,
165
+ W0142,
166
+ W0143,
167
+ W0144,
168
+ W0145,
169
+ W0146,
170
+ W0147,
171
+ W0148,
172
+ W0149,
173
+ W0150,
174
+ W0151,
175
+ W0152,
176
+ W0153,
177
+ W0154,
178
+ W0155,
179
+ W0156,
180
+ W0157,
181
+ W0158,
182
+ W0159,
183
+ W0160,
184
+ W0161,
185
+ W0162,
186
+ W0163,
187
+ W0164,
188
+ W0165,
189
+ W0166,
190
+ W0167,
191
+ W0168,
192
+ W0169,
193
+ W0170,
194
+ W0171,
195
+ W0172,
196
+ W0173,
197
+ W0174,
198
+ W0175,
199
+ W0176,
200
+ W0177,
201
+ W0178,
202
+ W0179,
203
+ W0180,
204
+ W0181,
205
+ W0182,
206
+ W0183,
207
+ W0184,
208
+ W0185,
209
+ W0186,
210
+ W0187,
211
+ W0188,
212
+ W0189,
213
+ W0190,
214
+ W0191,
215
+ W0192,
216
+ W0193,
217
+ W0194,
218
+ W0195,
219
+ W0196,
220
+ W0197,
221
+ W0198,
222
+ W0199,
223
+ W0200,
224
+ W0201,
225
+ W0202,
226
+ W0203,
227
+ W0204,
228
+ W0205,
229
+ W0206,
230
+ W0207,
231
+ W0208,
232
+ W0209,
233
+ W0210,
234
+ W0211,
235
+ W0212,
236
+ W0213,
237
+ W0214,
238
+ W0215,
239
+ W0216,
240
+ W0217,
241
+ W0218,
242
+ W0219,
243
+ W0220,
244
+ W0221,
245
+ W0222,
246
+ W0223,
247
+ W0224,
248
+ W0225,
249
+ W0226,
250
+ W0227,
251
+ W0228,
252
+ W0229,
253
+ W0230,
254
+ W0231,
255
+ W0232,
256
+ W0233,
257
+ W0234,
258
+ W0235,
259
+ W0236,
260
+ W0237,
261
+ W0238,
262
+ W0239,
263
+ W0240,
264
+ W0241,
265
+ W0242,
266
+ W0243,
267
+ W0244,
268
+ W0245,
269
+ W0246,
270
+ W0247,
271
+ W0248,
272
+ W0249,
273
+ W0250,
274
+ W0251,
275
+ W0252,
276
+ W0253,
277
+ W0254,
278
+ W0255,
279
+ W0256,
280
+ W0257,
281
+ W0258,
282
+ W0259,
283
+ W0260,
284
+ W0261,
285
+ W0262,
286
+ W0263,
287
+ W0264,
288
+ W0265,
289
+ W0266,
290
+ W0267,
291
+ W0268,
292
+ W0269,
293
+ W0270,
294
+ W0271,
295
+ W0272,
296
+ W0273,
297
+ W0274,
298
+ W0275,
299
+ W0276,
300
+ W0277,
301
+ W0278,
302
+ W0279,
303
+ W0280,
304
+ W0281,
305
+ W0282,
306
+ W0283,
307
+ W0284,
308
+ W0285,
309
+ W0286,
310
+ W0287,
311
+ W0288,
312
+ W0289,
313
+ W0290,
314
+ W0291,
315
+ W0292,
316
+ W0293,
317
+ W0294,
318
+ W0295,
319
+ W0296,
320
+ W0297,
321
+ W0298,
322
+ W0299,
323
+ W0300,
324
+ W0301,
325
+ W0302,
326
+ W0303,
327
+ W0304,
328
+ W0305,
329
+ W0306,
330
+ W0307,
331
+ W0308,
332
+ W0309,
333
+ W0310,
334
+ W0311,
335
+ W0312,
336
+ W0313,
337
+ W0314,
338
+ W0315,
339
+ W0316,
340
+ W0317,
341
+ W0318,
342
+ W0319,
343
+ W0320,
344
+ W0321,
345
+ W0322,
346
+ W0323,
347
+ W0324,
348
+ W0325,
349
+ W0326,
350
+ W0327,
351
+ W0328,
352
+ W0329,
353
+ W0330,
354
+ W0331,
355
+ W0332,
356
+ W0333,
357
+ W0334,
358
+ W0335,
359
+ W0336,
360
+ W0337,
361
+ W0338,
362
+ W0339,
363
+ W0340,
364
+ W0341,
365
+ W0342,
366
+ W0343,
367
+ W0344,
368
+ W0345,
369
+ W0346,
370
+ W0347,
371
+ W0348,
372
+ W0349,
373
+ W0350,
374
+ W0351,
375
+ W0352,
376
+ W0353,
377
+ W0354,
378
+ W0355,
379
+ W0356,
380
+ W0357,
381
+ W0358,
382
+ W0359,
383
+ W0360,
384
+ W0361,
385
+ W0362,
386
+ W0363,
387
+ W0364,
388
+ W0365,
389
+ W0366,
390
+ W0367,
391
+ W0368,
392
+ W0369,
393
+ W0370,
394
+ W0371,
395
+ W0372,
396
+ W0373,
397
+ W0374,
398
+ W0375,
399
+ W0376,
400
+ W0377,
401
+ W0378,
402
+ W0379,
403
+ W0380,
404
+ W0381,
405
+ W0382,
406
+ W0383,
407
+ W0384,
408
+ W0385,
409
+ W0386,
410
+ W0387,
411
+ W0388,
412
+ W0389,
413
+ W0390,
414
+ W0391,
415
+ W0392,
416
+ W0393,
417
+ W0394,
418
+ W0395,
419
+ W0396,
420
+ W0397,
421
+ W0398,
422
+ W0399,
423
+ W0400,
424
+ W0401,
425
+ W0402,
426
+ W0403,
427
+ W0404,
428
+ W0405,
429
+ W0406,
430
+ W0407,
431
+ W0408,
432
+ W0409,
433
+ W0410,
434
+ W0411,
435
+ W0413,
436
+ W0414,
437
+ W0421,
438
+ W0422,
439
+ W0423,
440
+ W0424,
441
+ W0425,
442
+ W0431,
443
+ W0432,
444
+ W0440,
445
+ W0441,
446
+ W0442,
447
+ W0443,
448
+ W0444,
449
+ W0445,
450
+ W0446,
451
+ W0447,
452
+ W0456,
453
+ W0457,
454
+ W0458,
455
+ W0459,
456
+ W0460,
457
+ W0461,
458
+ W0462,
459
+ W0477,
460
+ W0478,
461
+ W0479,
462
+ W0480,
463
+ W0481,
464
+ W0482,
465
+ W0483,
466
+ W0488,
467
+ W0489,
468
+ W0490,
469
+ W0491,
470
+ W0492,
471
+ W0493,
472
+ W0495,
473
+ W0496,
474
+ W0497,
475
+ W0498,
476
+ W0499,
477
+ W0500,
478
+ W0501,
479
+ W0502,
480
+ W0508,
481
+ W0511,
482
+ W0512,
483
+ W0525,
484
+ W0528,
485
+ W0529,
486
+ W0530,
487
+ W0532,
488
+ W0534,
489
+ W0535,
490
+ W0538,
491
+ W0540,
492
+ W0541,
493
+ W0542,
494
+ W0543,
495
+ W0544,
496
+ W0546,
497
+ W0549,
498
+ W0551,
499
+ W0552,
500
+ W0553,
501
+ W0554,
502
+ W0555,
503
+ W0556,
504
+ W0559,
505
+ W0560,
506
+ W0561,
507
+ W0562,
508
+ W0563,
509
+ W0564,
510
+ W0565,
511
+ W0566,
512
+ W0567,
513
+ W0568,
514
+ W0569,
515
+ W0570,
516
+ W0571,
517
+ W0572,
518
+ W0573,
519
+ W0574,
520
+ W0575,
521
+ W0576,
522
+ W0577,
523
+ W0578,
524
+ W0579,
525
+ W0580,
526
+ W0581,
527
+ W0582,
528
+ W0583,
529
+ W0584,
530
+ W0585,
531
+ W0586,
532
+ W0589,
533
+ W0591,
534
+ W0593,
535
+ W0597,
536
+ W0598,
537
+ W0599,
538
+ W0600,
539
+ W0605,
540
+ W0606,
541
+ W0607,
542
+ W0608,
543
+ W0609,
544
+ W0610,
545
+ W0611,
546
+ W0612,
547
+ W0613,
548
+ W0614,
549
+ W0622,
550
+ W0623,
551
+ W0624,
552
+ W0625,
553
+ W0626,
554
+ W0627,
555
+ W0628,
556
+ W0629,
557
+ W0632,
558
+ W0633,
559
+ W0634,
560
+ W0635,
561
+ W0636,
562
+ W0637,
563
+ W0638,
564
+ W0639,
565
+ W0640,
566
+ W0641,
567
+ W0642,
568
+ W0643,
569
+ W0644,
570
+ W0645,
571
+ W0646,
572
+ W0649,
573
+ W0650,
574
+ W0653,
575
+ W0654,
576
+ W0655,
577
+ W0656,
578
+ W0657,
579
+ W0658,
580
+ W0659,
581
+ W0660,
582
+ W0661,
583
+ W0662,
584
+ W0663,
585
+ W0664,
586
+ W0665,
587
+ W0666,
588
+ W0667,
589
+ W0668,
590
+ W0669,
591
+ W0670,
592
+ W0671,
593
+ W0672,
594
+ W0673,
595
+ W0674,
596
+ W0675,
597
+ W0676,
598
+ W0677,
599
+ W0678,
600
+ W0679,
601
+ W0680,
602
+ W0681,
603
+ W0682,
604
+ W0683,
605
+ W0684,
606
+ W0685,
607
+ W0686,
608
+ W0687,
609
+ W0688,
610
+ W0689,
611
+ W0690,
612
+ W0691,
613
+ W0692,
614
+ W0694,
615
+ W0695,
616
+ W0696,
617
+ W0697,
618
+ W0698,
619
+ W0699,
620
+ W0700,
621
+ W0703,
622
+ W0704,
623
+ W0705,
624
+ W0707,
625
+ W0708,
626
+ W0711,
627
+ W0712,
628
+ W0713,
629
+ W0714,
630
+ W0715,
631
+ W0716,
632
+ W0717,
633
+ W0718,
634
+ W0719,
635
+ W0720,
636
+ W0721,
637
+ W0722,
638
+ W0723,
639
+ W0726,
640
+ W0727,
641
+ W0728,
642
+ W0729,
643
+ W0730,
644
+ W0731,
645
+ W0732,
646
+ W0733,
647
+ W0734,
648
+ W0735,
649
+ W0736,
650
+ W0737,
651
+ W0738,
652
+ W0739,
653
+ W0740,
654
+ W0741,
655
+ W0742,
656
+ W0743,
657
+ W0744,
658
+ W0745,
659
+ W0747,
660
+ W0748,
661
+ W0749,
662
+ W0750,
663
+ W0751,
664
+ W0752,
665
+ W0753,
666
+ W0754,
667
+ W0755,
668
+ W0756,
669
+ W0757,
670
+ W0758,
671
+ W0759,
672
+ W0760,
673
+ W0761,
674
+ W0762,
675
+ W0763,
676
+ W0764,
677
+ W0765,
678
+ W0766,
679
+ W0767,
680
+ W0768,
681
+ W0769,
682
+ W0770,
683
+ W0771,
684
+ W0774,
685
+ W0775,
686
+ W0776,
687
+ W0777,
688
+ W0778,
689
+ W0779,
690
+ W0780,
691
+ W0781,
692
+ W0783,
693
+ W0785,
694
+ W0786,
695
+ W0787,
696
+ W0788,
697
+ W0789,
698
+ W0790,
699
+ W0791,
700
+ W0792,
701
+ W0793,
702
+ W0794,
703
+ W0795,
704
+ W0796,
705
+ W0797,
706
+ W0798,
707
+ W0799,
708
+ W0800,
709
+ W0801,
710
+ W0804,
711
+ W0805,
712
+ W0806,
713
+ W0807,
714
+ W0808,
715
+ W0809,
716
+ W0810,
717
+ W0811,
718
+ W0827,
719
+ W0828,
720
+ W0830,
721
+ W0831,
722
+ W0832,
723
+ W0833,
724
+ W0834,
725
+ W0947,
726
+ W0948,
727
+ W0949,
728
+ W0950,
729
+ W1026,
730
+ W1027,
731
+ W1028,
732
+ W1029,
733
+ W1030,
734
+ W1031,
735
+ W1032,
736
+ W1033,
737
+ W1034,
738
+ W1037,
739
+ W1039,
740
+ W1040,
741
+ W1041,
742
+ W1046,
743
+ W1047,
744
+ W1049,
745
+ W1050,
746
+ W1051,
747
+ W1052,
748
+ W1053,
749
+ W1054,
750
+ W1055,
751
+ W1056,
752
+ W1057,
753
+ W1058,
754
+ W1059,
755
+ W1060,
756
+ W1061,
757
+ W1062,
758
+ W1063,
759
+ W1064,
760
+ W1065,
761
+ W1066,
762
+ W1067,
763
+ W1068,
764
+ W1069,
765
+ W1070,
766
+ W1071,
767
+ W1072,
768
+ W1073,
769
+ W1074,
770
+ W1075,
771
+ W1076,
772
+ W1077,
773
+ W9001,
774
+ W9002,
775
+ W9003,
776
+
777
+ FL_STMT,
778
+ FL_FUNC,
779
+ FN_STMT,
780
+ FN_UNRC,
781
+ FN_LINE,
782
+ FN_PARA,
783
+ FN_UNUV,
784
+ FN_CSUB,
785
+ FN_GOTO,
786
+ FN_RETN,
787
+ FN_UELS,
788
+ FN_NEST,
789
+ FN_PATH,
790
+ FN_CYCM,
791
+ FN_CALL,
792
+
793
+ TypeDeclExtraction,
794
+ GVarDeclExtraction,
795
+ FuncDeclExtraction,
796
+ VarDefExtraction,
797
+ FuncDefExtraction,
798
+ LabelDefExtraction,
799
+ InitializationExtraction,
800
+ AssignmentExtraction,
801
+ FuncCallExtraction,
802
+ CrossRefExtraction,
803
+ LiteralExtraction,
804
+ ObjectLikeMacroExtraction,
805
+ FuncLikeMacroExtraction,
806
+ IncludeDirectiveExtraction,
807
+ DirectiveExtraction
808
+ ]
809
+ end
810
+
811
+ end
812
+ end
813
+ end