democracy 0.0.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of democracy might be problematic. Click here for more details.

Files changed (647) hide show
  1. checksums.yaml +7 -0
  2. data/LIBERTY +310 -0
  3. data/README +310 -0
  4. data/README2 +14 -0
  5. data/READ_THIS_TO_CHANGE_THINGS +310 -0
  6. data/Resume.pdf +0 -0
  7. data/Ruby Installer.exe +0 -0
  8. data/VERSION_NUMBER +1 -0
  9. data/WE_NEEDNT_BE_ENSLAVED +310 -0
  10. data/_.html +460 -0
  11. data/__index.html +11 -0
  12. data/a.html +21 -0
  13. data/ac +73 -0
  14. data/all_code.cpp +280 -0
  15. data/all_code.js +30 -0
  16. data/app_topics +93 -0
  17. data/background.jpg +0 -0
  18. data/better_string +26 -0
  19. data/bin/abs +0 -0
  20. data/bin/ac +34 -0
  21. data/bin/add +0 -0
  22. data/bin/append +14 -0
  23. data/bin/args +0 -0
  24. data/bin/autorequire +85 -0
  25. data/bin/big_num +155 -0
  26. data/bin/black +0 -0
  27. data/bin/blue +0 -0
  28. data/bin/bold +0 -0
  29. data/bin/c_repl +76 -0
  30. data/bin/close +3 -0
  31. data/bin/copy +0 -0
  32. data/bin/count +0 -0
  33. data/bin/cpy +0 -0
  34. data/bin/cyan +0 -0
  35. data/bin/democracyinstall.exe +0 -0
  36. data/bin/div +0 -0
  37. data/bin/down_all_links +50 -0
  38. data/bin/dump +0 -0
  39. data/bin/email +127 -0
  40. data/bin/emerald-browser +0 -0
  41. data/bin/emoji +176 -0
  42. data/bin/executable +1 -0
  43. data/bin/exp +0 -0
  44. data/bin/files +0 -0
  45. data/bin/floor +0 -0
  46. data/bin/foreach +49 -0
  47. data/bin/g+ +557 -0
  48. data/bin/get_all_links +11 -0
  49. data/bin/github +55 -0
  50. data/bin/green +0 -0
  51. data/bin/gsearch +159 -0
  52. data/bin/gsub +0 -0
  53. data/bin/gsub_in_place +0 -0
  54. data/bin/last_nth +0 -0
  55. data/bin/lines +0 -0
  56. data/bin/magenta +0 -0
  57. data/bin/mkfile +47 -0
  58. data/bin/mul +0 -0
  59. data/bin/nth +0 -0
  60. data/bin/open +0 -0
  61. data/bin/play +0 -0
  62. data/bin/prepend +14 -0
  63. data/bin/processes +3 -0
  64. data/bin/qt_download +21 -0
  65. data/bin/record +121 -0
  66. data/bin/red +0 -0
  67. data/bin/replace_in_place +0 -0
  68. data/bin/replace_not_in_place +0 -0
  69. data/bin/selectlines +0 -0
  70. data/bin/sort_in_place +0 -0
  71. data/bin/splitfiles +16 -0
  72. data/bin/squeeze +17 -0
  73. data/bin/string +161 -0
  74. data/bin/strip_extensions +13 -0
  75. data/bin/sub +0 -0
  76. data/bin/t +63 -0
  77. data/bin/tracefile +555 -0
  78. data/bin/underline +0 -0
  79. data/bin/undump +0 -0
  80. data/bin/viu +0 -0
  81. data/bin/white +0 -0
  82. data/bin/yellow +0 -0
  83. data/bin/youtube_video +45 -0
  84. data/bin/youtube_video2 +45 -0
  85. data/code.js +28490 -0
  86. data/crystal-gobject/.git/HEAD +1 -0
  87. data/crystal-gobject/.git/config +11 -0
  88. data/crystal-gobject/.git/description +1 -0
  89. data/crystal-gobject/.git/hooks/applypatch-msg.sample +15 -0
  90. data/crystal-gobject/.git/hooks/commit-msg.sample +24 -0
  91. data/crystal-gobject/.git/hooks/fsmonitor-watchman.sample +109 -0
  92. data/crystal-gobject/.git/hooks/post-update.sample +8 -0
  93. data/crystal-gobject/.git/hooks/pre-applypatch.sample +14 -0
  94. data/crystal-gobject/.git/hooks/pre-commit.sample +49 -0
  95. data/crystal-gobject/.git/hooks/pre-merge-commit.sample +13 -0
  96. data/crystal-gobject/.git/hooks/pre-push.sample +53 -0
  97. data/crystal-gobject/.git/hooks/pre-rebase.sample +169 -0
  98. data/crystal-gobject/.git/hooks/pre-receive.sample +24 -0
  99. data/crystal-gobject/.git/hooks/prepare-commit-msg.sample +42 -0
  100. data/crystal-gobject/.git/hooks/update.sample +128 -0
  101. data/crystal-gobject/.git/index +0 -0
  102. data/crystal-gobject/.git/info/exclude +6 -0
  103. data/crystal-gobject/.git/logs/HEAD +1 -0
  104. data/crystal-gobject/.git/logs/refs/heads/main +1 -0
  105. data/crystal-gobject/.git/logs/refs/remotes/origin/HEAD +1 -0
  106. data/crystal-gobject/.git/objects/pack/pack-c21cfd88c6eef3076f2c2aebb658b750e87e10b6.idx +0 -0
  107. data/crystal-gobject/.git/objects/pack/pack-c21cfd88c6eef3076f2c2aebb658b750e87e10b6.pack +0 -0
  108. data/crystal-gobject/.git/packed-refs +15 -0
  109. data/crystal-gobject/.git/refs/heads/main +1 -0
  110. data/crystal-gobject/.git/refs/remotes/origin/HEAD +1 -0
  111. data/crystal-gobject/.github/workflows/ci.yml +22 -0
  112. data/crystal-gobject/.gitignore +14 -0
  113. data/crystal-gobject/LICENSE +27 -0
  114. data/crystal-gobject/README.md +143 -0
  115. data/crystal-gobject/samples/base_class_container.cr +15 -0
  116. data/crystal-gobject/samples/connect_after.cr +35 -0
  117. data/crystal-gobject/samples/crout/crout.cr +59 -0
  118. data/crystal-gobject/samples/e +0 -0
  119. data/crystal-gobject/samples/gdk_window.cr +36 -0
  120. data/crystal-gobject/samples/glist.cr +16 -0
  121. data/crystal-gobject/samples/greeter.cr +34 -0
  122. data/crystal-gobject/samples/greeter.glade +91 -0
  123. data/crystal-gobject/samples/gtk_accel_group.cr +13 -0
  124. data/crystal-gobject/samples/gtk_application.cr +12 -0
  125. data/crystal-gobject/samples/gtk_boxes.cr +44 -0
  126. data/crystal-gobject/samples/gtk_css_styling/css_window.cr +37 -0
  127. data/crystal-gobject/samples/gtk_css_styling/css_window.css +3 -0
  128. data/crystal-gobject/samples/gtk_css_styling/css_window.glade +104 -0
  129. data/crystal-gobject/samples/gtk_editable.cr +14 -0
  130. data/crystal-gobject/samples/gtk_entry.cr +10 -0
  131. data/crystal-gobject/samples/gtk_hello_world.cr +13 -0
  132. data/crystal-gobject/samples/gtk_menu_and_actions.cr +69 -0
  133. data/crystal-gobject/samples/gtk_message_dialog.cr +9 -0
  134. data/crystal-gobject/samples/gtk_subclasses.cr +30 -0
  135. data/crystal-gobject/samples/gtk_tree_view.cr +30 -0
  136. data/crystal-gobject/samples/gtk_tree_view.glade +44 -0
  137. data/crystal-gobject/samples/hello +0 -0
  138. data/crystal-gobject/samples/libgdk-3.a +0 -0
  139. data/crystal-gobject/samples/libgdk_pixbuf-2.0.a +0 -0
  140. data/crystal-gobject/samples/libgtk-3.a +0 -0
  141. data/crystal-gobject/samples/timeout.cr +34 -0
  142. data/crystal-gobject/script/ci.sh +17 -0
  143. data/crystal-gobject/script/release.sh +31 -0
  144. data/crystal-gobject/script/run_with_timeout.cr +14 -0
  145. data/crystal-gobject/script/test +7 -0
  146. data/crystal-gobject/shard.yml +16 -0
  147. data/crystal-gobject/spec/basic_spec.cr +46 -0
  148. data/crystal-gobject/spec/libsample/Makefile +28 -0
  149. data/crystal-gobject/spec/libsample/test-subject.c +107 -0
  150. data/crystal-gobject/spec/libsample/test-subject.h +65 -0
  151. data/crystal-gobject/spec/spec_helper.cr +5 -0
  152. data/crystal-gobject/src/atk/atk.cr +2 -0
  153. data/crystal-gobject/src/closure_data_manager.cr +62 -0
  154. data/crystal-gobject/src/crout.cr +601 -0
  155. data/crystal-gobject/src/g_i_repository/dumper.cr +116 -0
  156. data/crystal-gobject/src/g_i_repository/g_i_repository.cr +46 -0
  157. data/crystal-gobject/src/g_i_repository/info/arg_info.cr +157 -0
  158. data/crystal-gobject/src/g_i_repository/info/base_info.cr +169 -0
  159. data/crystal-gobject/src/g_i_repository/info/callable_info.cr +266 -0
  160. data/crystal-gobject/src/g_i_repository/info/callback_info.cr +54 -0
  161. data/crystal-gobject/src/g_i_repository/info/constant_info.cr +115 -0
  162. data/crystal-gobject/src/g_i_repository/info/enum_info.cr +88 -0
  163. data/crystal-gobject/src/g_i_repository/info/field_info.cr +97 -0
  164. data/crystal-gobject/src/g_i_repository/info/function_info.cr +237 -0
  165. data/crystal-gobject/src/g_i_repository/info/interface_info.cr +97 -0
  166. data/crystal-gobject/src/g_i_repository/info/object_info.cr +170 -0
  167. data/crystal-gobject/src/g_i_repository/info/property_info.cr +93 -0
  168. data/crystal-gobject/src/g_i_repository/info/registered_type_info.cr +62 -0
  169. data/crystal-gobject/src/g_i_repository/info/signal_info.cr +119 -0
  170. data/crystal-gobject/src/g_i_repository/info/struct_info.cr +139 -0
  171. data/crystal-gobject/src/g_i_repository/info/type_info.cr +326 -0
  172. data/crystal-gobject/src/g_i_repository/info/union_info.cr +136 -0
  173. data/crystal-gobject/src/g_i_repository/info/v_func_info.cr +33 -0
  174. data/crystal-gobject/src/g_i_repository/info/value_info.cr +62 -0
  175. data/crystal-gobject/src/g_i_repository/repository.cr +68 -0
  176. data/crystal-gobject/src/g_i_repository/wrapper_generator.cr +103 -0
  177. data/crystal-gobject/src/g_lib/error.cr +34 -0
  178. data/crystal-gobject/src/g_lib/g_lib.cr +81 -0
  179. data/crystal-gobject/src/g_lib/list_iterator.cr +81 -0
  180. data/crystal-gobject/src/g_lib/s_list_iterator.cr +54 -0
  181. data/crystal-gobject/src/g_object/closure.cr +40 -0
  182. data/crystal-gobject/src/g_object/g_object.cr +7 -0
  183. data/crystal-gobject/src/g_object/module_functions.cr +38 -0
  184. data/crystal-gobject/src/g_object/object.cr +104 -0
  185. data/crystal-gobject/src/g_object/type.cr +68 -0
  186. data/crystal-gobject/src/g_object/value.cr +308 -0
  187. data/crystal-gobject/src/gdk/event.cr +34 -0
  188. data/crystal-gobject/src/gdk/gdk.cr +35 -0
  189. data/crystal-gobject/src/generated/g_i_repository/argument.cr +130 -0
  190. data/crystal-gobject/src/generated/g_i_repository/array_type.cr +34 -0
  191. data/crystal-gobject/src/generated/g_i_repository/attribute_iter.cr +65 -0
  192. data/crystal-gobject/src/generated/g_i_repository/base_info.cr +134 -0
  193. data/crystal-gobject/src/generated/g_i_repository/direction.cr +33 -0
  194. data/crystal-gobject/src/generated/g_i_repository/field_info_flags.cr +34 -0
  195. data/crystal-gobject/src/generated/g_i_repository/function_info_flags.cr +38 -0
  196. data/crystal-gobject/src/generated/g_i_repository/g_i_repository.cr +7 -0
  197. data/crystal-gobject/src/generated/g_i_repository/info_type.cr +50 -0
  198. data/crystal-gobject/src/generated/g_i_repository/module_functions.cr +816 -0
  199. data/crystal-gobject/src/generated/g_i_repository/repository.cr +214 -0
  200. data/crystal-gobject/src/generated/g_i_repository/repository_class.cr +55 -0
  201. data/crystal-gobject/src/generated/g_i_repository/repository_error.cr +34 -0
  202. data/crystal-gobject/src/generated/g_i_repository/repository_load_flags.cr +33 -0
  203. data/crystal-gobject/src/generated/g_i_repository/repository_private.cr +46 -0
  204. data/crystal-gobject/src/generated/g_i_repository/scope_type.cr +34 -0
  205. data/crystal-gobject/src/generated/g_i_repository/transfer.cr +33 -0
  206. data/crystal-gobject/src/generated/g_i_repository/type_tag.cr +52 -0
  207. data/crystal-gobject/src/generated/g_i_repository/typelib.cr +61 -0
  208. data/crystal-gobject/src/generated/g_i_repository/unresolved_info.cr +45 -0
  209. data/crystal-gobject/src/generated/g_i_repository/v_func_info_flags.cr +36 -0
  210. data/crystal-gobject/src/generated/g_object/param_flags.cr +44 -0
  211. data/crystal-gobject/src/generated/g_object/signal_flags.cr +42 -0
  212. data/crystal-gobject/src/generated/lib_g_i_repository.cr +302 -0
  213. data/crystal-gobject/src/generated/lib_g_lib.cr +2261 -0
  214. data/crystal-gobject/src/generated/lib_g_object.cr +874 -0
  215. data/crystal-gobject/src/generator/build_namespace.cr +22 -0
  216. data/crystal-gobject/src/generator/doc.cr +259 -0
  217. data/crystal-gobject/src/generator/dump.cr +55 -0
  218. data/crystal-gobject/src/generator/generator.cr +22 -0
  219. data/crystal-gobject/src/generator/namespace.cr +192 -0
  220. data/crystal-gobject/src/generator/stage2.cr +113 -0
  221. data/crystal-gobject/src/generator/stage3.cr +3 -0
  222. data/crystal-gobject/src/gio/gio.cr +4 -0
  223. data/crystal-gobject/src/gobject.cr +54 -0
  224. data/crystal-gobject/src/gtk/autorun.cr +16 -0
  225. data/crystal-gobject/src/gtk/gtk.cr +61 -0
  226. data/crystal-gobject/src/notify/notification.cr +158 -0
  227. data/crystal-gobject/src/notify/notify.cr +4 -0
  228. data/crystal-gobject/src/pointer_iterator.cr +49 -0
  229. data/crystal-gobject/src/wrapped_type.cr +53 -0
  230. data/democracy.gemspec +14 -0
  231. data/dictate +183 -0
  232. data/emerald-browser/.qmake.stash +23 -0
  233. data/emerald-browser/Makefile +469 -0
  234. data/emerald-browser/OUT +90 -0
  235. data/emerald-browser/a.out +0 -0
  236. data/emerald-browser/empty +0 -0
  237. data/emerald-browser/empty.c +1 -0
  238. data/emerald-browser/open +0 -0
  239. data/emerald-browser/open.c +57 -0
  240. data/emerald-browser/qmake.pro +23 -0
  241. data/emerald-browser/src/OUT +438 -0
  242. data/emerald-browser/src/a.cpp +303 -0
  243. data/emerald-browser/src/a.out +0 -0
  244. data/emerald-browser/src/ss.h +12 -0
  245. data/emerald-browser/src/t/fullscreennotification.cpp +98 -0
  246. data/emerald-browser/src/t/fullscreennotification.h +72 -0
  247. data/emerald-browser/src/t/fullscreenwindow.cpp +99 -0
  248. data/emerald-browser/src/t/fullscreenwindow.h +76 -0
  249. data/emerald-browser/src/t/main.cpp +64 -0
  250. data/emerald-browser/src/t/mainwindow.cpp +83 -0
  251. data/emerald-browser/src/t/mainwindow.h +75 -0
  252. data/emerald-browser/test/a.cpp +2 -0
  253. data/f +0 -0
  254. data/faster_googler +31 -0
  255. data/favicon.ico +0 -0
  256. data/foo +80 -0
  257. data/foo.c +39 -0
  258. data/foo.cpp +36 -0
  259. data/foo.js +25 -0
  260. data/free_icons/site/bulb +0 -0
  261. data/free_icons/site/chess +0 -0
  262. data/free_icons/site/compiz.svg +463 -0
  263. data/free_icons/site/cursor.svg +1 -0
  264. data/free_icons/site/dock +0 -0
  265. data/free_icons/site/gnu +0 -0
  266. data/free_icons/site/info.svg +200 -0
  267. data/free_icons/site/iphone.svg +222 -0
  268. data/free_icons/site/laptop +0 -0
  269. data/free_icons/site/magic.svg +856 -0
  270. data/free_icons/site/man +0 -0
  271. data/free_icons/site/mint +0 -0
  272. data/free_icons/site/mouse +0 -0
  273. data/free_icons/site/paint.svg +2640 -0
  274. data/free_icons/site/present +0 -0
  275. data/free_icons/site/python +0 -0
  276. data/free_icons/site/reality +0 -0
  277. data/free_icons/site/ruby +0 -0
  278. data/free_icons/site/skeptic +0 -0
  279. data/free_icons/site/terminal +0 -0
  280. data/free_icons/site/video.svg +358 -0
  281. data/free_icons/site/warning +0 -0
  282. data/free_icons/site/wikipedia.svg +553 -0
  283. data/free_icons/site/write.svg +287 -0
  284. data/g +0 -0
  285. data/graphical_help.c +6 -0
  286. data/gregory_coreutils/DOC +14 -0
  287. data/gregory_coreutils/build/Makefile +12 -0
  288. data/gregory_coreutils/build/code +1 -0
  289. data/gregory_coreutils/build/functions +465 -0
  290. data/gregory_coreutils/build/make +93 -0
  291. data/gregory_coreutils/build/mk +74 -0
  292. data/gregory_coreutils/build/regex +2 -0
  293. data/gregory_coreutils/build/ruby_functions +0 -0
  294. data/gregory_coreutils/utilities/abs +0 -0
  295. data/gregory_coreutils/utilities/add +0 -0
  296. data/gregory_coreutils/utilities/args +0 -0
  297. data/gregory_coreutils/utilities/black +0 -0
  298. data/gregory_coreutils/utilities/blue +0 -0
  299. data/gregory_coreutils/utilities/bold +0 -0
  300. data/gregory_coreutils/utilities/copy +0 -0
  301. data/gregory_coreutils/utilities/count +0 -0
  302. data/gregory_coreutils/utilities/cpy +0 -0
  303. data/gregory_coreutils/utilities/cyan +0 -0
  304. data/gregory_coreutils/utilities/div +0 -0
  305. data/gregory_coreutils/utilities/dump +0 -0
  306. data/gregory_coreutils/utilities/exp +0 -0
  307. data/gregory_coreutils/utilities/files +0 -0
  308. data/gregory_coreutils/utilities/floor +0 -0
  309. data/gregory_coreutils/utilities/green +0 -0
  310. data/gregory_coreutils/utilities/gsub +0 -0
  311. data/gregory_coreutils/utilities/gsub_in_place +0 -0
  312. data/gregory_coreutils/utilities/last_nth +0 -0
  313. data/gregory_coreutils/utilities/lines +0 -0
  314. data/gregory_coreutils/utilities/magenta +0 -0
  315. data/gregory_coreutils/utilities/mul +0 -0
  316. data/gregory_coreutils/utilities/nth +0 -0
  317. data/gregory_coreutils/utilities/red +0 -0
  318. data/gregory_coreutils/utilities/replace_in_place +0 -0
  319. data/gregory_coreutils/utilities/replace_not_in_place +0 -0
  320. data/gregory_coreutils/utilities/selectlines +0 -0
  321. data/gregory_coreutils/utilities/sort_in_place +0 -0
  322. data/gregory_coreutils/utilities/sub +0 -0
  323. data/gregory_coreutils/utilities/underline +0 -0
  324. data/gregory_coreutils/utilities/undump +0 -0
  325. data/gregory_coreutils/utilities/white +0 -0
  326. data/gregory_coreutils/utilities/yellow +0 -0
  327. data/gtk +3 -0
  328. data/html_file +0 -0
  329. data/html_file.html +92 -0
  330. data/i +181 -0
  331. data/index.html +38 -0
  332. data/index2.html +344 -0
  333. data/inspect.rb +209 -0
  334. data/lib/README +310 -0
  335. data/lib/__index.html +11 -0
  336. data/lib/because.rb +41 -0
  337. data/lib/code.js +28490 -0
  338. data/lib/compile +5 -0
  339. data/lib/conjunction.rb +49 -0
  340. data/lib/evidence.rb +45 -0
  341. data/lib/graphical_help +90 -0
  342. data/lib/however.rb +42 -0
  343. data/lib/index.html +49 -0
  344. data/lib/index2.html +344 -0
  345. data/lib/inputreceiver.rb +135 -0
  346. data/lib/item.rb +77 -0
  347. data/lib/itemlist.rb +50 -0
  348. data/lib/negative.rb +43 -0
  349. data/lib/neutral.rb +43 -0
  350. data/lib/outputter.rb +60 -0
  351. data/lib/p.rb +71 -0
  352. data/lib/positive.rb +41 -0
  353. data/lib/script.js +423 -0
  354. data/lib/string__.rb +110 -0
  355. data/lib/sub/file +5 -0
  356. data/man/foo.rb +6 -0
  357. data/man/gtk.html +1 -0
  358. data/man/out +7288 -0
  359. data/more/ac.desktop +12 -0
  360. data/more/res +1 -0
  361. data/more/web-speech-api/.git/HEAD +1 -0
  362. data/more/web-speech-api/.git/config +11 -0
  363. data/more/web-speech-api/.git/description +1 -0
  364. data/more/web-speech-api/.git/hooks/applypatch-msg.sample +15 -0
  365. data/more/web-speech-api/.git/hooks/commit-msg.sample +24 -0
  366. data/more/web-speech-api/.git/hooks/fsmonitor-watchman.sample +109 -0
  367. data/more/web-speech-api/.git/hooks/post-update.sample +8 -0
  368. data/more/web-speech-api/.git/hooks/pre-applypatch.sample +14 -0
  369. data/more/web-speech-api/.git/hooks/pre-commit.sample +49 -0
  370. data/more/web-speech-api/.git/hooks/pre-merge-commit.sample +13 -0
  371. data/more/web-speech-api/.git/hooks/pre-push.sample +53 -0
  372. data/more/web-speech-api/.git/hooks/pre-rebase.sample +169 -0
  373. data/more/web-speech-api/.git/hooks/pre-receive.sample +24 -0
  374. data/more/web-speech-api/.git/hooks/prepare-commit-msg.sample +42 -0
  375. data/more/web-speech-api/.git/hooks/update.sample +128 -0
  376. data/more/web-speech-api/.git/index +0 -0
  377. data/more/web-speech-api/.git/info/exclude +6 -0
  378. data/more/web-speech-api/.git/logs/HEAD +1 -0
  379. data/more/web-speech-api/.git/logs/refs/heads/master +1 -0
  380. data/more/web-speech-api/.git/logs/refs/remotes/origin/HEAD +1 -0
  381. data/more/web-speech-api/.git/objects/pack/pack-4d2adae000c513b287d53e24937e9e836954f901.idx +0 -0
  382. data/more/web-speech-api/.git/objects/pack/pack-4d2adae000c513b287d53e24937e9e836954f901.pack +0 -0
  383. data/more/web-speech-api/.git/packed-refs +2 -0
  384. data/more/web-speech-api/.git/refs/heads/master +1 -0
  385. data/more/web-speech-api/.git/refs/remotes/origin/HEAD +1 -0
  386. data/more/web-speech-api/CODE_OF_CONDUCT.md +15 -0
  387. data/more/web-speech-api/LICENSE +116 -0
  388. data/more/web-speech-api/README.md +23 -0
  389. data/more/web-speech-api/index.html +25 -0
  390. data/more/web-speech-api/phrase-matcher/index.html +30 -0
  391. data/more/web-speech-api/phrase-matcher/script.js +124 -0
  392. data/more/web-speech-api/phrase-matcher/style.css +54 -0
  393. data/more/web-speech-api/speak-easy-synthesis/img/ws128.png +0 -0
  394. data/more/web-speech-api/speak-easy-synthesis/img/ws512.png +0 -0
  395. data/more/web-speech-api/speak-easy-synthesis/index.html +43 -0
  396. data/more/web-speech-api/speak-easy-synthesis/manifest.webapp +14 -0
  397. data/more/web-speech-api/speak-easy-synthesis/script.js +87 -0
  398. data/more/web-speech-api/speak-easy-synthesis/style.css +74 -0
  399. data/more/web-speech-api/speech-color-changer/img/ws128.png +0 -0
  400. data/more/web-speech-api/speech-color-changer/img/ws512.png +0 -0
  401. data/more/web-speech-api/speech-color-changer/index.html +26 -0
  402. data/more/web-speech-api/speech-color-changer/manifest.webapp +23 -0
  403. data/more/web-speech-api/speech-color-changer/script.js +58 -0
  404. data/more/web-speech-api/speech-color-changer/style.css +38 -0
  405. data/opensrc +68 -0
  406. data/out +39 -0
  407. data/playsrc +14 -0
  408. data/program.c +11 -0
  409. data/program.prog +568 -0
  410. data/proj/a +0 -0
  411. data/proj/a.c +1 -0
  412. data/proj/a.o +0 -0
  413. data/proj/a.rs +18 -0
  414. data/proj/b.rs +22 -0
  415. data/proj/linker.sh +8 -0
  416. data/proj/save_last +4 -0
  417. data/push +16 -0
  418. data/q.cpp +175 -0
  419. data/qt/.qmake.stash +23 -0
  420. data/qt/Qt5Core.dll +0 -0
  421. data/qt/Qt5Gui.dll +0 -0
  422. data/qt/Qt5Multimedia.dll +0 -0
  423. data/qt/Qt5MultimediaWidgets.dll +0 -0
  424. data/qt/Qt5Network.dll +0 -0
  425. data/qt/Qt5PrintSupport.dll +0 -0
  426. data/qt/Qt5Qml.dll +0 -0
  427. data/qt/Qt5QmlModels.dll +0 -0
  428. data/qt/Qt5Quick.dll +0 -0
  429. data/qt/Qt5Sensors.dll +0 -0
  430. data/qt/Qt5WebChannel.dll +0 -0
  431. data/qt/Qt5WebKit.dll +0 -0
  432. data/qt/Qt5WebKitWidgets.dll +0 -0
  433. data/qt/Qt5Widgets.dll +0 -0
  434. data/qt/a.cpp +39 -0
  435. data/qt/a.out +0 -0
  436. data/qt/a.sh +7 -0
  437. data/qt/icudt66.dll +0 -0
  438. data/qt/icuin66.dll +0 -0
  439. data/qt/icuuc66.dll +0 -0
  440. data/qt/libbz2.dll +0 -0
  441. data/qt/libcrypto-1_1-x64.dll +0 -0
  442. data/qt/libfreetype-6.dll +0 -0
  443. data/qt/libgcc_s_seh-1.dll +0 -0
  444. data/qt/libglib-2.0-0.dll +0 -0
  445. data/qt/libharfbuzz-0.dll +0 -0
  446. data/qt/libiconv-2.dll +0 -0
  447. data/qt/libintl-8.dll +0 -0
  448. data/qt/libjpeg-9.dll +0 -0
  449. data/qt/liblzma-5.dll +0 -0
  450. data/qt/libpcre-1.dll +0 -0
  451. data/qt/libpcre2-16-0.dll +0 -0
  452. data/qt/libpng16-16.dll +0 -0
  453. data/qt/libsqlite3-0.dll +0 -0
  454. data/qt/libssl-1_1-x64.dll +0 -0
  455. data/qt/libstdc++-6.dll +0 -0
  456. data/qt/libwebp-7.dll +0 -0
  457. data/qt/libwinpthread-1.dll +0 -0
  458. data/qt/libxml2-2.dll +0 -0
  459. data/qt/libxslt-1.dll +0 -0
  460. data/qt/libzstd.dll +0 -0
  461. data/qt/prog +1 -0
  462. data/qt/qwindows.dll +0 -0
  463. data/qt/zlib1.dll +0 -0
  464. data/quickjs/.git/HEAD +1 -0
  465. data/quickjs/.git/config +11 -0
  466. data/quickjs/.git/description +1 -0
  467. data/quickjs/.git/hooks/applypatch-msg.sample +15 -0
  468. data/quickjs/.git/hooks/commit-msg.sample +24 -0
  469. data/quickjs/.git/hooks/fsmonitor-watchman.sample +109 -0
  470. data/quickjs/.git/hooks/post-update.sample +8 -0
  471. data/quickjs/.git/hooks/pre-applypatch.sample +14 -0
  472. data/quickjs/.git/hooks/pre-commit.sample +49 -0
  473. data/quickjs/.git/hooks/pre-merge-commit.sample +13 -0
  474. data/quickjs/.git/hooks/pre-push.sample +53 -0
  475. data/quickjs/.git/hooks/pre-rebase.sample +169 -0
  476. data/quickjs/.git/hooks/pre-receive.sample +24 -0
  477. data/quickjs/.git/hooks/prepare-commit-msg.sample +42 -0
  478. data/quickjs/.git/hooks/update.sample +128 -0
  479. data/quickjs/.git/index +0 -0
  480. data/quickjs/.git/info/exclude +6 -0
  481. data/quickjs/.git/logs/HEAD +1 -0
  482. data/quickjs/.git/logs/refs/heads/master +1 -0
  483. data/quickjs/.git/logs/refs/remotes/origin/HEAD +1 -0
  484. data/quickjs/.git/objects/pack/pack-744a13dba8773a756b22372ba65ded3aca50cdeb.idx +0 -0
  485. data/quickjs/.git/objects/pack/pack-744a13dba8773a756b22372ba65ded3aca50cdeb.pack +0 -0
  486. data/quickjs/.git/packed-refs +2 -0
  487. data/quickjs/.git/refs/heads/master +1 -0
  488. data/quickjs/.git/refs/remotes/origin/HEAD +1 -0
  489. data/quickjs/.obj/.d +1 -0
  490. data/quickjs/.obj/cutils.nolto.o +0 -0
  491. data/quickjs/.obj/cutils.o +0 -0
  492. data/quickjs/.obj/cutils.o.d +1 -0
  493. data/quickjs/.obj/hello.o +0 -0
  494. data/quickjs/.obj/hello.o.d +1 -0
  495. data/quickjs/.obj/libbf.nolto.o +0 -0
  496. data/quickjs/.obj/libbf.o +0 -0
  497. data/quickjs/.obj/libbf.o.d +1 -0
  498. data/quickjs/.obj/libregexp.nolto.o +0 -0
  499. data/quickjs/.obj/libregexp.o +0 -0
  500. data/quickjs/.obj/libregexp.o.d +2 -0
  501. data/quickjs/.obj/libunicode.nolto.o +0 -0
  502. data/quickjs/.obj/libunicode.o +0 -0
  503. data/quickjs/.obj/libunicode.o.d +1 -0
  504. data/quickjs/.obj/qjs.check.o +0 -0
  505. data/quickjs/.obj/qjs.check.o.d +1 -0
  506. data/quickjs/.obj/qjs.o +0 -0
  507. data/quickjs/.obj/qjs.o.d +1 -0
  508. data/quickjs/.obj/qjsc.o +0 -0
  509. data/quickjs/.obj/qjsc.o.d +1 -0
  510. data/quickjs/.obj/qjscalc.o +0 -0
  511. data/quickjs/.obj/qjscalc.o.d +1 -0
  512. data/quickjs/.obj/quickjs-libc.nolto.o +0 -0
  513. data/quickjs/.obj/quickjs-libc.o +0 -0
  514. data/quickjs/.obj/quickjs-libc.o.d +2 -0
  515. data/quickjs/.obj/quickjs.check.o +0 -0
  516. data/quickjs/.obj/quickjs.check.o.d +2 -0
  517. data/quickjs/.obj/quickjs.nolto.o +0 -0
  518. data/quickjs/.obj/quickjs.o +0 -0
  519. data/quickjs/.obj/quickjs.o.d +2 -0
  520. data/quickjs/.obj/repl.o +0 -0
  521. data/quickjs/.obj/repl.o.d +1 -0
  522. data/quickjs/.obj/run-test262.o +0 -0
  523. data/quickjs/.obj/run-test262.o.d +2 -0
  524. data/quickjs/COMPILE_WIN +1 -0
  525. data/quickjs/Changelog +148 -0
  526. data/quickjs/LICENSE +22 -0
  527. data/quickjs/Makefile +470 -0
  528. data/quickjs/TODO +70 -0
  529. data/quickjs/VERSION +1 -0
  530. data/quickjs/a.c +50038 -0
  531. data/quickjs/a.js +26075 -0
  532. data/quickjs/a.rb +3 -0
  533. data/quickjs/cutils.c +631 -0
  534. data/quickjs/cutils.h +297 -0
  535. data/quickjs/doc/jsbignum.texi +589 -0
  536. data/quickjs/doc/quickjs.texi +1097 -0
  537. data/quickjs/examples/fib.c +72 -0
  538. data/quickjs/examples/fib_module.js +10 -0
  539. data/quickjs/examples/hello +0 -0
  540. data/quickjs/examples/hello.js +1 -0
  541. data/quickjs/examples/hello_module.js +6 -0
  542. data/quickjs/examples/pi_bigdecimal.js +68 -0
  543. data/quickjs/examples/pi_bigfloat.js +66 -0
  544. data/quickjs/examples/pi_bigint.js +118 -0
  545. data/quickjs/examples/point.c +151 -0
  546. data/quickjs/examples/test_fib.js +6 -0
  547. data/quickjs/examples/test_point.js +40 -0
  548. data/quickjs/hello.c +44 -0
  549. data/quickjs/libbf.c +8466 -0
  550. data/quickjs/libbf.h +535 -0
  551. data/quickjs/libquickjs.a +0 -0
  552. data/quickjs/libquickjs.lto.a +0 -0
  553. data/quickjs/libregexp-opcode.h +58 -0
  554. data/quickjs/libregexp.c +2610 -0
  555. data/quickjs/libregexp.h +92 -0
  556. data/quickjs/libunicode-table.h +4368 -0
  557. data/quickjs/libunicode.c +1556 -0
  558. data/quickjs/libunicode.h +124 -0
  559. data/quickjs/libwinpthread-1.dll +0 -0
  560. data/quickjs/list.h +100 -0
  561. data/quickjs/out.c +24 -0
  562. data/quickjs/out55.c +59 -0
  563. data/quickjs/out56.c +79 -0
  564. data/quickjs/out57.c +24 -0
  565. data/quickjs/out58.c +4 -0
  566. data/quickjs/p.exe +0 -0
  567. data/quickjs/qjs +0 -0
  568. data/quickjs/qjs.c +570 -0
  569. data/quickjs/qjsc +0 -0
  570. data/quickjs/qjsc.c +762 -0
  571. data/quickjs/qjsc.exe +0 -0
  572. data/quickjs/qjscalc.c +4005 -0
  573. data/quickjs/qjscalc.js +2657 -0
  574. data/quickjs/quickjs-atom.h +273 -0
  575. data/quickjs/quickjs-libc.c +3927 -0
  576. data/quickjs/quickjs-libc.h +59 -0
  577. data/quickjs/quickjs-opcode.h +365 -0
  578. data/quickjs/quickjs.c +54036 -0
  579. data/quickjs/quickjs.h +1049 -0
  580. data/quickjs/readme.txt +1 -0
  581. data/quickjs/release.sh +158 -0
  582. data/quickjs/repl.c +2020 -0
  583. data/quickjs/repl.js +1566 -0
  584. data/quickjs/run-test262 +0 -0
  585. data/quickjs/run-test262.c +2107 -0
  586. data/quickjs/test262.conf +199 -0
  587. data/quickjs/test262_errors.txt +35 -0
  588. data/quickjs/test262o.conf +410 -0
  589. data/quickjs/test262o_errors.txt +0 -0
  590. data/quickjs/tests/bjson.c +96 -0
  591. data/quickjs/tests/microbench.js +1065 -0
  592. data/quickjs/tests/test262.patch +71 -0
  593. data/quickjs/tests/test_bignum.js +326 -0
  594. data/quickjs/tests/test_bjson.js +191 -0
  595. data/quickjs/tests/test_builtin.js +685 -0
  596. data/quickjs/tests/test_closure.js +221 -0
  597. data/quickjs/tests/test_language.js +547 -0
  598. data/quickjs/tests/test_loop.js +368 -0
  599. data/quickjs/tests/test_op_overloading.js +207 -0
  600. data/quickjs/tests/test_qjscalc.js +256 -0
  601. data/quickjs/tests/test_std.js +281 -0
  602. data/quickjs/tests/test_worker.js +62 -0
  603. data/quickjs/tests/test_worker_module.js +31 -0
  604. data/quickjs/unicode_download.sh +19 -0
  605. data/quickjs/unicode_gen.c +3057 -0
  606. data/quickjs/unicode_gen_def.h +284 -0
  607. data/readline +3 -0
  608. data/rm_com +1 -0
  609. data/run.sh +13 -0
  610. data/scaling +6 -0
  611. data/script.js +572 -0
  612. data/server_creator/__ +307 -0
  613. data/server_creator/a/a (1).tar.gz +0 -0
  614. data/server_creator/a/a.out +0 -0
  615. data/server_creator/a/hello_world +0 -0
  616. data/server_creator/a/help +57 -0
  617. data/server_creator/a/main_v1.cpp +83 -0
  618. data/server_creator/a/my_libs_gregory/.deps +0 -0
  619. data/server_creator/a/my_libs_gregory/.libs/mod_my_libs_gregory.lai +41 -0
  620. data/server_creator/a/my_libs_gregory/.libs/mod_my_libs_gregory.o +0 -0
  621. data/server_creator/a/my_libs_gregory/.libs/mod_my_libs_gregory.so +0 -0
  622. data/server_creator/a/my_libs_gregory/mod_my_libs_gregory.c +72 -0
  623. data/server_creator/a/my_libs_gregory/mod_my_libs_gregory.la +41 -0
  624. data/server_creator/a/my_libs_gregory/mod_my_libs_gregory.lo +12 -0
  625. data/server_creator/a/my_libs_gregory/mod_my_libs_gregory.slo +0 -0
  626. data/server_creator/a/nginx.conf +32 -0
  627. data/server_creator/a/six +1 -0
  628. data/server_creator/a.out +0 -0
  629. data/server_creator/all_code.cpp +448 -0
  630. data/server_creator/all_code.js +27 -0
  631. data/server_creator/code +510 -0
  632. data/server_creator/make_application +64 -0
  633. data/server_creator/prog.cpp +33 -0
  634. data/server_creator/prog.js +22 -0
  635. data/server_creator/program.js +745 -0
  636. data/server_creator/rm_com +1 -0
  637. data/server_creator/test.sh +82 -0
  638. data/speakcat.rb +9 -0
  639. data/string +48 -0
  640. data/super_trans +83 -0
  641. data/test.sh +21 -0
  642. data/todo +8 -0
  643. data/version_decrement +3 -0
  644. data/viu_license +21 -0
  645. data/windows/program.c +21 -0
  646. data/windows/program.exe +0 -0
  647. metadata +759 -0
@@ -0,0 +1,326 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Democracy software compilation VERSION 0.0., created on 2021-11-14 17:41:34 -0500
4
+ # Get all of this code, and all of these files, with
5
+ # gem install democracy
6
+ # Linux ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
7
+ #
8
+ # Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
9
+ #
10
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
11
+
12
+
13
+
14
+
15
+
16
+ # 54 of 16 source files
17
+ module GIRepository
18
+ require_relative "string__"
19
+ class TypeInfo < BaseInfo
20
+ TAG_MAP = {
21
+ TypeTag::VOID => "Void",
22
+ TypeTag::BOOLEAN => "LibC::Int",
23
+ TypeTag::INT8 => "Int8",
24
+ TypeTag::UINT8 => "UInt8",
25
+ TypeTag::INT16 => "Int16",
26
+ TypeTag::UINT16 => "UInt16",
27
+ TypeTag::INT32 => "Int32",
28
+ TypeTag::UINT32 => "UInt32",
29
+ TypeTag::INT64 => "Int64",
30
+ TypeTag::UINT64 => "UInt64",
31
+ TypeTag::FLOAT => "Float32",
32
+ TypeTag::DOUBLE => "Float64",
33
+ TypeTag::GTYPE => "UInt64",
34
+ TypeTag::UTF8 => "UInt8",
35
+ TypeTag::FILENAME => "UInt8",
36
+ TypeTag::GLIST => "Void*",
37
+ TypeTag::GSLIST => "Void*",
38
+ TypeTag::GHASH => "Void*",
39
+ TypeTag::ERROR => "LibGLib::Error*",
40
+ TypeTag::UNICHAR => "UInt8",
41
+ }
42
+
43
+ BLACKLIST = {"VaClosureMarshal", "DBusProxyClass", "DBusInterfaceSkeletonClass"}
44
+
45
+ def tag
46
+ GIRepository.type_info_get_tag(self)
47
+ end
48
+
49
+ def pointer?
50
+ GIRepository.type_info_is_pointer(self)
51
+ end
52
+
53
+ def void?
54
+ tag.void?
55
+ end
56
+
57
+ def interface
58
+ BaseInfo.wrap(GIRepository.type_info_get_interface(self)).not_nil!
59
+ end
60
+
61
+ def array_type
62
+ GIRepository.type_info_get_array_type(self)
63
+ end
64
+
65
+ def array_length_param
66
+ GIRepository.type_info_get_array_length(self)
67
+ end
68
+
69
+ def array_fixed_size
70
+ GIRepository.type_info_get_array_fixed_size(self)
71
+ end
72
+
73
+ def param_type(n = 0)
74
+ BaseInfo.wrap(GIRepository.type_info_get_param_type(self, n)).as(TypeInfo)
75
+ end
76
+
77
+ def zero_terminated?
78
+ GIRepository.type_info_is_zero_terminated(self)
79
+ end
80
+
81
+ def primitive?
82
+ {
83
+ TypeTag::BOOLEAN,
84
+ TypeTag::INT8,
85
+ TypeTag::UINT8,
86
+ TypeTag::INT16,
87
+ TypeTag::UINT16,
88
+ TypeTag::INT32,
89
+ TypeTag::UINT32,
90
+ TypeTag::INT64,
91
+ TypeTag::UINT64,
92
+ TypeTag::FLOAT,
93
+ TypeTag::DOUBLE,
94
+ TypeTag::GTYPE,
95
+ TypeTag::UTF8,
96
+ TypeTag::FILENAME,
97
+ TypeTag::UNICHAR,
98
+ }.includes?(tag)
99
+ end
100
+
101
+ def lib_definition(builder)
102
+ base = case tag
103
+ when .interface?
104
+ interface = self.interface
105
+ name = interface.name
106
+ if interface.info_type.unresolved?
107
+ return "Void*"
108
+ elsif name.nil? || BLACKLIST.includes?(name) || (name && 'a' <= name[0] <= 'z') # More weird stuff, also compiler could be smarter here
109
+ interface.is_a?(CallbackInfo) ? "-> Void" : "Void*"
110
+ elsif interface.is_a?(CallbackInfo) && inline_type?
111
+ return Crout.build { |b| write interface.as(CallbackInfo).signature(b) }
112
+ else
113
+ namespace = "Lib#{interface.namespace}::"
114
+ namespace = nil if namespace == self.namespace
115
+ "#{namespace}#{interface.name}"
116
+ end
117
+ when .array?
118
+ case array_type
119
+ when ArrayType::C
120
+ param = param_type.lib_definition(builder)
121
+ param += "[#{array_fixed_size}]" if array_fixed_size > 1
122
+ param
123
+ else
124
+ "Void"
125
+ end
126
+ else
127
+ TAG_MAP[tag]
128
+ end
129
+ base = "Pointer(#{base})" if pointer?
130
+ base
131
+ end
132
+
133
+ def null_value_for_lib(builder)
134
+ if pointer?
135
+ "#{lib_definition(builder)}.null"
136
+ else
137
+ "nil"
138
+ end
139
+ end
140
+
141
+ def signal_lib_definition(builder)
142
+ base = lib_definition(builder)
143
+ base += "*" if is_pointer_in_signal?
144
+ base
145
+ end
146
+
147
+ def is_pointer_in_signal?
148
+ tag.interface? && !interface.is_a?(EnumInfo)
149
+ end
150
+
151
+ def gvalue_type
152
+ "GObject::Type::" + case tag
153
+ when .int32?
154
+ "INT"
155
+ when .uint32?
156
+ "UINT"
157
+ when .interface?
158
+ interface = self.interface
159
+ case interface
160
+ when ObjectInfo, StructInfo, UnionInfo
161
+ "OBJECT"
162
+ when InterfaceInfo
163
+ "INTERFACE"
164
+ when EnumInfo
165
+ "ENUM"
166
+ else
167
+ "INTERFACE"
168
+ end
169
+ when .ghash?
170
+ "POINTER"
171
+ else
172
+ tag.to_s
173
+ end
174
+ end
175
+
176
+ def wrapper_definition(builder, libname = "")
177
+ case tag
178
+ when .interface?
179
+ interface.full_constant
180
+ when .array?
181
+ "::Enumerable(#{param_type.wrapper_definition(builder, libname)})"
182
+ when .void?
183
+ pointer? ? "Void*" : "Nil"
184
+ when .utf8?, .filename?
185
+ "::String"
186
+ when .boolean?
187
+ "::Bool"
188
+ else
189
+ TAG_MAP[tag]
190
+ end
191
+ end
192
+
193
+ def convert_to_crystal(builder, variable) : String | Crout::Expression
194
+ case tag
195
+ when .interface?
196
+ interface = self.interface
197
+ case interface
198
+ when ObjectInfo, StructInfo, UnionInfo, EnumInfo, FlagsInfo
199
+ builder.call "new", variable, receiver: interface.full_constant
200
+ when InterfaceInfo
201
+ builder.call "new", variable, receiver: "#{interface.full_constant}::Wrapper"
202
+ else
203
+ variable
204
+ end
205
+ when .array?
206
+ case array_type
207
+ when ArrayType::C
208
+ item = builder.declare_var
209
+ builder.call("new", variable, receiver: "GObject::PointerIterator", block_args: {item}) do |b|
210
+ b.line param_type.convert_to_crystal(b, item)
211
+ end
212
+ else
213
+ variable
214
+ end
215
+ when .boolean?
216
+ "(#{variable} == 1)"
217
+ when .utf8?, .filename?
218
+ builder.call "new", variable, receiver: "::String"
219
+ when .glist?
220
+ "GLib::ListIterator(#{param_type.wrapper_definition(builder)}, #{param_type.lib_definition(builder)}*).new(GLib::List.new(#{variable}.as(LibGLib::List*)))"
221
+ when .gslist?
222
+ "GLib::SListIterator(#{param_type.wrapper_definition(builder)}, #{param_type.lib_definition(builder)}*).new(GLib::SList.new(#{variable}.as(LibGLib::SList*)))"
223
+ else
224
+ variable
225
+ end
226
+ end
227
+
228
+ def convert_from_crystal(variable)
229
+ case tag
230
+ when .interface?
231
+ interface = self.interface
232
+ if interface.namespace == "GObject" && interface.name == "Value"
233
+ "#{variable}.to_gvalue.to_unsafe#{".value" unless pointer?}"
234
+ elsif interface.is_a?(ObjectInfo) || interface.is_a?(InterfaceInfo)
235
+ converter = interface.to_unsafe_name if interface.responds_to?(:to_unsafe_name)
236
+ pointer? && converter ? "#{variable}.#{converter}" : variable
237
+ else
238
+ pointer? ? "#{variable}.to_unsafe.as(Lib#{interface.full_constant}*)" : variable
239
+ end
240
+ when .array?
241
+ if param_type.tag.uint8? # Assume UInt8* (gchar*) is a string for now
242
+ "#{variable}.to_unsafe"
243
+ else
244
+ "(__#{variable}_ary = #{variable}.map { |__item| #{param_type.convert_from_crystal("__item")} }.to_a).to_unsafe"
245
+ end
246
+ when .boolean?
247
+ "LibC::Int.new(#{variable} ? 1 : 0)"
248
+ when .glist?,
249
+ .gslist?,
250
+ .ghash?,
251
+ .error?,
252
+ .void?
253
+ variable
254
+ when .utf8?, .filename?
255
+ "#{variable}.to_unsafe"
256
+ else
257
+ if pointer?
258
+ variable
259
+ else
260
+ "#{TAG_MAP[tag]}.new(#{variable})"
261
+ end
262
+ end
263
+ end
264
+
265
+ def unwrap_gvalue(variable)
266
+ case tag
267
+ when .interface?
268
+ interface = self.interface
269
+ case interface
270
+ when ObjectInfo, StructInfo, UnionInfo
271
+ "#{interface.full_constant}.cast(#{variable}.object)"
272
+ when InterfaceInfo
273
+ "#{interface.full_constant}::Wrapper.cast(#{variable}.instance)"
274
+ when FlagsInfo
275
+ "#{interface.full_constant}.new(#{interface.type}.new(#{variable}.flags))"
276
+ when EnumInfo
277
+ "#{interface.full_constant}.new(#{interface.type}.new(#{variable}.enum))"
278
+ else
279
+ "#{variable}"
280
+ end
281
+ when .boolean?
282
+ "#{variable}.boolean"
283
+ when .utf8?
284
+ "#{variable}.string"
285
+ when .int32?
286
+ "#{variable}.int"
287
+ when .uint32?
288
+ "#{variable}.uint"
289
+ when .float?
290
+ "#{variable}.float"
291
+ when .double?
292
+ "#{variable}.double"
293
+ when .ghash?
294
+ "GLib::HashTable.new(#{variable}.pointer.as(LibGLib::HashTable*))"
295
+ else
296
+ variable
297
+ end
298
+ end
299
+
300
+ def inline_type?
301
+ tag.interface? && equal(interface)
302
+ end
303
+
304
+ Dumper.def do
305
+ dumper.puts "* tag = #{tag}"
306
+ dumper.puts "* pointer = #{pointer?}"
307
+ dumper.puts "* is_inline_type = #{inline_type?}"
308
+ dumper.puts "* array_type = #{array_type}" if tag.array?
309
+ dumper.puts "* array_length_param = #{array_length_param}" if tag.array?
310
+ dumper.puts "* array_fixed_size = #{array_fixed_size}" if tag.array?
311
+ dumper.puts "* is_zero_terminated = #{zero_terminated?}" if tag.array?
312
+
313
+ Dumper.dump_child interface if tag.interface?
314
+ Dumper.dump_child param_type if tag.array?
315
+ end
316
+ end
317
+ end
318
+
319
+
320
+
321
+
322
+
323
+
324
+
325
+
326
+ # Feedback and donation to gregorycohen2@gmail.com (money transfer or Paypal)
@@ -0,0 +1,136 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Democracy software compilation VERSION 0.0., created on 2021-11-14 17:41:34 -0500
4
+ # Get all of this code, and all of these files, with
5
+ # gem install democracy
6
+ # Linux ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
7
+ #
8
+ # Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
9
+ #
10
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
11
+
12
+
13
+
14
+
15
+
16
+ # 52 of 16 source files
17
+ module GIRepository
18
+ require_relative "string__"
19
+ class UnionInfo < BaseInfo
20
+ include RegisteredTypeInfo
21
+ include WrapperGenerator
22
+
23
+ each_converted union_info, field, FieldInfo
24
+ each_converted union_info, method, FunctionInfo
25
+
26
+ def name
27
+ name = super
28
+ name = 'A' <= name[0] <= 'Z' ? name : "#{c_prefix}#{name}" if name
29
+ name = 'A' <= name[0] <= 'Z' ? name : "#{name[0].upcase}#{name[1..]}" if name
30
+ name.not_nil!
31
+ end
32
+
33
+ def size
34
+ GIRepository.union_info_get_size(self)
35
+ end
36
+
37
+ def alignment
38
+ GIRepository.union_info_get_alignment(self)
39
+ end
40
+
41
+ def discriminated?
42
+ GIRepository.union_info_is_discriminated(self)
43
+ end
44
+
45
+ def discriminators
46
+ discriminators = Hash(String, ConstantInfo).new
47
+
48
+ fields.each_with_index do |field, i|
49
+ info = ConstantInfo.wrap GIRepository.union_info_get_discriminator(self, i)
50
+ name = field.name
51
+ discriminators[name] = info.as(ConstantInfo) if name && info
52
+ end
53
+
54
+ discriminators
55
+ end
56
+
57
+ def discriminator_type
58
+ TypeInfo.wrap GIRepository.union_info_get_discriminator_type(self)
59
+ end
60
+
61
+ def discriminator_offset
62
+ GIRepository.union_info_get_discriminator_offset(self)
63
+ end
64
+
65
+ def lib_definition(builder)
66
+ if fields_size > 0
67
+ builder.def_union(name) do
68
+ each_field &.lib_definition(builder)
69
+ end
70
+ else
71
+ builder.def_alias name, "Void*"
72
+ end
73
+
74
+ each_method &.lib_definition(builder)
75
+ end
76
+
77
+ def wrapper_definition(builder, libname)
78
+ builder.def_class(name) do
79
+ section { add_include "GObject::WrappedType" }
80
+
81
+ union_members = [name].concat fields.map { |field| field.type.wrapper_definition(libname) }
82
+ def_alias "Union", union_members.join("|")
83
+
84
+ each_field do |field|
85
+ if field.readable?
86
+ def_method(field.wrapper_name) do
87
+ ptr = call("to_unsafe")
88
+ value = if field.type.tag.interface? && !field.type.pointer?
89
+ call("as", "Lib#{field.type.namespace}::#{field.type.interface.name}*", receiver: ptr)
90
+ else
91
+ ptr = call("as", ptr_type(libname), receiver: ptr)
92
+ strct = call("value", receiver: ptr)
93
+ call(field.name, receiver: strct)
94
+ end
95
+
96
+ line field.type.convert_to_crystal(builder, value)
97
+ end
98
+ end
99
+ end
100
+
101
+ write_gtype_constant builder, libname
102
+ write_constructor builder, libname
103
+ write_to_unsafe builder, libname
104
+ write_methods builder, libname
105
+ end
106
+ end
107
+
108
+ Dumper.def do
109
+ dumper.puts "* size = #{size}"
110
+ dumper.puts "* alignment = #{alignment}"
111
+ dumper.puts "* discriminated = #{discriminated?}"
112
+ if discriminated?
113
+ dumper.puts "* discriminator_offset = #{discriminator_offset}"
114
+ Dumper.dump_child discriminator_type
115
+ dumper.puts "* discriminators:"
116
+ dumper.nest(2) do
117
+ discriminators.each do |field, constant|
118
+ dumper.puts "- #{field}"
119
+ dumper.nest(2) { yield constant }
120
+ end
121
+ end
122
+ end
123
+ Dumper.dump_childs field
124
+ Dumper.dump_childs method
125
+ end
126
+ end
127
+ end
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+ # Feedback and donation to gregorycohen2@gmail.com (money transfer or Paypal)
@@ -0,0 +1,33 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Democracy software compilation VERSION 0.0., created on 2021-11-14 17:41:34 -0500
4
+ # Get all of this code, and all of these files, with
5
+ # gem install democracy
6
+ # Linux ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
7
+ #
8
+ # Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
9
+ #
10
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
11
+
12
+
13
+
14
+
15
+
16
+ # 60 of 16 source files
17
+ module GIRepository
18
+ require_relative "string__"
19
+ class VFuncInfo < BaseInfo
20
+ def lib_definition(builder)
21
+ builder.comment "Virtual function #{name}"
22
+ end
23
+ end
24
+ end
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+ # Feedback and donation to gregorycohen2@gmail.com (money transfer or Paypal)
@@ -0,0 +1,62 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Democracy software compilation VERSION 0.0., created on 2021-11-14 17:41:34 -0500
4
+ # Get all of this code, and all of these files, with
5
+ # gem install democracy
6
+ # Linux ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
7
+ #
8
+ # Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
9
+ #
10
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
11
+
12
+
13
+
14
+
15
+
16
+ # 48 of 16 source files
17
+ module GIRepository
18
+ require_relative "string__"
19
+ class ValueInfo < BaseInfo
20
+ def value : Int64
21
+ GIRepository.value_info_get_value(self)
22
+ end
23
+
24
+ def literal(tag)
25
+ case tag
26
+ when .int8?
27
+ value.to_i8
28
+ when .uint8?, .unichar?
29
+ value.to_u8
30
+ when .int16?
31
+ value.to_i16
32
+ when .uint16?
33
+ value.to_u16
34
+ when .int32?
35
+ value.to_i32
36
+ when .uint32?
37
+ value.to_u32
38
+ when .uint64?
39
+ value.to_u64
40
+ when .float?
41
+ value.to_f
42
+ when .double?
43
+ value.to_f64
44
+ else
45
+ value
46
+ end
47
+ end
48
+
49
+ Dumper.def do
50
+ dumper.puts "* value = #{value}"
51
+ end
52
+ end
53
+ end
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+ # Feedback and donation to gregorycohen2@gmail.com (money transfer or Paypal)
@@ -0,0 +1,68 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Democracy software compilation VERSION 0.0., created on 2021-11-14 17:41:34 -0500
4
+ # Get all of this code, and all of these files, with
5
+ # gem install democracy
6
+ # Linux ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
7
+ #
8
+ # Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
9
+ #
10
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
11
+
12
+
13
+
14
+
15
+
16
+ # 43 of 16 source files
17
+ module GIRepository
18
+ require_relative "string__"
19
+ require_relative "./repository"
20
+ class Repository
21
+ @@instance : self?
22
+
23
+ def self.instance
24
+ @@instance ||= default
25
+ end
26
+
27
+ def require(namespace : String, version : String? = nil)
28
+ self.require namespace, version, :zero_none
29
+ end
30
+
31
+ def dependencies(namespace : String)
32
+ dependencies = previous_def
33
+ dependencies.map { |dep|
34
+ name, version = dep.split('-')
35
+ {name, version}
36
+ }
37
+ end
38
+
39
+ def find_by_name(namespace : String, name : String)
40
+ ptr = LibGIRepository.repository_find_by_name(self, namespace, name)
41
+ BaseInfo.wrap BaseInfo.new(ptr) if ptr
42
+ end
43
+
44
+ def all_infos(namespace : String)
45
+ Array.new(n_infos(namespace)) { |index|
46
+ info(namespace, index).not_nil!
47
+ }
48
+ end
49
+
50
+ def info(namespace : String, index : Int)
51
+ BaseInfo.wrap previous_def
52
+ end
53
+
54
+ def shared_library(namespace : String)
55
+ libs = LibGIRepository.repository_get_shared_library(@pointer.as(LibGIRepository::Repository*), namespace)
56
+ String.new(libs) if libs
57
+ end
58
+ end
59
+ end
60
+
61
+
62
+
63
+
64
+
65
+
66
+
67
+
68
+ # Feedback and donation to gregorycohen2@gmail.com (money transfer or Paypal)