bolt 0.0.1 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


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

Files changed (1291) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +33 -0
  3. data/.gitmodules +12 -0
  4. data/.rspec +2 -0
  5. data/.rubocop.yml +61 -0
  6. data/.travis.yml +18 -0
  7. data/Gemfile +9 -0
  8. data/INSTALL.md +70 -0
  9. data/LICENSE +201 -0
  10. data/README.md +372 -0
  11. data/Rakefile +27 -0
  12. data/Vagrantfile +13 -0
  13. data/appveyor.yml +29 -0
  14. data/bolt.gemspec +50 -0
  15. data/docs/writing_tasks_and_plans.pdf +0 -0
  16. data/exe/bolt +15 -0
  17. data/lib/bolt.rb +13 -0
  18. data/lib/bolt/cli.rb +409 -0
  19. data/lib/bolt/executor.rb +71 -0
  20. data/lib/bolt/node.rb +79 -0
  21. data/lib/bolt/node/formatter.rb +15 -0
  22. data/lib/bolt/node/orch.rb +118 -0
  23. data/lib/bolt/node/result.rb +110 -0
  24. data/lib/bolt/node/ssh.rb +145 -0
  25. data/lib/bolt/node/winrm.rb +237 -0
  26. data/lib/bolt/node_uri.rb +42 -0
  27. data/lib/bolt/result.rb +139 -0
  28. data/lib/bolt/version.rb +3 -0
  29. data/metadata.json +13 -0
  30. data/tasks/init.json +3 -0
  31. data/tasks/init.rb +44 -0
  32. data/ux/bolt-CLI-spec.md +186 -0
  33. data/vendored/facter/lib/facter.rb +261 -0
  34. data/vendored/facter/lib/facter/Cfkey.rb +42 -0
  35. data/vendored/facter/lib/facter/application.rb +206 -0
  36. data/vendored/facter/lib/facter/architecture.rb +50 -0
  37. data/vendored/facter/lib/facter/augeasversion.rb +28 -0
  38. data/vendored/facter/lib/facter/blockdevices.rb +105 -0
  39. data/vendored/facter/lib/facter/core/aggregate.rb +220 -0
  40. data/vendored/facter/lib/facter/core/directed_graph.rb +46 -0
  41. data/vendored/facter/lib/facter/core/execution.rb +123 -0
  42. data/vendored/facter/lib/facter/core/execution/base.rb +81 -0
  43. data/vendored/facter/lib/facter/core/execution/posix.rb +50 -0
  44. data/vendored/facter/lib/facter/core/execution/windows.rb +57 -0
  45. data/vendored/facter/lib/facter/core/logging.rb +197 -0
  46. data/vendored/facter/lib/facter/core/resolvable.rb +94 -0
  47. data/vendored/facter/lib/facter/core/suitable.rb +113 -0
  48. data/vendored/facter/lib/facter/dhcp_servers.rb +45 -0
  49. data/vendored/facter/lib/facter/domain.rb +99 -0
  50. data/vendored/facter/lib/facter/ec2.rb +68 -0
  51. data/vendored/facter/lib/facter/ec2/rest.rb +137 -0
  52. data/vendored/facter/lib/facter/facterversion.rb +15 -0
  53. data/vendored/facter/lib/facter/filesystems.rb +45 -0
  54. data/vendored/facter/lib/facter/fqdn.rb +24 -0
  55. data/vendored/facter/lib/facter/gce.rb +16 -0
  56. data/vendored/facter/lib/facter/gce/metadata.rb +87 -0
  57. data/vendored/facter/lib/facter/gid.rb +25 -0
  58. data/vendored/facter/lib/facter/hardwareisa.rb +20 -0
  59. data/vendored/facter/lib/facter/hardwaremodel.rb +67 -0
  60. data/vendored/facter/lib/facter/hostname.rb +31 -0
  61. data/vendored/facter/lib/facter/id.rb +21 -0
  62. data/vendored/facter/lib/facter/interfaces.rb +58 -0
  63. data/vendored/facter/lib/facter/ipaddress.rb +169 -0
  64. data/vendored/facter/lib/facter/ipaddress6.rb +82 -0
  65. data/vendored/facter/lib/facter/iphostnumber.rb +29 -0
  66. data/vendored/facter/lib/facter/kernel.rb +22 -0
  67. data/vendored/facter/lib/facter/kernelmajversion.rb +23 -0
  68. data/vendored/facter/lib/facter/kernelrelease.rb +45 -0
  69. data/vendored/facter/lib/facter/kernelversion.rb +22 -0
  70. data/vendored/facter/lib/facter/ldom.rb +51 -0
  71. data/vendored/facter/lib/facter/lsbdistcodename.rb +20 -0
  72. data/vendored/facter/lib/facter/lsbdistdescription.rb +21 -0
  73. data/vendored/facter/lib/facter/lsbdistid.rb +20 -0
  74. data/vendored/facter/lib/facter/lsbdistrelease.rb +20 -0
  75. data/vendored/facter/lib/facter/lsbmajdistrelease.rb +22 -0
  76. data/vendored/facter/lib/facter/lsbminordistrelease.rb +22 -0
  77. data/vendored/facter/lib/facter/lsbrelease.rb +20 -0
  78. data/vendored/facter/lib/facter/macaddress.rb +99 -0
  79. data/vendored/facter/lib/facter/macosx.rb +56 -0
  80. data/vendored/facter/lib/facter/manufacturer.rb +68 -0
  81. data/vendored/facter/lib/facter/memory.rb +168 -0
  82. data/vendored/facter/lib/facter/netmask.rb +43 -0
  83. data/vendored/facter/lib/facter/network.rb +20 -0
  84. data/vendored/facter/lib/facter/operatingsystem.rb +24 -0
  85. data/vendored/facter/lib/facter/operatingsystem/base.rb +61 -0
  86. data/vendored/facter/lib/facter/operatingsystem/cumuluslinux.rb +27 -0
  87. data/vendored/facter/lib/facter/operatingsystem/implementation.rb +33 -0
  88. data/vendored/facter/lib/facter/operatingsystem/linux.rb +484 -0
  89. data/vendored/facter/lib/facter/operatingsystem/osreleaselinux.rb +28 -0
  90. data/vendored/facter/lib/facter/operatingsystem/sunos.rb +54 -0
  91. data/vendored/facter/lib/facter/operatingsystem/vmkernel.rb +11 -0
  92. data/vendored/facter/lib/facter/operatingsystem/windows.rb +43 -0
  93. data/vendored/facter/lib/facter/operatingsystemmajrelease.rb +31 -0
  94. data/vendored/facter/lib/facter/operatingsystemrelease.rb +29 -0
  95. data/vendored/facter/lib/facter/os.rb +98 -0
  96. data/vendored/facter/lib/facter/osfamily.rb +18 -0
  97. data/vendored/facter/lib/facter/partitions.rb +39 -0
  98. data/vendored/facter/lib/facter/path.rb +14 -0
  99. data/vendored/facter/lib/facter/physicalprocessorcount.rb +27 -0
  100. data/vendored/facter/lib/facter/processor.rb +52 -0
  101. data/vendored/facter/lib/facter/processors.rb +66 -0
  102. data/vendored/facter/lib/facter/processors/os.rb +244 -0
  103. data/vendored/facter/lib/facter/ps.rb +31 -0
  104. data/vendored/facter/lib/facter/puppetversion.rb +20 -0
  105. data/vendored/facter/lib/facter/rackspace.rb +37 -0
  106. data/vendored/facter/lib/facter/rubyplatform.rb +12 -0
  107. data/vendored/facter/lib/facter/rubysitedir.rb +15 -0
  108. data/vendored/facter/lib/facter/rubyversion.rb +12 -0
  109. data/vendored/facter/lib/facter/selinux.rb +154 -0
  110. data/vendored/facter/lib/facter/ssh.rb +73 -0
  111. data/vendored/facter/lib/facter/system32.rb +21 -0
  112. data/vendored/facter/lib/facter/system_uptime.rb +44 -0
  113. data/vendored/facter/lib/facter/timezone.rb +14 -0
  114. data/vendored/facter/lib/facter/uniqueid.rb +4 -0
  115. data/vendored/facter/lib/facter/uptime.rb +16 -0
  116. data/vendored/facter/lib/facter/uptime_days.rb +13 -0
  117. data/vendored/facter/lib/facter/uptime_hours.rb +13 -0
  118. data/vendored/facter/lib/facter/uptime_seconds.rb +20 -0
  119. data/vendored/facter/lib/facter/util/architecture.rb +19 -0
  120. data/vendored/facter/lib/facter/util/collection.rb +161 -0
  121. data/vendored/facter/lib/facter/util/composite_loader.rb +12 -0
  122. data/vendored/facter/lib/facter/util/config.rb +88 -0
  123. data/vendored/facter/lib/facter/util/confine.rb +66 -0
  124. data/vendored/facter/lib/facter/util/dhcp_servers.rb +58 -0
  125. data/vendored/facter/lib/facter/util/directory_loader.rb +88 -0
  126. data/vendored/facter/lib/facter/util/ec2.rb +106 -0
  127. data/vendored/facter/lib/facter/util/fact.rb +204 -0
  128. data/vendored/facter/lib/facter/util/file_read.rb +37 -0
  129. data/vendored/facter/lib/facter/util/formatter.rb +39 -0
  130. data/vendored/facter/lib/facter/util/ip.rb +340 -0
  131. data/vendored/facter/lib/facter/util/ip/windows.rb +215 -0
  132. data/vendored/facter/lib/facter/util/loader.rb +155 -0
  133. data/vendored/facter/lib/facter/util/macaddress.rb +43 -0
  134. data/vendored/facter/lib/facter/util/macosx.rb +73 -0
  135. data/vendored/facter/lib/facter/util/manufacturer.rb +99 -0
  136. data/vendored/facter/lib/facter/util/memory.rb +228 -0
  137. data/vendored/facter/lib/facter/util/netmask.rb +40 -0
  138. data/vendored/facter/lib/facter/util/normalization.rb +94 -0
  139. data/vendored/facter/lib/facter/util/nothing_loader.rb +12 -0
  140. data/vendored/facter/lib/facter/util/operatingsystem.rb +21 -0
  141. data/vendored/facter/lib/facter/util/parser.rb +168 -0
  142. data/vendored/facter/lib/facter/util/partitions.rb +47 -0
  143. data/vendored/facter/lib/facter/util/partitions/linux.rb +71 -0
  144. data/vendored/facter/lib/facter/util/partitions/openbsd.rb +40 -0
  145. data/vendored/facter/lib/facter/util/plist.rb +24 -0
  146. data/vendored/facter/lib/facter/util/plist/generator.rb +228 -0
  147. data/vendored/facter/lib/facter/util/plist/parser.rb +226 -0
  148. data/vendored/facter/lib/facter/util/posix.rb +16 -0
  149. data/vendored/facter/lib/facter/util/processor.rb +289 -0
  150. data/vendored/facter/lib/facter/util/registry.rb +11 -0
  151. data/vendored/facter/lib/facter/util/resolution.rb +160 -0
  152. data/vendored/facter/lib/facter/util/solaris_zones.rb +158 -0
  153. data/vendored/facter/lib/facter/util/unix_root.rb +5 -0
  154. data/vendored/facter/lib/facter/util/uptime.rb +83 -0
  155. data/vendored/facter/lib/facter/util/values.rb +109 -0
  156. data/vendored/facter/lib/facter/util/virtual.rb +212 -0
  157. data/vendored/facter/lib/facter/util/vlans.rb +21 -0
  158. data/vendored/facter/lib/facter/util/windows.rb +10 -0
  159. data/vendored/facter/lib/facter/util/windows/api_types.rb +135 -0
  160. data/vendored/facter/lib/facter/util/windows/dir.rb +43 -0
  161. data/vendored/facter/lib/facter/util/windows/error.rb +87 -0
  162. data/vendored/facter/lib/facter/util/windows/process.rb +294 -0
  163. data/vendored/facter/lib/facter/util/windows/user.rb +186 -0
  164. data/vendored/facter/lib/facter/util/windows_root.rb +7 -0
  165. data/vendored/facter/lib/facter/util/wmi.rb +49 -0
  166. data/vendored/facter/lib/facter/util/xendomains.rb +28 -0
  167. data/vendored/facter/lib/facter/version.rb +86 -0
  168. data/vendored/facter/lib/facter/virtual.rb +328 -0
  169. data/vendored/facter/lib/facter/vlans.rb +17 -0
  170. data/vendored/facter/lib/facter/xendomains.rb +20 -0
  171. data/vendored/facter/lib/facter/zfs_version.rb +14 -0
  172. data/vendored/facter/lib/facter/zonename.rb +6 -0
  173. data/vendored/facter/lib/facter/zones.rb +18 -0
  174. data/vendored/facter/lib/facter/zpool_version.rb +10 -0
  175. data/vendored/hiera/lib/hiera.rb +119 -0
  176. data/vendored/hiera/lib/hiera/backend.rb +360 -0
  177. data/vendored/hiera/lib/hiera/backend/json_backend.rb +58 -0
  178. data/vendored/hiera/lib/hiera/backend/yaml_backend.rb +63 -0
  179. data/vendored/hiera/lib/hiera/config.rb +97 -0
  180. data/vendored/hiera/lib/hiera/console_logger.rb +13 -0
  181. data/vendored/hiera/lib/hiera/error.rb +4 -0
  182. data/vendored/hiera/lib/hiera/fallback_logger.rb +41 -0
  183. data/vendored/hiera/lib/hiera/filecache.rb +86 -0
  184. data/vendored/hiera/lib/hiera/interpolate.rb +121 -0
  185. data/vendored/hiera/lib/hiera/noop_logger.rb +8 -0
  186. data/vendored/hiera/lib/hiera/puppet_logger.rb +17 -0
  187. data/vendored/hiera/lib/hiera/recursive_guard.rb +20 -0
  188. data/vendored/hiera/lib/hiera/util.rb +65 -0
  189. data/vendored/hiera/lib/hiera/util/win32.rb +40 -0
  190. data/vendored/hiera/lib/hiera/version.rb +89 -0
  191. data/vendored/puppet/lib/hiera/puppet_function.rb +81 -0
  192. data/vendored/puppet/lib/hiera/scope.rb +61 -0
  193. data/vendored/puppet/lib/hiera_puppet.rb +79 -0
  194. data/vendored/puppet/lib/puppet.rb +311 -0
  195. data/vendored/puppet/lib/puppet/agent.rb +114 -0
  196. data/vendored/puppet/lib/puppet/agent/disabler.rb +53 -0
  197. data/vendored/puppet/lib/puppet/agent/locker.rb +52 -0
  198. data/vendored/puppet/lib/puppet/application.rb +485 -0
  199. data/vendored/puppet/lib/puppet/application/agent.rb +468 -0
  200. data/vendored/puppet/lib/puppet/application/apply.rb +358 -0
  201. data/vendored/puppet/lib/puppet/application/ca.rb +11 -0
  202. data/vendored/puppet/lib/puppet/application/catalog.rb +4 -0
  203. data/vendored/puppet/lib/puppet/application/cert.rb +334 -0
  204. data/vendored/puppet/lib/puppet/application/certificate.rb +17 -0
  205. data/vendored/puppet/lib/puppet/application/certificate_request.rb +7 -0
  206. data/vendored/puppet/lib/puppet/application/certificate_revocation_list.rb +7 -0
  207. data/vendored/puppet/lib/puppet/application/config.rb +4 -0
  208. data/vendored/puppet/lib/puppet/application/describe.rb +258 -0
  209. data/vendored/puppet/lib/puppet/application/device.rb +292 -0
  210. data/vendored/puppet/lib/puppet/application/doc.rb +230 -0
  211. data/vendored/puppet/lib/puppet/application/epp.rb +5 -0
  212. data/vendored/puppet/lib/puppet/application/face_base.rb +268 -0
  213. data/vendored/puppet/lib/puppet/application/facts.rb +4 -0
  214. data/vendored/puppet/lib/puppet/application/filebucket.rb +262 -0
  215. data/vendored/puppet/lib/puppet/application/generate.rb +5 -0
  216. data/vendored/puppet/lib/puppet/application/help.rb +4 -0
  217. data/vendored/puppet/lib/puppet/application/indirection_base.rb +4 -0
  218. data/vendored/puppet/lib/puppet/application/key.rb +4 -0
  219. data/vendored/puppet/lib/puppet/application/lookup.rb +361 -0
  220. data/vendored/puppet/lib/puppet/application/man.rb +4 -0
  221. data/vendored/puppet/lib/puppet/application/master.rb +317 -0
  222. data/vendored/puppet/lib/puppet/application/module.rb +4 -0
  223. data/vendored/puppet/lib/puppet/application/node.rb +4 -0
  224. data/vendored/puppet/lib/puppet/application/parser.rb +5 -0
  225. data/vendored/puppet/lib/puppet/application/plugin.rb +3 -0
  226. data/vendored/puppet/lib/puppet/application/report.rb +4 -0
  227. data/vendored/puppet/lib/puppet/application/resource.rb +231 -0
  228. data/vendored/puppet/lib/puppet/application/script.rb +255 -0
  229. data/vendored/puppet/lib/puppet/application/status.rb +4 -0
  230. data/vendored/puppet/lib/puppet/application_support.rb +57 -0
  231. data/vendored/puppet/lib/puppet/bindings.rb +147 -0
  232. data/vendored/puppet/lib/puppet/coercion.rb +40 -0
  233. data/vendored/puppet/lib/puppet/compilable_resource_type.rb +15 -0
  234. data/vendored/puppet/lib/puppet/configurer.rb +447 -0
  235. data/vendored/puppet/lib/puppet/configurer/downloader.rb +67 -0
  236. data/vendored/puppet/lib/puppet/configurer/downloader_factory.rb +34 -0
  237. data/vendored/puppet/lib/puppet/configurer/fact_handler.rb +46 -0
  238. data/vendored/puppet/lib/puppet/configurer/plugin_handler.rb +25 -0
  239. data/vendored/puppet/lib/puppet/confine.rb +80 -0
  240. data/vendored/puppet/lib/puppet/confine/any.rb +26 -0
  241. data/vendored/puppet/lib/puppet/confine/exists.rb +19 -0
  242. data/vendored/puppet/lib/puppet/confine/false.rb +19 -0
  243. data/vendored/puppet/lib/puppet/confine/feature.rb +17 -0
  244. data/vendored/puppet/lib/puppet/confine/true.rb +20 -0
  245. data/vendored/puppet/lib/puppet/confine/variable.rb +59 -0
  246. data/vendored/puppet/lib/puppet/confine_collection.rb +50 -0
  247. data/vendored/puppet/lib/puppet/confiner.rb +46 -0
  248. data/vendored/puppet/lib/puppet/context.rb +116 -0
  249. data/vendored/puppet/lib/puppet/context/trusted_information.rb +76 -0
  250. data/vendored/puppet/lib/puppet/daemon.rb +195 -0
  251. data/vendored/puppet/lib/puppet/data_binding.rb +14 -0
  252. data/vendored/puppet/lib/puppet/defaults.rb +1957 -0
  253. data/vendored/puppet/lib/puppet/environments.rb +509 -0
  254. data/vendored/puppet/lib/puppet/error.rb +117 -0
  255. data/vendored/puppet/lib/puppet/etc.rb +161 -0
  256. data/vendored/puppet/lib/puppet/external/dot.rb +326 -0
  257. data/vendored/puppet/lib/puppet/external/nagios.rb +46 -0
  258. data/vendored/puppet/lib/puppet/external/nagios/base.rb +472 -0
  259. data/vendored/puppet/lib/puppet/external/nagios/grammar.ry +248 -0
  260. data/vendored/puppet/lib/puppet/external/nagios/makefile +9 -0
  261. data/vendored/puppet/lib/puppet/external/nagios/parser.rb +400 -0
  262. data/vendored/puppet/lib/puppet/external/pson/common.rb +374 -0
  263. data/vendored/puppet/lib/puppet/external/pson/pure.rb +15 -0
  264. data/vendored/puppet/lib/puppet/external/pson/pure/generator.rb +395 -0
  265. data/vendored/puppet/lib/puppet/external/pson/pure/parser.rb +307 -0
  266. data/vendored/puppet/lib/puppet/external/pson/version.rb +8 -0
  267. data/vendored/puppet/lib/puppet/face.rb +12 -0
  268. data/vendored/puppet/lib/puppet/face/ca.rb +266 -0
  269. data/vendored/puppet/lib/puppet/face/catalog.rb +130 -0
  270. data/vendored/puppet/lib/puppet/face/catalog/select.rb +49 -0
  271. data/vendored/puppet/lib/puppet/face/certificate.rb +165 -0
  272. data/vendored/puppet/lib/puppet/face/certificate_request.rb +56 -0
  273. data/vendored/puppet/lib/puppet/face/certificate_revocation_list.rb +56 -0
  274. data/vendored/puppet/lib/puppet/face/config.rb +119 -0
  275. data/vendored/puppet/lib/puppet/face/epp.rb +527 -0
  276. data/vendored/puppet/lib/puppet/face/facts.rb +38 -0
  277. data/vendored/puppet/lib/puppet/face/generate.rb +64 -0
  278. data/vendored/puppet/lib/puppet/face/help.rb +205 -0
  279. data/vendored/puppet/lib/puppet/face/help/action.erb +86 -0
  280. data/vendored/puppet/lib/puppet/face/help/face.erb +114 -0
  281. data/vendored/puppet/lib/puppet/face/help/global.erb +16 -0
  282. data/vendored/puppet/lib/puppet/face/help/man.erb +152 -0
  283. data/vendored/puppet/lib/puppet/face/key.rb +16 -0
  284. data/vendored/puppet/lib/puppet/face/man.rb +101 -0
  285. data/vendored/puppet/lib/puppet/face/module.rb +19 -0
  286. data/vendored/puppet/lib/puppet/face/module/build.rb +63 -0
  287. data/vendored/puppet/lib/puppet/face/module/changes.rb +42 -0
  288. data/vendored/puppet/lib/puppet/face/module/generate.rb +251 -0
  289. data/vendored/puppet/lib/puppet/face/module/install.rb +149 -0
  290. data/vendored/puppet/lib/puppet/face/module/list.rb +279 -0
  291. data/vendored/puppet/lib/puppet/face/module/search.rb +94 -0
  292. data/vendored/puppet/lib/puppet/face/module/uninstall.rb +81 -0
  293. data/vendored/puppet/lib/puppet/face/module/upgrade.rb +90 -0
  294. data/vendored/puppet/lib/puppet/face/node.rb +42 -0
  295. data/vendored/puppet/lib/puppet/face/node/clean.rb +96 -0
  296. data/vendored/puppet/lib/puppet/face/parser.rb +161 -0
  297. data/vendored/puppet/lib/puppet/face/plugin.rb +58 -0
  298. data/vendored/puppet/lib/puppet/face/report.rb +54 -0
  299. data/vendored/puppet/lib/puppet/face/resource.rb +53 -0
  300. data/vendored/puppet/lib/puppet/face/status.rb +50 -0
  301. data/vendored/puppet/lib/puppet/feature/base.rb +95 -0
  302. data/vendored/puppet/lib/puppet/feature/bolt.rb +3 -0
  303. data/vendored/puppet/lib/puppet/feature/cfpropertylist.rb +3 -0
  304. data/vendored/puppet/lib/puppet/feature/eventlog.rb +5 -0
  305. data/vendored/puppet/lib/puppet/feature/hiera_eyaml.rb +3 -0
  306. data/vendored/puppet/lib/puppet/feature/hocon.rb +3 -0
  307. data/vendored/puppet/lib/puppet/feature/libuser.rb +8 -0
  308. data/vendored/puppet/lib/puppet/feature/msgpack.rb +3 -0
  309. data/vendored/puppet/lib/puppet/feature/pe_license.rb +4 -0
  310. data/vendored/puppet/lib/puppet/feature/rack.rb +19 -0
  311. data/vendored/puppet/lib/puppet/feature/selinux.rb +3 -0
  312. data/vendored/puppet/lib/puppet/feature/ssh.rb +3 -0
  313. data/vendored/puppet/lib/puppet/feature/telnet.rb +9 -0
  314. data/vendored/puppet/lib/puppet/feature/zlib.rb +5 -0
  315. data/vendored/puppet/lib/puppet/file_bucket.rb +4 -0
  316. data/vendored/puppet/lib/puppet/file_bucket/dipper.rb +174 -0
  317. data/vendored/puppet/lib/puppet/file_bucket/file.rb +131 -0
  318. data/vendored/puppet/lib/puppet/file_serving.rb +3 -0
  319. data/vendored/puppet/lib/puppet/file_serving/base.rb +85 -0
  320. data/vendored/puppet/lib/puppet/file_serving/configuration.rb +112 -0
  321. data/vendored/puppet/lib/puppet/file_serving/configuration/parser.rb +123 -0
  322. data/vendored/puppet/lib/puppet/file_serving/content.rb +43 -0
  323. data/vendored/puppet/lib/puppet/file_serving/fileset.rb +174 -0
  324. data/vendored/puppet/lib/puppet/file_serving/http_metadata.rb +46 -0
  325. data/vendored/puppet/lib/puppet/file_serving/metadata.rb +163 -0
  326. data/vendored/puppet/lib/puppet/file_serving/mount.rb +39 -0
  327. data/vendored/puppet/lib/puppet/file_serving/mount/file.rb +121 -0
  328. data/vendored/puppet/lib/puppet/file_serving/mount/modules.rb +24 -0
  329. data/vendored/puppet/lib/puppet/file_serving/mount/pluginfacts.rb +35 -0
  330. data/vendored/puppet/lib/puppet/file_serving/mount/plugins.rb +35 -0
  331. data/vendored/puppet/lib/puppet/file_serving/mount/tasks.rb +21 -0
  332. data/vendored/puppet/lib/puppet/file_serving/terminus_helper.rb +31 -0
  333. data/vendored/puppet/lib/puppet/file_serving/terminus_selector.rb +32 -0
  334. data/vendored/puppet/lib/puppet/file_system.rb +404 -0
  335. data/vendored/puppet/lib/puppet/file_system/file_impl.rb +154 -0
  336. data/vendored/puppet/lib/puppet/file_system/memory_file.rb +66 -0
  337. data/vendored/puppet/lib/puppet/file_system/memory_impl.rb +86 -0
  338. data/vendored/puppet/lib/puppet/file_system/path_pattern.rb +98 -0
  339. data/vendored/puppet/lib/puppet/file_system/posix.rb +46 -0
  340. data/vendored/puppet/lib/puppet/file_system/uniquefile.rb +190 -0
  341. data/vendored/puppet/lib/puppet/file_system/windows.rb +130 -0
  342. data/vendored/puppet/lib/puppet/forge.rb +229 -0
  343. data/vendored/puppet/lib/puppet/forge/cache.rb +60 -0
  344. data/vendored/puppet/lib/puppet/forge/errors.rb +112 -0
  345. data/vendored/puppet/lib/puppet/forge/repository.rb +155 -0
  346. data/vendored/puppet/lib/puppet/functions.rb +745 -0
  347. data/vendored/puppet/lib/puppet/functions/alert.rb +14 -0
  348. data/vendored/puppet/lib/puppet/functions/all.rb +104 -0
  349. data/vendored/puppet/lib/puppet/functions/annotate.rb +108 -0
  350. data/vendored/puppet/lib/puppet/functions/any.rb +109 -0
  351. data/vendored/puppet/lib/puppet/functions/assert_type.rb +93 -0
  352. data/vendored/puppet/lib/puppet/functions/binary_file.rb +19 -0
  353. data/vendored/puppet/lib/puppet/functions/break.rb +22 -0
  354. data/vendored/puppet/lib/puppet/functions/call.rb +42 -0
  355. data/vendored/puppet/lib/puppet/functions/contain.rb +39 -0
  356. data/vendored/puppet/lib/puppet/functions/crit.rb +14 -0
  357. data/vendored/puppet/lib/puppet/functions/debug.rb +14 -0
  358. data/vendored/puppet/lib/puppet/functions/defined.rb +160 -0
  359. data/vendored/puppet/lib/puppet/functions/dig.rb +23 -0
  360. data/vendored/puppet/lib/puppet/functions/each.rb +163 -0
  361. data/vendored/puppet/lib/puppet/functions/emerg.rb +14 -0
  362. data/vendored/puppet/lib/puppet/functions/epp.rb +48 -0
  363. data/vendored/puppet/lib/puppet/functions/err.rb +14 -0
  364. data/vendored/puppet/lib/puppet/functions/eyaml_lookup_key.rb +94 -0
  365. data/vendored/puppet/lib/puppet/functions/file_upload.rb +48 -0
  366. data/vendored/puppet/lib/puppet/functions/filter.rb +143 -0
  367. data/vendored/puppet/lib/puppet/functions/find_file.rb +31 -0
  368. data/vendored/puppet/lib/puppet/functions/hiera.rb +88 -0
  369. data/vendored/puppet/lib/puppet/functions/hiera_array.rb +81 -0
  370. data/vendored/puppet/lib/puppet/functions/hiera_hash.rb +92 -0
  371. data/vendored/puppet/lib/puppet/functions/hiera_include.rb +104 -0
  372. data/vendored/puppet/lib/puppet/functions/hocon_data.rb +41 -0
  373. data/vendored/puppet/lib/puppet/functions/import.rb +7 -0
  374. data/vendored/puppet/lib/puppet/functions/include.rb +27 -0
  375. data/vendored/puppet/lib/puppet/functions/info.rb +14 -0
  376. data/vendored/puppet/lib/puppet/functions/inline_epp.rb +59 -0
  377. data/vendored/puppet/lib/puppet/functions/json_data.rb +33 -0
  378. data/vendored/puppet/lib/puppet/functions/lest.rb +17 -0
  379. data/vendored/puppet/lib/puppet/functions/lookup.rb +223 -0
  380. data/vendored/puppet/lib/puppet/functions/map.rb +126 -0
  381. data/vendored/puppet/lib/puppet/functions/match.rb +120 -0
  382. data/vendored/puppet/lib/puppet/functions/new.rb +32 -0
  383. data/vendored/puppet/lib/puppet/functions/next.rb +23 -0
  384. data/vendored/puppet/lib/puppet/functions/notice.rb +14 -0
  385. data/vendored/puppet/lib/puppet/functions/reduce.rb +164 -0
  386. data/vendored/puppet/lib/puppet/functions/regsubst.rb +76 -0
  387. data/vendored/puppet/lib/puppet/functions/require.rb +43 -0
  388. data/vendored/puppet/lib/puppet/functions/return.rb +22 -0
  389. data/vendored/puppet/lib/puppet/functions/reverse_each.rb +25 -0
  390. data/vendored/puppet/lib/puppet/functions/run_command.rb +41 -0
  391. data/vendored/puppet/lib/puppet/functions/run_plan.rb +40 -0
  392. data/vendored/puppet/lib/puppet/functions/run_script.rb +50 -0
  393. data/vendored/puppet/lib/puppet/functions/run_task.rb +73 -0
  394. data/vendored/puppet/lib/puppet/functions/scanf.rb +44 -0
  395. data/vendored/puppet/lib/puppet/functions/slice.rb +111 -0
  396. data/vendored/puppet/lib/puppet/functions/split.rb +47 -0
  397. data/vendored/puppet/lib/puppet/functions/step.rb +26 -0
  398. data/vendored/puppet/lib/puppet/functions/strftime.rb +43 -0
  399. data/vendored/puppet/lib/puppet/functions/then.rb +14 -0
  400. data/vendored/puppet/lib/puppet/functions/tree_each.rb +200 -0
  401. data/vendored/puppet/lib/puppet/functions/type.rb +31 -0
  402. data/vendored/puppet/lib/puppet/functions/unique.rb +132 -0
  403. data/vendored/puppet/lib/puppet/functions/unwrap.rb +40 -0
  404. data/vendored/puppet/lib/puppet/functions/versioncmp.rb +36 -0
  405. data/vendored/puppet/lib/puppet/functions/warning.rb +14 -0
  406. data/vendored/puppet/lib/puppet/functions/with.rb +30 -0
  407. data/vendored/puppet/lib/puppet/functions/yaml_data.rb +42 -0
  408. data/vendored/puppet/lib/puppet/generate/models/type/property.rb +70 -0
  409. data/vendored/puppet/lib/puppet/generate/models/type/type.rb +62 -0
  410. data/vendored/puppet/lib/puppet/generate/templates/type/pcore.erb +42 -0
  411. data/vendored/puppet/lib/puppet/generate/type.rb +239 -0
  412. data/vendored/puppet/lib/puppet/gettext/config.rb +70 -0
  413. data/vendored/puppet/lib/puppet/gettext/stubs.rb +11 -0
  414. data/vendored/puppet/lib/puppet/graph.rb +11 -0
  415. data/vendored/puppet/lib/puppet/graph/key.rb +26 -0
  416. data/vendored/puppet/lib/puppet/graph/prioritizer.rb +29 -0
  417. data/vendored/puppet/lib/puppet/graph/random_prioritizer.rb +16 -0
  418. data/vendored/puppet/lib/puppet/graph/rb_tree_map.rb +388 -0
  419. data/vendored/puppet/lib/puppet/graph/relationship_graph.rb +277 -0
  420. data/vendored/puppet/lib/puppet/graph/sequential_prioritizer.rb +31 -0
  421. data/vendored/puppet/lib/puppet/graph/simple_graph.rb +539 -0
  422. data/vendored/puppet/lib/puppet/graph/title_hash_prioritizer.rb +16 -0
  423. data/vendored/puppet/lib/puppet/indirector.rb +61 -0
  424. data/vendored/puppet/lib/puppet/indirector/catalog/compiler.rb +384 -0
  425. data/vendored/puppet/lib/puppet/indirector/catalog/json.rb +24 -0
  426. data/vendored/puppet/lib/puppet/indirector/catalog/msgpack.rb +6 -0
  427. data/vendored/puppet/lib/puppet/indirector/catalog/rest.rb +6 -0
  428. data/vendored/puppet/lib/puppet/indirector/catalog/store_configs.rb +8 -0
  429. data/vendored/puppet/lib/puppet/indirector/catalog/yaml.rb +22 -0
  430. data/vendored/puppet/lib/puppet/indirector/certificate/ca.rb +9 -0
  431. data/vendored/puppet/lib/puppet/indirector/certificate/disabled_ca.rb +22 -0
  432. data/vendored/puppet/lib/puppet/indirector/certificate/file.rb +9 -0
  433. data/vendored/puppet/lib/puppet/indirector/certificate/rest.rb +16 -0
  434. data/vendored/puppet/lib/puppet/indirector/certificate_request/ca.rb +22 -0
  435. data/vendored/puppet/lib/puppet/indirector/certificate_request/disabled_ca.rb +22 -0
  436. data/vendored/puppet/lib/puppet/indirector/certificate_request/file.rb +8 -0
  437. data/vendored/puppet/lib/puppet/indirector/certificate_request/memory.rb +6 -0
  438. data/vendored/puppet/lib/puppet/indirector/certificate_request/rest.rb +10 -0
  439. data/vendored/puppet/lib/puppet/indirector/certificate_revocation_list/ca.rb +8 -0
  440. data/vendored/puppet/lib/puppet/indirector/certificate_revocation_list/disabled_ca.rb +22 -0
  441. data/vendored/puppet/lib/puppet/indirector/certificate_revocation_list/file.rb +8 -0
  442. data/vendored/puppet/lib/puppet/indirector/certificate_revocation_list/rest.rb +22 -0
  443. data/vendored/puppet/lib/puppet/indirector/certificate_status.rb +4 -0
  444. data/vendored/puppet/lib/puppet/indirector/certificate_status/file.rb +91 -0
  445. data/vendored/puppet/lib/puppet/indirector/certificate_status/rest.rb +11 -0
  446. data/vendored/puppet/lib/puppet/indirector/code.rb +6 -0
  447. data/vendored/puppet/lib/puppet/indirector/data_binding/hiera.rb +7 -0
  448. data/vendored/puppet/lib/puppet/indirector/data_binding/none.rb +8 -0
  449. data/vendored/puppet/lib/puppet/indirector/direct_file_server.rb +17 -0
  450. data/vendored/puppet/lib/puppet/indirector/envelope.rb +11 -0
  451. data/vendored/puppet/lib/puppet/indirector/errors.rb +5 -0
  452. data/vendored/puppet/lib/puppet/indirector/exec.rb +38 -0
  453. data/vendored/puppet/lib/puppet/indirector/face.rb +153 -0
  454. data/vendored/puppet/lib/puppet/indirector/facts/facter.rb +90 -0
  455. data/vendored/puppet/lib/puppet/indirector/facts/memory.rb +9 -0
  456. data/vendored/puppet/lib/puppet/indirector/facts/network_device.rb +27 -0
  457. data/vendored/puppet/lib/puppet/indirector/facts/store_configs.rb +11 -0
  458. data/vendored/puppet/lib/puppet/indirector/facts/yaml.rb +86 -0
  459. data/vendored/puppet/lib/puppet/indirector/file_bucket_file/file.rb +255 -0
  460. data/vendored/puppet/lib/puppet/indirector/file_bucket_file/rest.rb +8 -0
  461. data/vendored/puppet/lib/puppet/indirector/file_bucket_file/selector.rb +53 -0
  462. data/vendored/puppet/lib/puppet/indirector/file_content.rb +5 -0
  463. data/vendored/puppet/lib/puppet/indirector/file_content/file.rb +7 -0
  464. data/vendored/puppet/lib/puppet/indirector/file_content/file_server.rb +7 -0
  465. data/vendored/puppet/lib/puppet/indirector/file_content/http.rb +15 -0
  466. data/vendored/puppet/lib/puppet/indirector/file_content/rest.rb +9 -0
  467. data/vendored/puppet/lib/puppet/indirector/file_content/selector.rb +30 -0
  468. data/vendored/puppet/lib/puppet/indirector/file_metadata.rb +5 -0
  469. data/vendored/puppet/lib/puppet/indirector/file_metadata/file.rb +7 -0
  470. data/vendored/puppet/lib/puppet/indirector/file_metadata/file_server.rb +7 -0
  471. data/vendored/puppet/lib/puppet/indirector/file_metadata/http.rb +27 -0
  472. data/vendored/puppet/lib/puppet/indirector/file_metadata/rest.rb +9 -0
  473. data/vendored/puppet/lib/puppet/indirector/file_metadata/selector.rb +30 -0
  474. data/vendored/puppet/lib/puppet/indirector/file_server.rb +59 -0
  475. data/vendored/puppet/lib/puppet/indirector/generic_http.rb +16 -0
  476. data/vendored/puppet/lib/puppet/indirector/hiera.rb +94 -0
  477. data/vendored/puppet/lib/puppet/indirector/indirection.rb +336 -0
  478. data/vendored/puppet/lib/puppet/indirector/json.rb +75 -0
  479. data/vendored/puppet/lib/puppet/indirector/key/ca.rb +16 -0
  480. data/vendored/puppet/lib/puppet/indirector/key/disabled_ca.rb +22 -0
  481. data/vendored/puppet/lib/puppet/indirector/key/file.rb +50 -0
  482. data/vendored/puppet/lib/puppet/indirector/key/memory.rb +6 -0
  483. data/vendored/puppet/lib/puppet/indirector/ldap.rb +80 -0
  484. data/vendored/puppet/lib/puppet/indirector/memory.rb +34 -0
  485. data/vendored/puppet/lib/puppet/indirector/msgpack.rb +83 -0
  486. data/vendored/puppet/lib/puppet/indirector/node/exec.rb +71 -0
  487. data/vendored/puppet/lib/puppet/indirector/node/ldap.rb +259 -0
  488. data/vendored/puppet/lib/puppet/indirector/node/memory.rb +10 -0
  489. data/vendored/puppet/lib/puppet/indirector/node/msgpack.rb +7 -0
  490. data/vendored/puppet/lib/puppet/indirector/node/plain.rb +21 -0
  491. data/vendored/puppet/lib/puppet/indirector/node/rest.rb +7 -0
  492. data/vendored/puppet/lib/puppet/indirector/node/store_configs.rb +8 -0
  493. data/vendored/puppet/lib/puppet/indirector/node/write_only_yaml.rb +37 -0
  494. data/vendored/puppet/lib/puppet/indirector/node/yaml.rb +13 -0
  495. data/vendored/puppet/lib/puppet/indirector/none.rb +9 -0
  496. data/vendored/puppet/lib/puppet/indirector/plain.rb +9 -0
  497. data/vendored/puppet/lib/puppet/indirector/report/msgpack.rb +11 -0
  498. data/vendored/puppet/lib/puppet/indirector/report/processor.rb +59 -0
  499. data/vendored/puppet/lib/puppet/indirector/report/rest.rb +28 -0
  500. data/vendored/puppet/lib/puppet/indirector/report/yaml.rb +11 -0
  501. data/vendored/puppet/lib/puppet/indirector/request.rb +274 -0
  502. data/vendored/puppet/lib/puppet/indirector/resource/ral.rb +63 -0
  503. data/vendored/puppet/lib/puppet/indirector/resource/store_configs.rb +12 -0
  504. data/vendored/puppet/lib/puppet/indirector/resource/validator.rb +8 -0
  505. data/vendored/puppet/lib/puppet/indirector/rest.rb +348 -0
  506. data/vendored/puppet/lib/puppet/indirector/ssl_file.rb +201 -0
  507. data/vendored/puppet/lib/puppet/indirector/status.rb +3 -0
  508. data/vendored/puppet/lib/puppet/indirector/status/local.rb +12 -0
  509. data/vendored/puppet/lib/puppet/indirector/status/rest.rb +9 -0
  510. data/vendored/puppet/lib/puppet/indirector/store_configs.rb +30 -0
  511. data/vendored/puppet/lib/puppet/indirector/terminus.rb +169 -0
  512. data/vendored/puppet/lib/puppet/indirector/yaml.rb +63 -0
  513. data/vendored/puppet/lib/puppet/info_service.rb +17 -0
  514. data/vendored/puppet/lib/puppet/info_service/class_information_service.rb +110 -0
  515. data/vendored/puppet/lib/puppet/info_service/task_information_service.rb +32 -0
  516. data/vendored/puppet/lib/puppet/interface.rb +236 -0
  517. data/vendored/puppet/lib/puppet/interface/action.rb +374 -0
  518. data/vendored/puppet/lib/puppet/interface/action_builder.rb +149 -0
  519. data/vendored/puppet/lib/puppet/interface/action_manager.rb +97 -0
  520. data/vendored/puppet/lib/puppet/interface/documentation.rb +342 -0
  521. data/vendored/puppet/lib/puppet/interface/face_collection.rb +130 -0
  522. data/vendored/puppet/lib/puppet/interface/option.rb +150 -0
  523. data/vendored/puppet/lib/puppet/interface/option_builder.rb +91 -0
  524. data/vendored/puppet/lib/puppet/interface/option_manager.rb +99 -0
  525. data/vendored/puppet/lib/puppet/loaders.rb +26 -0
  526. data/vendored/puppet/lib/puppet/metatype/manager.rb +195 -0
  527. data/vendored/puppet/lib/puppet/module.rb +473 -0
  528. data/vendored/puppet/lib/puppet/module/task.rb +90 -0
  529. data/vendored/puppet/lib/puppet/module_tool.rb +196 -0
  530. data/vendored/puppet/lib/puppet/module_tool/applications.rb +14 -0
  531. data/vendored/puppet/lib/puppet/module_tool/applications/application.rb +90 -0
  532. data/vendored/puppet/lib/puppet/module_tool/applications/builder.rb +148 -0
  533. data/vendored/puppet/lib/puppet/module_tool/applications/checksummer.rb +62 -0
  534. data/vendored/puppet/lib/puppet/module_tool/applications/installer.rb +352 -0
  535. data/vendored/puppet/lib/puppet/module_tool/applications/searcher.rb +29 -0
  536. data/vendored/puppet/lib/puppet/module_tool/applications/uninstaller.rb +118 -0
  537. data/vendored/puppet/lib/puppet/module_tool/applications/unpacker.rb +100 -0
  538. data/vendored/puppet/lib/puppet/module_tool/applications/upgrader.rb +278 -0
  539. data/vendored/puppet/lib/puppet/module_tool/checksums.rb +49 -0
  540. data/vendored/puppet/lib/puppet/module_tool/contents_description.rb +88 -0
  541. data/vendored/puppet/lib/puppet/module_tool/dependency.rb +41 -0
  542. data/vendored/puppet/lib/puppet/module_tool/errors.rb +11 -0
  543. data/vendored/puppet/lib/puppet/module_tool/errors/base.rb +15 -0
  544. data/vendored/puppet/lib/puppet/module_tool/errors/installer.rb +95 -0
  545. data/vendored/puppet/lib/puppet/module_tool/errors/shared.rb +190 -0
  546. data/vendored/puppet/lib/puppet/module_tool/errors/uninstaller.rb +49 -0
  547. data/vendored/puppet/lib/puppet/module_tool/errors/upgrader.rb +63 -0
  548. data/vendored/puppet/lib/puppet/module_tool/install_directory.rb +45 -0
  549. data/vendored/puppet/lib/puppet/module_tool/installed_modules.rb +96 -0
  550. data/vendored/puppet/lib/puppet/module_tool/local_tarball.rb +90 -0
  551. data/vendored/puppet/lib/puppet/module_tool/metadata.rb +224 -0
  552. data/vendored/puppet/lib/puppet/module_tool/shared_behaviors.rb +180 -0
  553. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/.fixtures.yml.erb +7 -0
  554. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/.gitignore +18 -0
  555. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/.rubocop.yml +42 -0
  556. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/.yardopts +1 -0
  557. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +18 -0
  558. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/README.md.erb +89 -0
  559. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +32 -0
  560. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/examples/init.pp.erb +12 -0
  561. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/manifests/init.pp.erb +48 -0
  562. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/metadata.json.erb +1 -0
  563. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/spec/classes/init_spec.rb.erb +6 -0
  564. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/spec/spec_helper.rb +1 -0
  565. data/vendored/puppet/lib/puppet/module_tool/tar.rb +18 -0
  566. data/vendored/puppet/lib/puppet/module_tool/tar/gnu.rb +19 -0
  567. data/vendored/puppet/lib/puppet/module_tool/tar/mini.rb +53 -0
  568. data/vendored/puppet/lib/puppet/network.rb +3 -0
  569. data/vendored/puppet/lib/puppet/network/auth_config_parser.rb +85 -0
  570. data/vendored/puppet/lib/puppet/network/authconfig.rb +112 -0
  571. data/vendored/puppet/lib/puppet/network/authorization.rb +41 -0
  572. data/vendored/puppet/lib/puppet/network/authstore.rb +282 -0
  573. data/vendored/puppet/lib/puppet/network/client_request.rb +29 -0
  574. data/vendored/puppet/lib/puppet/network/format.rb +110 -0
  575. data/vendored/puppet/lib/puppet/network/format_handler.rb +108 -0
  576. data/vendored/puppet/lib/puppet/network/format_support.rb +134 -0
  577. data/vendored/puppet/lib/puppet/network/formats.rb +171 -0
  578. data/vendored/puppet/lib/puppet/network/http.rb +30 -0
  579. data/vendored/puppet/lib/puppet/network/http/api.rb +44 -0
  580. data/vendored/puppet/lib/puppet/network/http/api/ca.rb +2 -0
  581. data/vendored/puppet/lib/puppet/network/http/api/ca/v1.rb +11 -0
  582. data/vendored/puppet/lib/puppet/network/http/api/indirected_routes.rb +278 -0
  583. data/vendored/puppet/lib/puppet/network/http/api/indirection_type.rb +32 -0
  584. data/vendored/puppet/lib/puppet/network/http/api/master.rb +2 -0
  585. data/vendored/puppet/lib/puppet/network/http/api/master/v3.rb +28 -0
  586. data/vendored/puppet/lib/puppet/network/http/api/master/v3/authorization.rb +18 -0
  587. data/vendored/puppet/lib/puppet/network/http/api/master/v3/environment.rb +82 -0
  588. data/vendored/puppet/lib/puppet/network/http/api/master/v3/environments.rb +35 -0
  589. data/vendored/puppet/lib/puppet/network/http/compression.rb +120 -0
  590. data/vendored/puppet/lib/puppet/network/http/connection.rb +332 -0
  591. data/vendored/puppet/lib/puppet/network/http/error.rb +73 -0
  592. data/vendored/puppet/lib/puppet/network/http/factory.rb +47 -0
  593. data/vendored/puppet/lib/puppet/network/http/handler.rb +183 -0
  594. data/vendored/puppet/lib/puppet/network/http/issues.rb +12 -0
  595. data/vendored/puppet/lib/puppet/network/http/memory_response.rb +13 -0
  596. data/vendored/puppet/lib/puppet/network/http/nocache_pool.rb +21 -0
  597. data/vendored/puppet/lib/puppet/network/http/pool.rb +129 -0
  598. data/vendored/puppet/lib/puppet/network/http/rack.rb +33 -0
  599. data/vendored/puppet/lib/puppet/network/http/rack/rest.rb +162 -0
  600. data/vendored/puppet/lib/puppet/network/http/request.rb +70 -0
  601. data/vendored/puppet/lib/puppet/network/http/response.rb +23 -0
  602. data/vendored/puppet/lib/puppet/network/http/route.rb +100 -0
  603. data/vendored/puppet/lib/puppet/network/http/session.rb +17 -0
  604. data/vendored/puppet/lib/puppet/network/http/site.rb +39 -0
  605. data/vendored/puppet/lib/puppet/network/http/webrick.rb +125 -0
  606. data/vendored/puppet/lib/puppet/network/http/webrick/rest.rb +114 -0
  607. data/vendored/puppet/lib/puppet/network/http_pool.rb +61 -0
  608. data/vendored/puppet/lib/puppet/network/resolver.rb +86 -0
  609. data/vendored/puppet/lib/puppet/network/rest_controller.rb +2 -0
  610. data/vendored/puppet/lib/puppet/network/rights.rb +209 -0
  611. data/vendored/puppet/lib/puppet/network/server.rb +39 -0
  612. data/vendored/puppet/lib/puppet/node.rb +262 -0
  613. data/vendored/puppet/lib/puppet/node/environment.rb +572 -0
  614. data/vendored/puppet/lib/puppet/node/facts.rb +128 -0
  615. data/vendored/puppet/lib/puppet/parameter.rb +567 -0
  616. data/vendored/puppet/lib/puppet/parameter/boolean.rb +15 -0
  617. data/vendored/puppet/lib/puppet/parameter/package_options.rb +31 -0
  618. data/vendored/puppet/lib/puppet/parameter/path.rb +57 -0
  619. data/vendored/puppet/lib/puppet/parameter/value.rb +91 -0
  620. data/vendored/puppet/lib/puppet/parameter/value_collection.rb +212 -0
  621. data/vendored/puppet/lib/puppet/parser.rb +20 -0
  622. data/vendored/puppet/lib/puppet/parser/abstract_compiler.rb +36 -0
  623. data/vendored/puppet/lib/puppet/parser/ast.rb +65 -0
  624. data/vendored/puppet/lib/puppet/parser/ast/block_expression.rb +15 -0
  625. data/vendored/puppet/lib/puppet/parser/ast/branch.rb +19 -0
  626. data/vendored/puppet/lib/puppet/parser/ast/hostclass.rb +27 -0
  627. data/vendored/puppet/lib/puppet/parser/ast/leaf.rb +75 -0
  628. data/vendored/puppet/lib/puppet/parser/ast/node.rb +17 -0
  629. data/vendored/puppet/lib/puppet/parser/ast/pops_bridge.rb +273 -0
  630. data/vendored/puppet/lib/puppet/parser/ast/resource.rb +66 -0
  631. data/vendored/puppet/lib/puppet/parser/ast/resource_instance.rb +10 -0
  632. data/vendored/puppet/lib/puppet/parser/ast/resourceparam.rb +31 -0
  633. data/vendored/puppet/lib/puppet/parser/ast/top_level_construct.rb +4 -0
  634. data/vendored/puppet/lib/puppet/parser/compiler.rb +788 -0
  635. data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator.rb +33 -0
  636. data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +64 -0
  637. data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +57 -0
  638. data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +20 -0
  639. data/vendored/puppet/lib/puppet/parser/e4_parser_adapter.rb +60 -0
  640. data/vendored/puppet/lib/puppet/parser/environment_compiler.rb +199 -0
  641. data/vendored/puppet/lib/puppet/parser/files.rb +92 -0
  642. data/vendored/puppet/lib/puppet/parser/functions.rb +278 -0
  643. data/vendored/puppet/lib/puppet/parser/functions/assert_type.rb +60 -0
  644. data/vendored/puppet/lib/puppet/parser/functions/binary_file.rb +24 -0
  645. data/vendored/puppet/lib/puppet/parser/functions/break.rb +39 -0
  646. data/vendored/puppet/lib/puppet/parser/functions/contain.rb +30 -0
  647. data/vendored/puppet/lib/puppet/parser/functions/create_resources.rb +112 -0
  648. data/vendored/puppet/lib/puppet/parser/functions/defined.rb +107 -0
  649. data/vendored/puppet/lib/puppet/parser/functions/dig.rb +38 -0
  650. data/vendored/puppet/lib/puppet/parser/functions/digest.rb +5 -0
  651. data/vendored/puppet/lib/puppet/parser/functions/each.rb +104 -0
  652. data/vendored/puppet/lib/puppet/parser/functions/epp.rb +39 -0
  653. data/vendored/puppet/lib/puppet/parser/functions/fail.rb +4 -0
  654. data/vendored/puppet/lib/puppet/parser/functions/file.rb +33 -0
  655. data/vendored/puppet/lib/puppet/parser/functions/filter.rb +78 -0
  656. data/vendored/puppet/lib/puppet/parser/functions/find_file.rb +28 -0
  657. data/vendored/puppet/lib/puppet/parser/functions/fqdn_rand.rb +21 -0
  658. data/vendored/puppet/lib/puppet/parser/functions/generate.rb +38 -0
  659. data/vendored/puppet/lib/puppet/parser/functions/hiera.rb +103 -0
  660. data/vendored/puppet/lib/puppet/parser/functions/hiera_array.rb +92 -0
  661. data/vendored/puppet/lib/puppet/parser/functions/hiera_hash.rb +102 -0
  662. data/vendored/puppet/lib/puppet/parser/functions/hiera_include.rb +102 -0
  663. data/vendored/puppet/lib/puppet/parser/functions/include.rb +34 -0
  664. data/vendored/puppet/lib/puppet/parser/functions/inline_epp.rb +51 -0
  665. data/vendored/puppet/lib/puppet/parser/functions/inline_template.rb +27 -0
  666. data/vendored/puppet/lib/puppet/parser/functions/lest.rb +49 -0
  667. data/vendored/puppet/lib/puppet/parser/functions/lookup.rb +132 -0
  668. data/vendored/puppet/lib/puppet/parser/functions/map.rb +76 -0
  669. data/vendored/puppet/lib/puppet/parser/functions/match.rb +43 -0
  670. data/vendored/puppet/lib/puppet/parser/functions/md5.rb +5 -0
  671. data/vendored/puppet/lib/puppet/parser/functions/new.rb +1006 -0
  672. data/vendored/puppet/lib/puppet/parser/functions/next.rb +38 -0
  673. data/vendored/puppet/lib/puppet/parser/functions/realize.rb +20 -0
  674. data/vendored/puppet/lib/puppet/parser/functions/reduce.rb +137 -0
  675. data/vendored/puppet/lib/puppet/parser/functions/regsubst.rb +62 -0
  676. data/vendored/puppet/lib/puppet/parser/functions/require.rb +40 -0
  677. data/vendored/puppet/lib/puppet/parser/functions/return.rb +71 -0
  678. data/vendored/puppet/lib/puppet/parser/functions/reverse_each.rb +83 -0
  679. data/vendored/puppet/lib/puppet/parser/functions/scanf.rb +38 -0
  680. data/vendored/puppet/lib/puppet/parser/functions/sha1.rb +5 -0
  681. data/vendored/puppet/lib/puppet/parser/functions/shellquote.rb +61 -0
  682. data/vendored/puppet/lib/puppet/parser/functions/slice.rb +39 -0
  683. data/vendored/puppet/lib/puppet/parser/functions/split.rb +28 -0
  684. data/vendored/puppet/lib/puppet/parser/functions/sprintf.rb +36 -0
  685. data/vendored/puppet/lib/puppet/parser/functions/step.rb +84 -0
  686. data/vendored/puppet/lib/puppet/parser/functions/strftime.rb +185 -0
  687. data/vendored/puppet/lib/puppet/parser/functions/tag.rb +12 -0
  688. data/vendored/puppet/lib/puppet/parser/functions/tagged.rb +24 -0
  689. data/vendored/puppet/lib/puppet/parser/functions/template.rb +35 -0
  690. data/vendored/puppet/lib/puppet/parser/functions/then.rb +73 -0
  691. data/vendored/puppet/lib/puppet/parser/functions/type.rb +53 -0
  692. data/vendored/puppet/lib/puppet/parser/functions/versioncmp.rb +30 -0
  693. data/vendored/puppet/lib/puppet/parser/functions/with.rb +28 -0
  694. data/vendored/puppet/lib/puppet/parser/parser_factory.rb +30 -0
  695. data/vendored/puppet/lib/puppet/parser/relationship.rb +83 -0
  696. data/vendored/puppet/lib/puppet/parser/resource.rb +418 -0
  697. data/vendored/puppet/lib/puppet/parser/resource/param.rb +22 -0
  698. data/vendored/puppet/lib/puppet/parser/scope.rb +1112 -0
  699. data/vendored/puppet/lib/puppet/parser/script_compiler.rb +117 -0
  700. data/vendored/puppet/lib/puppet/parser/templatewrapper.rb +101 -0
  701. data/vendored/puppet/lib/puppet/parser/type_loader.rb +149 -0
  702. data/vendored/puppet/lib/puppet/plugins.rb +9 -0
  703. data/vendored/puppet/lib/puppet/plugins/configuration.rb +25 -0
  704. data/vendored/puppet/lib/puppet/plugins/syntax_checkers.rb +98 -0
  705. data/vendored/puppet/lib/puppet/pops.rb +120 -0
  706. data/vendored/puppet/lib/puppet/pops/adaptable.rb +206 -0
  707. data/vendored/puppet/lib/puppet/pops/adapters.rb +138 -0
  708. data/vendored/puppet/lib/puppet/pops/evaluator/access_operator.rb +706 -0
  709. data/vendored/puppet/lib/puppet/pops/evaluator/callable_signature.rb +107 -0
  710. data/vendored/puppet/lib/puppet/pops/evaluator/closure.rb +373 -0
  711. data/vendored/puppet/lib/puppet/pops/evaluator/collector_transformer.rb +233 -0
  712. data/vendored/puppet/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +86 -0
  713. data/vendored/puppet/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +29 -0
  714. data/vendored/puppet/lib/puppet/pops/evaluator/collectors/exported_collector.rb +69 -0
  715. data/vendored/puppet/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +37 -0
  716. data/vendored/puppet/lib/puppet/pops/evaluator/compare_operator.rb +252 -0
  717. data/vendored/puppet/lib/puppet/pops/evaluator/epp_evaluator.rb +94 -0
  718. data/vendored/puppet/lib/puppet/pops/evaluator/evaluator_impl.rb +1258 -0
  719. data/vendored/puppet/lib/puppet/pops/evaluator/external_syntax_support.rb +45 -0
  720. data/vendored/puppet/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +82 -0
  721. data/vendored/puppet/lib/puppet/pops/evaluator/literal_evaluator.rb +87 -0
  722. data/vendored/puppet/lib/puppet/pops/evaluator/puppet_proc.rb +69 -0
  723. data/vendored/puppet/lib/puppet/pops/evaluator/relationship_operator.rb +185 -0
  724. data/vendored/puppet/lib/puppet/pops/evaluator/runtime3_converter.rb +200 -0
  725. data/vendored/puppet/lib/puppet/pops/evaluator/runtime3_resource_support.rb +117 -0
  726. data/vendored/puppet/lib/puppet/pops/evaluator/runtime3_support.rb +538 -0
  727. data/vendored/puppet/lib/puppet/pops/functions/dispatch.rb +100 -0
  728. data/vendored/puppet/lib/puppet/pops/functions/dispatcher.rb +71 -0
  729. data/vendored/puppet/lib/puppet/pops/functions/function.rb +135 -0
  730. data/vendored/puppet/lib/puppet/pops/issue_reporter.rb +115 -0
  731. data/vendored/puppet/lib/puppet/pops/issues.rb +888 -0
  732. data/vendored/puppet/lib/puppet/pops/label_provider.rb +90 -0
  733. data/vendored/puppet/lib/puppet/pops/loader/base_loader.rb +166 -0
  734. data/vendored/puppet/lib/puppet/pops/loader/dependency_loader.rb +92 -0
  735. data/vendored/puppet/lib/puppet/pops/loader/gem_support.rb +49 -0
  736. data/vendored/puppet/lib/puppet/pops/loader/loader.rb +204 -0
  737. data/vendored/puppet/lib/puppet/pops/loader/loader_paths.rb +296 -0
  738. data/vendored/puppet/lib/puppet/pops/loader/module_loaders.rb +452 -0
  739. data/vendored/puppet/lib/puppet/pops/loader/null_loader.rb +60 -0
  740. data/vendored/puppet/lib/puppet/pops/loader/predefined_loader.rb +24 -0
  741. data/vendored/puppet/lib/puppet/pops/loader/puppet_function_instantiator.rb +84 -0
  742. data/vendored/puppet/lib/puppet/pops/loader/puppet_plan_instantiator.rb +84 -0
  743. data/vendored/puppet/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +79 -0
  744. data/vendored/puppet/lib/puppet/pops/loader/ruby_function_instantiator.rb +46 -0
  745. data/vendored/puppet/lib/puppet/pops/loader/runtime3_type_loader.rb +101 -0
  746. data/vendored/puppet/lib/puppet/pops/loader/simple_environment_loader.rb +20 -0
  747. data/vendored/puppet/lib/puppet/pops/loader/static_loader.rb +164 -0
  748. data/vendored/puppet/lib/puppet/pops/loader/task_instantiator.rb +117 -0
  749. data/vendored/puppet/lib/puppet/pops/loader/type_definition_instantiator.rb +97 -0
  750. data/vendored/puppet/lib/puppet/pops/loader/typed_name.rb +54 -0
  751. data/vendored/puppet/lib/puppet/pops/loader/uri_helper.rb +22 -0
  752. data/vendored/puppet/lib/puppet/pops/loaders.rb +517 -0
  753. data/vendored/puppet/lib/puppet/pops/lookup.rb +96 -0
  754. data/vendored/puppet/lib/puppet/pops/lookup/configured_data_provider.rb +93 -0
  755. data/vendored/puppet/lib/puppet/pops/lookup/context.rb +200 -0
  756. data/vendored/puppet/lib/puppet/pops/lookup/data_adapter.rb +27 -0
  757. data/vendored/puppet/lib/puppet/pops/lookup/data_dig_function_provider.rb +145 -0
  758. data/vendored/puppet/lib/puppet/pops/lookup/data_hash_function_provider.rb +126 -0
  759. data/vendored/puppet/lib/puppet/pops/lookup/data_provider.rb +92 -0
  760. data/vendored/puppet/lib/puppet/pops/lookup/environment_data_provider.rb +35 -0
  761. data/vendored/puppet/lib/puppet/pops/lookup/explainer.rb +594 -0
  762. data/vendored/puppet/lib/puppet/pops/lookup/function_provider.rb +110 -0
  763. data/vendored/puppet/lib/puppet/pops/lookup/global_data_provider.rb +75 -0
  764. data/vendored/puppet/lib/puppet/pops/lookup/hiera_config.rb +761 -0
  765. data/vendored/puppet/lib/puppet/pops/lookup/interpolation.rb +154 -0
  766. data/vendored/puppet/lib/puppet/pops/lookup/invocation.rb +261 -0
  767. data/vendored/puppet/lib/puppet/pops/lookup/location_resolver.rb +99 -0
  768. data/vendored/puppet/lib/puppet/pops/lookup/lookup_adapter.rb +472 -0
  769. data/vendored/puppet/lib/puppet/pops/lookup/lookup_key.rb +99 -0
  770. data/vendored/puppet/lib/puppet/pops/lookup/lookup_key_function_provider.rb +92 -0
  771. data/vendored/puppet/lib/puppet/pops/lookup/module_data_provider.rb +89 -0
  772. data/vendored/puppet/lib/puppet/pops/lookup/sub_lookup.rb +92 -0
  773. data/vendored/puppet/lib/puppet/pops/merge_strategy.rb +434 -0
  774. data/vendored/puppet/lib/puppet/pops/migration/migration_checker.rb +58 -0
  775. data/vendored/puppet/lib/puppet/pops/model/ast.pp +695 -0
  776. data/vendored/puppet/lib/puppet/pops/model/ast.rb +4870 -0
  777. data/vendored/puppet/lib/puppet/pops/model/ast_transformer.rb +131 -0
  778. data/vendored/puppet/lib/puppet/pops/model/factory.rb +1145 -0
  779. data/vendored/puppet/lib/puppet/pops/model/model_label_provider.rb +132 -0
  780. data/vendored/puppet/lib/puppet/pops/model/model_tree_dumper.rb +463 -0
  781. data/vendored/puppet/lib/puppet/pops/model/tree_dumper.rb +59 -0
  782. data/vendored/puppet/lib/puppet/pops/parser/code_merger.rb +29 -0
  783. data/vendored/puppet/lib/puppet/pops/parser/egrammar.ra +937 -0
  784. data/vendored/puppet/lib/puppet/pops/parser/eparser.rb +3347 -0
  785. data/vendored/puppet/lib/puppet/pops/parser/epp_parser.rb +51 -0
  786. data/vendored/puppet/lib/puppet/pops/parser/epp_support.rb +262 -0
  787. data/vendored/puppet/lib/puppet/pops/parser/evaluating_parser.rb +165 -0
  788. data/vendored/puppet/lib/puppet/pops/parser/heredoc_support.rb +143 -0
  789. data/vendored/puppet/lib/puppet/pops/parser/interpolation_support.rb +244 -0
  790. data/vendored/puppet/lib/puppet/pops/parser/lexer2.rb +796 -0
  791. data/vendored/puppet/lib/puppet/pops/parser/lexer_support.rb +220 -0
  792. data/vendored/puppet/lib/puppet/pops/parser/locatable.rb +23 -0
  793. data/vendored/puppet/lib/puppet/pops/parser/locator.rb +344 -0
  794. data/vendored/puppet/lib/puppet/pops/parser/parser_support.rb +247 -0
  795. data/vendored/puppet/lib/puppet/pops/parser/slurp_support.rb +120 -0
  796. data/vendored/puppet/lib/puppet/pops/patterns.rb +60 -0
  797. data/vendored/puppet/lib/puppet/pops/pcore.rb +107 -0
  798. data/vendored/puppet/lib/puppet/pops/puppet_stack.rb +43 -0
  799. data/vendored/puppet/lib/puppet/pops/resource/param.rb +55 -0
  800. data/vendored/puppet/lib/puppet/pops/resource/resource_type_impl.rb +314 -0
  801. data/vendored/puppet/lib/puppet/pops/resource/resource_type_set.pcore +22 -0
  802. data/vendored/puppet/lib/puppet/pops/semantic_error.rb +29 -0
  803. data/vendored/puppet/lib/puppet/pops/serialization.rb +41 -0
  804. data/vendored/puppet/lib/puppet/pops/serialization/abstract_reader.rb +176 -0
  805. data/vendored/puppet/lib/puppet/pops/serialization/abstract_writer.rb +215 -0
  806. data/vendored/puppet/lib/puppet/pops/serialization/deserializer.rb +80 -0
  807. data/vendored/puppet/lib/puppet/pops/serialization/extension.rb +157 -0
  808. data/vendored/puppet/lib/puppet/pops/serialization/from_data_converter.rb +169 -0
  809. data/vendored/puppet/lib/puppet/pops/serialization/instance_reader.rb +19 -0
  810. data/vendored/puppet/lib/puppet/pops/serialization/instance_writer.rb +14 -0
  811. data/vendored/puppet/lib/puppet/pops/serialization/json.rb +297 -0
  812. data/vendored/puppet/lib/puppet/pops/serialization/json_path.rb +126 -0
  813. data/vendored/puppet/lib/puppet/pops/serialization/object.rb +71 -0
  814. data/vendored/puppet/lib/puppet/pops/serialization/serializer.rb +139 -0
  815. data/vendored/puppet/lib/puppet/pops/serialization/time_factory.rb +67 -0
  816. data/vendored/puppet/lib/puppet/pops/serialization/to_data_converter.rb +301 -0
  817. data/vendored/puppet/lib/puppet/pops/time/timespan.rb +718 -0
  818. data/vendored/puppet/lib/puppet/pops/time/timestamp.rb +160 -0
  819. data/vendored/puppet/lib/puppet/pops/types/annotatable.rb +36 -0
  820. data/vendored/puppet/lib/puppet/pops/types/annotation.rb +71 -0
  821. data/vendored/puppet/lib/puppet/pops/types/class_loader.rb +129 -0
  822. data/vendored/puppet/lib/puppet/pops/types/enumeration.rb +16 -0
  823. data/vendored/puppet/lib/puppet/pops/types/execution_result.rb +126 -0
  824. data/vendored/puppet/lib/puppet/pops/types/implementation_registry.rb +141 -0
  825. data/vendored/puppet/lib/puppet/pops/types/iterable.rb +330 -0
  826. data/vendored/puppet/lib/puppet/pops/types/p_binary_type.rb +226 -0
  827. data/vendored/puppet/lib/puppet/pops/types/p_error_type.rb +146 -0
  828. data/vendored/puppet/lib/puppet/pops/types/p_init_type.rb +238 -0
  829. data/vendored/puppet/lib/puppet/pops/types/p_meta_type.rb +90 -0
  830. data/vendored/puppet/lib/puppet/pops/types/p_object_type.rb +976 -0
  831. data/vendored/puppet/lib/puppet/pops/types/p_runtime_type.rb +115 -0
  832. data/vendored/puppet/lib/puppet/pops/types/p_sem_ver_range_type.rb +191 -0
  833. data/vendored/puppet/lib/puppet/pops/types/p_sem_ver_type.rb +141 -0
  834. data/vendored/puppet/lib/puppet/pops/types/p_sensitive_type.rb +73 -0
  835. data/vendored/puppet/lib/puppet/pops/types/p_timespan_type.rb +192 -0
  836. data/vendored/puppet/lib/puppet/pops/types/p_timestamp_type.rb +73 -0
  837. data/vendored/puppet/lib/puppet/pops/types/p_type_set_type.rb +361 -0
  838. data/vendored/puppet/lib/puppet/pops/types/puppet_object.rb +30 -0
  839. data/vendored/puppet/lib/puppet/pops/types/recursion_guard.rb +136 -0
  840. data/vendored/puppet/lib/puppet/pops/types/ruby_generator.rb +432 -0
  841. data/vendored/puppet/lib/puppet/pops/types/ruby_method.rb +31 -0
  842. data/vendored/puppet/lib/puppet/pops/types/string_converter.rb +1102 -0
  843. data/vendored/puppet/lib/puppet/pops/types/task.rb +116 -0
  844. data/vendored/puppet/lib/puppet/pops/types/tree_iterators.rb +250 -0
  845. data/vendored/puppet/lib/puppet/pops/types/type_acceptor.rb +25 -0
  846. data/vendored/puppet/lib/puppet/pops/types/type_asserter.rb +47 -0
  847. data/vendored/puppet/lib/puppet/pops/types/type_assertion_error.rb +27 -0
  848. data/vendored/puppet/lib/puppet/pops/types/type_calculator.rb +799 -0
  849. data/vendored/puppet/lib/puppet/pops/types/type_conversion_error.rb +15 -0
  850. data/vendored/puppet/lib/puppet/pops/types/type_factory.rb +599 -0
  851. data/vendored/puppet/lib/puppet/pops/types/type_formatter.rb +769 -0
  852. data/vendored/puppet/lib/puppet/pops/types/type_mismatch_describer.rb +1062 -0
  853. data/vendored/puppet/lib/puppet/pops/types/type_parser.rb +602 -0
  854. data/vendored/puppet/lib/puppet/pops/types/type_set_reference.rb +59 -0
  855. data/vendored/puppet/lib/puppet/pops/types/types.rb +3519 -0
  856. data/vendored/puppet/lib/puppet/pops/utils.rb +119 -0
  857. data/vendored/puppet/lib/puppet/pops/validation.rb +464 -0
  858. data/vendored/puppet/lib/puppet/pops/validation/checker4_0.rb +996 -0
  859. data/vendored/puppet/lib/puppet/pops/validation/tasks_checker.rb +60 -0
  860. data/vendored/puppet/lib/puppet/pops/validation/validator_factory_4_0.rb +43 -0
  861. data/vendored/puppet/lib/puppet/pops/visitable.rb +6 -0
  862. data/vendored/puppet/lib/puppet/pops/visitor.rb +116 -0
  863. data/vendored/puppet/lib/puppet/property.rb +600 -0
  864. data/vendored/puppet/lib/puppet/property/boolean.rb +7 -0
  865. data/vendored/puppet/lib/puppet/property/ensure.rb +105 -0
  866. data/vendored/puppet/lib/puppet/property/keyvalue.rb +95 -0
  867. data/vendored/puppet/lib/puppet/property/list.rb +69 -0
  868. data/vendored/puppet/lib/puppet/property/ordered_list.rb +29 -0
  869. data/vendored/puppet/lib/puppet/provider.rb +603 -0
  870. data/vendored/puppet/lib/puppet/provider/aixobject.rb +392 -0
  871. data/vendored/puppet/lib/puppet/provider/augeas/augeas.rb +567 -0
  872. data/vendored/puppet/lib/puppet/provider/cisco.rb +9 -0
  873. data/vendored/puppet/lib/puppet/provider/command.rb +25 -0
  874. data/vendored/puppet/lib/puppet/provider/computer/computer.rb +20 -0
  875. data/vendored/puppet/lib/puppet/provider/confine.rb +6 -0
  876. data/vendored/puppet/lib/puppet/provider/cron/crontab.rb +297 -0
  877. data/vendored/puppet/lib/puppet/provider/exec.rb +98 -0
  878. data/vendored/puppet/lib/puppet/provider/exec/posix.rb +48 -0
  879. data/vendored/puppet/lib/puppet/provider/exec/shell.rb +25 -0
  880. data/vendored/puppet/lib/puppet/provider/exec/windows.rb +55 -0
  881. data/vendored/puppet/lib/puppet/provider/file/posix.rb +136 -0
  882. data/vendored/puppet/lib/puppet/provider/file/windows.rb +104 -0
  883. data/vendored/puppet/lib/puppet/provider/group/aix.rb +141 -0
  884. data/vendored/puppet/lib/puppet/provider/group/directoryservice.rb +22 -0
  885. data/vendored/puppet/lib/puppet/provider/group/groupadd.rb +85 -0
  886. data/vendored/puppet/lib/puppet/provider/group/ldap.rb +45 -0
  887. data/vendored/puppet/lib/puppet/provider/group/pw.rb +49 -0
  888. data/vendored/puppet/lib/puppet/provider/group/windows_adsi.rb +109 -0
  889. data/vendored/puppet/lib/puppet/provider/host/parsed.rb +46 -0
  890. data/vendored/puppet/lib/puppet/provider/interface/cisco.rb +27 -0
  891. data/vendored/puppet/lib/puppet/provider/ldap.rb +137 -0
  892. data/vendored/puppet/lib/puppet/provider/macauthorization/macauthorization.rb +298 -0
  893. data/vendored/puppet/lib/puppet/provider/mailalias/aliases.rb +50 -0
  894. data/vendored/puppet/lib/puppet/provider/maillist/mailman.rb +108 -0
  895. data/vendored/puppet/lib/puppet/provider/mcx/mcxcontent.rb +173 -0
  896. data/vendored/puppet/lib/puppet/provider/mount.rb +59 -0
  897. data/vendored/puppet/lib/puppet/provider/mount/parsed.rb +282 -0
  898. data/vendored/puppet/lib/puppet/provider/naginator.rb +63 -0
  899. data/vendored/puppet/lib/puppet/provider/nameservice.rb +317 -0
  900. data/vendored/puppet/lib/puppet/provider/nameservice/directoryservice.rb +507 -0
  901. data/vendored/puppet/lib/puppet/provider/nameservice/objectadd.rb +33 -0
  902. data/vendored/puppet/lib/puppet/provider/nameservice/pw.rb +21 -0
  903. data/vendored/puppet/lib/puppet/provider/network_device.rb +72 -0
  904. data/vendored/puppet/lib/puppet/provider/package.rb +56 -0
  905. data/vendored/puppet/lib/puppet/provider/package/aix.rb +152 -0
  906. data/vendored/puppet/lib/puppet/provider/package/appdmg.rb +110 -0
  907. data/vendored/puppet/lib/puppet/provider/package/apple.rb +47 -0
  908. data/vendored/puppet/lib/puppet/provider/package/apt.rb +116 -0
  909. data/vendored/puppet/lib/puppet/provider/package/aptitude.rb +29 -0
  910. data/vendored/puppet/lib/puppet/provider/package/aptrpm.rb +83 -0
  911. data/vendored/puppet/lib/puppet/provider/package/blastwave.rb +111 -0
  912. data/vendored/puppet/lib/puppet/provider/package/dnf.rb +46 -0
  913. data/vendored/puppet/lib/puppet/provider/package/dpkg.rb +165 -0
  914. data/vendored/puppet/lib/puppet/provider/package/fink.rb +79 -0
  915. data/vendored/puppet/lib/puppet/provider/package/freebsd.rb +47 -0
  916. data/vendored/puppet/lib/puppet/provider/package/gem.rb +175 -0
  917. data/vendored/puppet/lib/puppet/provider/package/hpux.rb +44 -0
  918. data/vendored/puppet/lib/puppet/provider/package/macports.rb +107 -0
  919. data/vendored/puppet/lib/puppet/provider/package/nim.rb +283 -0
  920. data/vendored/puppet/lib/puppet/provider/package/openbsd.rb +242 -0
  921. data/vendored/puppet/lib/puppet/provider/package/opkg.rb +81 -0
  922. data/vendored/puppet/lib/puppet/provider/package/pacman.rb +267 -0
  923. data/vendored/puppet/lib/puppet/provider/package/pip.rb +188 -0
  924. data/vendored/puppet/lib/puppet/provider/package/pip3.rb +20 -0
  925. data/vendored/puppet/lib/puppet/provider/package/pkg.rb +249 -0
  926. data/vendored/puppet/lib/puppet/provider/package/pkgdmg.rb +152 -0
  927. data/vendored/puppet/lib/puppet/provider/package/pkgin.rb +87 -0
  928. data/vendored/puppet/lib/puppet/provider/package/pkgng.rb +143 -0
  929. data/vendored/puppet/lib/puppet/provider/package/pkgutil.rb +186 -0
  930. data/vendored/puppet/lib/puppet/provider/package/portage.rb +301 -0
  931. data/vendored/puppet/lib/puppet/provider/package/ports.rb +91 -0
  932. data/vendored/puppet/lib/puppet/provider/package/portupgrade.rb +239 -0
  933. data/vendored/puppet/lib/puppet/provider/package/puppet_gem.rb +17 -0
  934. data/vendored/puppet/lib/puppet/provider/package/rpm.rb +405 -0
  935. data/vendored/puppet/lib/puppet/provider/package/rug.rb +51 -0
  936. data/vendored/puppet/lib/puppet/provider/package/sun.rb +133 -0
  937. data/vendored/puppet/lib/puppet/provider/package/sunfreeware.rb +9 -0
  938. data/vendored/puppet/lib/puppet/provider/package/tdnf.rb +28 -0
  939. data/vendored/puppet/lib/puppet/provider/package/up2date.rb +40 -0
  940. data/vendored/puppet/lib/puppet/provider/package/urpmi.rb +55 -0
  941. data/vendored/puppet/lib/puppet/provider/package/windows.rb +113 -0
  942. data/vendored/puppet/lib/puppet/provider/package/windows/exe_package.rb +71 -0
  943. data/vendored/puppet/lib/puppet/provider/package/windows/msi_package.rb +62 -0
  944. data/vendored/puppet/lib/puppet/provider/package/windows/package.rb +100 -0
  945. data/vendored/puppet/lib/puppet/provider/package/yum.rb +278 -0
  946. data/vendored/puppet/lib/puppet/provider/package/zypper.rb +145 -0
  947. data/vendored/puppet/lib/puppet/provider/parsedfile.rb +459 -0
  948. data/vendored/puppet/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +590 -0
  949. data/vendored/puppet/lib/puppet/provider/selboolean/getsetsebool.rb +47 -0
  950. data/vendored/puppet/lib/puppet/provider/selmodule/semodule.rb +138 -0
  951. data/vendored/puppet/lib/puppet/provider/service/base.rb +121 -0
  952. data/vendored/puppet/lib/puppet/provider/service/bsd.rb +51 -0
  953. data/vendored/puppet/lib/puppet/provider/service/daemontools.rb +194 -0
  954. data/vendored/puppet/lib/puppet/provider/service/debian.rb +74 -0
  955. data/vendored/puppet/lib/puppet/provider/service/freebsd.rb +143 -0
  956. data/vendored/puppet/lib/puppet/provider/service/gentoo.rb +45 -0
  957. data/vendored/puppet/lib/puppet/provider/service/init.rb +193 -0
  958. data/vendored/puppet/lib/puppet/provider/service/launchd.rb +346 -0
  959. data/vendored/puppet/lib/puppet/provider/service/openbsd.rb +100 -0
  960. data/vendored/puppet/lib/puppet/provider/service/openrc.rb +71 -0
  961. data/vendored/puppet/lib/puppet/provider/service/openwrt.rb +36 -0
  962. data/vendored/puppet/lib/puppet/provider/service/rcng.rb +51 -0
  963. data/vendored/puppet/lib/puppet/provider/service/redhat.rb +71 -0
  964. data/vendored/puppet/lib/puppet/provider/service/runit.rb +111 -0
  965. data/vendored/puppet/lib/puppet/provider/service/service.rb +42 -0
  966. data/vendored/puppet/lib/puppet/provider/service/smf.rb +167 -0
  967. data/vendored/puppet/lib/puppet/provider/service/src.rb +147 -0
  968. data/vendored/puppet/lib/puppet/provider/service/systemd.rb +186 -0
  969. data/vendored/puppet/lib/puppet/provider/service/upstart.rb +359 -0
  970. data/vendored/puppet/lib/puppet/provider/service/windows.rb +106 -0
  971. data/vendored/puppet/lib/puppet/provider/ssh_authorized_key/parsed.rb +105 -0
  972. data/vendored/puppet/lib/puppet/provider/sshkey/parsed.rb +50 -0
  973. data/vendored/puppet/lib/puppet/provider/user/aix.rb +375 -0
  974. data/vendored/puppet/lib/puppet/provider/user/directoryservice.rb +632 -0
  975. data/vendored/puppet/lib/puppet/provider/user/hpux.rb +95 -0
  976. data/vendored/puppet/lib/puppet/provider/user/ldap.rb +128 -0
  977. data/vendored/puppet/lib/puppet/provider/user/openbsd.rb +75 -0
  978. data/vendored/puppet/lib/puppet/provider/user/pw.rb +98 -0
  979. data/vendored/puppet/lib/puppet/provider/user/user_role_add.rb +227 -0
  980. data/vendored/puppet/lib/puppet/provider/user/useradd.rb +231 -0
  981. data/vendored/puppet/lib/puppet/provider/user/windows_adsi.rb +148 -0
  982. data/vendored/puppet/lib/puppet/provider/vlan/cisco.rb +28 -0
  983. data/vendored/puppet/lib/puppet/provider/yumrepo/inifile.rb +304 -0
  984. data/vendored/puppet/lib/puppet/provider/zfs/zfs.rb +84 -0
  985. data/vendored/puppet/lib/puppet/provider/zone/solaris.rb +364 -0
  986. data/vendored/puppet/lib/puppet/provider/zpool/zpool.rb +125 -0
  987. data/vendored/puppet/lib/puppet/reference/configuration.rb +82 -0
  988. data/vendored/puppet/lib/puppet/reference/function.rb +17 -0
  989. data/vendored/puppet/lib/puppet/reference/indirection.rb +71 -0
  990. data/vendored/puppet/lib/puppet/reference/metaparameter.rb +35 -0
  991. data/vendored/puppet/lib/puppet/reference/providers.rb +118 -0
  992. data/vendored/puppet/lib/puppet/reference/report.rb +20 -0
  993. data/vendored/puppet/lib/puppet/reference/type.rb +114 -0
  994. data/vendored/puppet/lib/puppet/relationship.rb +88 -0
  995. data/vendored/puppet/lib/puppet/reports.rb +93 -0
  996. data/vendored/puppet/lib/puppet/reports/http.rb +37 -0
  997. data/vendored/puppet/lib/puppet/reports/log.rb +14 -0
  998. data/vendored/puppet/lib/puppet/reports/store.rb +68 -0
  999. data/vendored/puppet/lib/puppet/resource.rb +669 -0
  1000. data/vendored/puppet/lib/puppet/resource/capability_finder.rb +147 -0
  1001. data/vendored/puppet/lib/puppet/resource/catalog.rb +667 -0
  1002. data/vendored/puppet/lib/puppet/resource/status.rb +221 -0
  1003. data/vendored/puppet/lib/puppet/resource/type.rb +524 -0
  1004. data/vendored/puppet/lib/puppet/resource/type_collection.rb +263 -0
  1005. data/vendored/puppet/lib/puppet/scheduler.rb +16 -0
  1006. data/vendored/puppet/lib/puppet/scheduler/job.rb +53 -0
  1007. data/vendored/puppet/lib/puppet/scheduler/scheduler.rb +44 -0
  1008. data/vendored/puppet/lib/puppet/scheduler/splay_job.rb +32 -0
  1009. data/vendored/puppet/lib/puppet/scheduler/timer.rb +13 -0
  1010. data/vendored/puppet/lib/puppet/settings.rb +1457 -0
  1011. data/vendored/puppet/lib/puppet/settings/array_setting.rb +17 -0
  1012. data/vendored/puppet/lib/puppet/settings/autosign_setting.rb +22 -0
  1013. data/vendored/puppet/lib/puppet/settings/base_setting.rb +177 -0
  1014. data/vendored/puppet/lib/puppet/settings/boolean_setting.rb +32 -0
  1015. data/vendored/puppet/lib/puppet/settings/certificate_revocation_setting.rb +21 -0
  1016. data/vendored/puppet/lib/puppet/settings/config_file.rb +143 -0
  1017. data/vendored/puppet/lib/puppet/settings/directory_setting.rb +18 -0
  1018. data/vendored/puppet/lib/puppet/settings/duration_setting.rb +32 -0
  1019. data/vendored/puppet/lib/puppet/settings/enum_setting.rb +16 -0
  1020. data/vendored/puppet/lib/puppet/settings/environment_conf.rb +204 -0
  1021. data/vendored/puppet/lib/puppet/settings/errors.rb +11 -0
  1022. data/vendored/puppet/lib/puppet/settings/file_or_directory_setting.rb +40 -0
  1023. data/vendored/puppet/lib/puppet/settings/file_setting.rb +245 -0
  1024. data/vendored/puppet/lib/puppet/settings/ini_file.rb +200 -0
  1025. data/vendored/puppet/lib/puppet/settings/path_setting.rb +8 -0
  1026. data/vendored/puppet/lib/puppet/settings/priority_setting.rb +42 -0
  1027. data/vendored/puppet/lib/puppet/settings/server_list_setting.rb +20 -0
  1028. data/vendored/puppet/lib/puppet/settings/string_setting.rb +9 -0
  1029. data/vendored/puppet/lib/puppet/settings/symbolic_enum_setting.rb +17 -0
  1030. data/vendored/puppet/lib/puppet/settings/terminus_setting.rb +14 -0
  1031. data/vendored/puppet/lib/puppet/settings/ttl_setting.rb +46 -0
  1032. data/vendored/puppet/lib/puppet/settings/value_translator.rb +15 -0
  1033. data/vendored/puppet/lib/puppet/ssl.rb +13 -0
  1034. data/vendored/puppet/lib/puppet/ssl/base.rb +153 -0
  1035. data/vendored/puppet/lib/puppet/ssl/certificate.rb +95 -0
  1036. data/vendored/puppet/lib/puppet/ssl/certificate_authority.rb +553 -0
  1037. data/vendored/puppet/lib/puppet/ssl/certificate_authority/autosign_command.rb +45 -0
  1038. data/vendored/puppet/lib/puppet/ssl/certificate_authority/interface.rb +324 -0
  1039. data/vendored/puppet/lib/puppet/ssl/certificate_factory.rb +219 -0
  1040. data/vendored/puppet/lib/puppet/ssl/certificate_request.rb +327 -0
  1041. data/vendored/puppet/lib/puppet/ssl/certificate_request_attributes.rb +37 -0
  1042. data/vendored/puppet/lib/puppet/ssl/certificate_revocation_list.rb +111 -0
  1043. data/vendored/puppet/lib/puppet/ssl/certificate_signer.rb +27 -0
  1044. data/vendored/puppet/lib/puppet/ssl/configuration.rb +61 -0
  1045. data/vendored/puppet/lib/puppet/ssl/digest.rb +20 -0
  1046. data/vendored/puppet/lib/puppet/ssl/host.rb +400 -0
  1047. data/vendored/puppet/lib/puppet/ssl/inventory.rb +55 -0
  1048. data/vendored/puppet/lib/puppet/ssl/key.rb +63 -0
  1049. data/vendored/puppet/lib/puppet/ssl/oids.rb +187 -0
  1050. data/vendored/puppet/lib/puppet/ssl/validator.rb +60 -0
  1051. data/vendored/puppet/lib/puppet/ssl/validator/default_validator.rb +173 -0
  1052. data/vendored/puppet/lib/puppet/ssl/validator/no_validator.rb +20 -0
  1053. data/vendored/puppet/lib/puppet/status.rb +40 -0
  1054. data/vendored/puppet/lib/puppet/syntax_checkers.rb +3 -0
  1055. data/vendored/puppet/lib/puppet/syntax_checkers/base64.rb +41 -0
  1056. data/vendored/puppet/lib/puppet/syntax_checkers/json.rb +35 -0
  1057. data/vendored/puppet/lib/puppet/test/test_helper.rb +252 -0
  1058. data/vendored/puppet/lib/puppet/transaction.rb +417 -0
  1059. data/vendored/puppet/lib/puppet/transaction/additional_resource_generator.rb +220 -0
  1060. data/vendored/puppet/lib/puppet/transaction/event.rb +144 -0
  1061. data/vendored/puppet/lib/puppet/transaction/event_manager.rb +167 -0
  1062. data/vendored/puppet/lib/puppet/transaction/persistence.rb +84 -0
  1063. data/vendored/puppet/lib/puppet/transaction/report.rb +460 -0
  1064. data/vendored/puppet/lib/puppet/transaction/resource_harness.rb +318 -0
  1065. data/vendored/puppet/lib/puppet/type.rb +2664 -0
  1066. data/vendored/puppet/lib/puppet/type/augeas.rb +211 -0
  1067. data/vendored/puppet/lib/puppet/type/component.rb +88 -0
  1068. data/vendored/puppet/lib/puppet/type/computer.rb +66 -0
  1069. data/vendored/puppet/lib/puppet/type/cron.rb +475 -0
  1070. data/vendored/puppet/lib/puppet/type/exec.rb +622 -0
  1071. data/vendored/puppet/lib/puppet/type/file.rb +1039 -0
  1072. data/vendored/puppet/lib/puppet/type/file/checksum.rb +44 -0
  1073. data/vendored/puppet/lib/puppet/type/file/checksum_value.rb +53 -0
  1074. data/vendored/puppet/lib/puppet/type/file/content.rb +160 -0
  1075. data/vendored/puppet/lib/puppet/type/file/ctime.rb +20 -0
  1076. data/vendored/puppet/lib/puppet/type/file/data_sync.rb +92 -0
  1077. data/vendored/puppet/lib/puppet/type/file/ensure.rb +192 -0
  1078. data/vendored/puppet/lib/puppet/type/file/group.rb +41 -0
  1079. data/vendored/puppet/lib/puppet/type/file/mode.rb +177 -0
  1080. data/vendored/puppet/lib/puppet/type/file/mtime.rb +18 -0
  1081. data/vendored/puppet/lib/puppet/type/file/owner.rb +44 -0
  1082. data/vendored/puppet/lib/puppet/type/file/selcontext.rb +141 -0
  1083. data/vendored/puppet/lib/puppet/type/file/source.rb +356 -0
  1084. data/vendored/puppet/lib/puppet/type/file/target.rb +87 -0
  1085. data/vendored/puppet/lib/puppet/type/file/type.rb +19 -0
  1086. data/vendored/puppet/lib/puppet/type/filebucket.rb +117 -0
  1087. data/vendored/puppet/lib/puppet/type/group.rb +206 -0
  1088. data/vendored/puppet/lib/puppet/type/host.rb +95 -0
  1089. data/vendored/puppet/lib/puppet/type/interface.rb +121 -0
  1090. data/vendored/puppet/lib/puppet/type/k5login.rb +88 -0
  1091. data/vendored/puppet/lib/puppet/type/macauthorization.rb +167 -0
  1092. data/vendored/puppet/lib/puppet/type/mailalias.rb +46 -0
  1093. data/vendored/puppet/lib/puppet/type/maillist.rb +62 -0
  1094. data/vendored/puppet/lib/puppet/type/mcx.rb +98 -0
  1095. data/vendored/puppet/lib/puppet/type/mount.rb +310 -0
  1096. data/vendored/puppet/lib/puppet/type/nagios_command.rb +3 -0
  1097. data/vendored/puppet/lib/puppet/type/nagios_contact.rb +3 -0
  1098. data/vendored/puppet/lib/puppet/type/nagios_contactgroup.rb +3 -0
  1099. data/vendored/puppet/lib/puppet/type/nagios_host.rb +3 -0
  1100. data/vendored/puppet/lib/puppet/type/nagios_hostdependency.rb +3 -0
  1101. data/vendored/puppet/lib/puppet/type/nagios_hostescalation.rb +3 -0
  1102. data/vendored/puppet/lib/puppet/type/nagios_hostextinfo.rb +3 -0
  1103. data/vendored/puppet/lib/puppet/type/nagios_hostgroup.rb +3 -0
  1104. data/vendored/puppet/lib/puppet/type/nagios_service.rb +3 -0
  1105. data/vendored/puppet/lib/puppet/type/nagios_servicedependency.rb +3 -0
  1106. data/vendored/puppet/lib/puppet/type/nagios_serviceescalation.rb +3 -0
  1107. data/vendored/puppet/lib/puppet/type/nagios_serviceextinfo.rb +3 -0
  1108. data/vendored/puppet/lib/puppet/type/nagios_servicegroup.rb +3 -0
  1109. data/vendored/puppet/lib/puppet/type/nagios_timeperiod.rb +3 -0
  1110. data/vendored/puppet/lib/puppet/type/notify.rb +46 -0
  1111. data/vendored/puppet/lib/puppet/type/package.rb +571 -0
  1112. data/vendored/puppet/lib/puppet/type/resources.rb +180 -0
  1113. data/vendored/puppet/lib/puppet/type/router.rb +17 -0
  1114. data/vendored/puppet/lib/puppet/type/schedule.rb +469 -0
  1115. data/vendored/puppet/lib/puppet/type/scheduled_task.rb +183 -0
  1116. data/vendored/puppet/lib/puppet/type/selboolean.rb +26 -0
  1117. data/vendored/puppet/lib/puppet/type/selmodule.rb +59 -0
  1118. data/vendored/puppet/lib/puppet/type/service.rb +258 -0
  1119. data/vendored/puppet/lib/puppet/type/ssh_authorized_key.rb +143 -0
  1120. data/vendored/puppet/lib/puppet/type/sshkey.rb +83 -0
  1121. data/vendored/puppet/lib/puppet/type/stage.rb +27 -0
  1122. data/vendored/puppet/lib/puppet/type/tidy.rb +336 -0
  1123. data/vendored/puppet/lib/puppet/type/user.rb +770 -0
  1124. data/vendored/puppet/lib/puppet/type/vlan.rb +26 -0
  1125. data/vendored/puppet/lib/puppet/type/whit.rb +34 -0
  1126. data/vendored/puppet/lib/puppet/type/yumrepo.rb +409 -0
  1127. data/vendored/puppet/lib/puppet/type/zfs.rb +150 -0
  1128. data/vendored/puppet/lib/puppet/type/zone.rb +382 -0
  1129. data/vendored/puppet/lib/puppet/type/zpool.rb +91 -0
  1130. data/vendored/puppet/lib/puppet/util.rb +705 -0
  1131. data/vendored/puppet/lib/puppet/util/at_fork.rb +35 -0
  1132. data/vendored/puppet/lib/puppet/util/at_fork/noop.rb +18 -0
  1133. data/vendored/puppet/lib/puppet/util/at_fork/solaris.rb +158 -0
  1134. data/vendored/puppet/lib/puppet/util/autoload.rb +226 -0
  1135. data/vendored/puppet/lib/puppet/util/backups.rb +86 -0
  1136. data/vendored/puppet/lib/puppet/util/character_encoding.rb +98 -0
  1137. data/vendored/puppet/lib/puppet/util/checksums.rb +282 -0
  1138. data/vendored/puppet/lib/puppet/util/classgen.rb +228 -0
  1139. data/vendored/puppet/lib/puppet/util/colors.rb +100 -0
  1140. data/vendored/puppet/lib/puppet/util/command_line.rb +185 -0
  1141. data/vendored/puppet/lib/puppet/util/command_line/puppet_option_parser.rb +87 -0
  1142. data/vendored/puppet/lib/puppet/util/command_line/trollop.rb +824 -0
  1143. data/vendored/puppet/lib/puppet/util/constant_inflector.rb +24 -0
  1144. data/vendored/puppet/lib/puppet/util/diff.rb +79 -0
  1145. data/vendored/puppet/lib/puppet/util/docs.rb +128 -0
  1146. data/vendored/puppet/lib/puppet/util/errors.rb +108 -0
  1147. data/vendored/puppet/lib/puppet/util/execution.rb +412 -0
  1148. data/vendored/puppet/lib/puppet/util/execution_stub.rb +26 -0
  1149. data/vendored/puppet/lib/puppet/util/feature.rb +95 -0
  1150. data/vendored/puppet/lib/puppet/util/file_watcher.rb +28 -0
  1151. data/vendored/puppet/lib/puppet/util/fileparsing.rb +377 -0
  1152. data/vendored/puppet/lib/puppet/util/filetype.rb +309 -0
  1153. data/vendored/puppet/lib/puppet/util/http_proxy.rb +197 -0
  1154. data/vendored/puppet/lib/puppet/util/inifile.rb +341 -0
  1155. data/vendored/puppet/lib/puppet/util/instance_loader.rb +81 -0
  1156. data/vendored/puppet/lib/puppet/util/json_lockfile.rb +44 -0
  1157. data/vendored/puppet/lib/puppet/util/ldap.rb +2 -0
  1158. data/vendored/puppet/lib/puppet/util/ldap/connection.rb +71 -0
  1159. data/vendored/puppet/lib/puppet/util/ldap/generator.rb +42 -0
  1160. data/vendored/puppet/lib/puppet/util/ldap/manager.rb +278 -0
  1161. data/vendored/puppet/lib/puppet/util/libuser.conf +15 -0
  1162. data/vendored/puppet/lib/puppet/util/libuser.rb +12 -0
  1163. data/vendored/puppet/lib/puppet/util/limits.rb +12 -0
  1164. data/vendored/puppet/lib/puppet/util/lockfile.rb +66 -0
  1165. data/vendored/puppet/lib/puppet/util/log.rb +423 -0
  1166. data/vendored/puppet/lib/puppet/util/log/destination.rb +49 -0
  1167. data/vendored/puppet/lib/puppet/util/log/destinations.rb +249 -0
  1168. data/vendored/puppet/lib/puppet/util/logging.rb +318 -0
  1169. data/vendored/puppet/lib/puppet/util/metaid.rb +21 -0
  1170. data/vendored/puppet/lib/puppet/util/methodhelper.rb +32 -0
  1171. data/vendored/puppet/lib/puppet/util/metric.rb +64 -0
  1172. data/vendored/puppet/lib/puppet/util/monkey_patches.rb +108 -0
  1173. data/vendored/puppet/lib/puppet/util/multi_match.rb +51 -0
  1174. data/vendored/puppet/lib/puppet/util/nagios_maker.rb +85 -0
  1175. data/vendored/puppet/lib/puppet/util/network_device.rb +17 -0
  1176. data/vendored/puppet/lib/puppet/util/network_device/base.rb +23 -0
  1177. data/vendored/puppet/lib/puppet/util/network_device/cisco.rb +4 -0
  1178. data/vendored/puppet/lib/puppet/util/network_device/cisco/device.rb +285 -0
  1179. data/vendored/puppet/lib/puppet/util/network_device/cisco/facts.rb +72 -0
  1180. data/vendored/puppet/lib/puppet/util/network_device/cisco/interface.rb +94 -0
  1181. data/vendored/puppet/lib/puppet/util/network_device/config.rb +98 -0
  1182. data/vendored/puppet/lib/puppet/util/network_device/ipcalc.rb +68 -0
  1183. data/vendored/puppet/lib/puppet/util/network_device/transport.rb +5 -0
  1184. data/vendored/puppet/lib/puppet/util/network_device/transport/base.rb +26 -0
  1185. data/vendored/puppet/lib/puppet/util/network_device/transport/ssh.rb +126 -0
  1186. data/vendored/puppet/lib/puppet/util/network_device/transport/telnet.rb +47 -0
  1187. data/vendored/puppet/lib/puppet/util/package.rb +31 -0
  1188. data/vendored/puppet/lib/puppet/util/pidlock.rb +62 -0
  1189. data/vendored/puppet/lib/puppet/util/platform.rb +22 -0
  1190. data/vendored/puppet/lib/puppet/util/plist.rb +153 -0
  1191. data/vendored/puppet/lib/puppet/util/posix.rb +137 -0
  1192. data/vendored/puppet/lib/puppet/util/profiler.rb +53 -0
  1193. data/vendored/puppet/lib/puppet/util/profiler/aggregate.rb +85 -0
  1194. data/vendored/puppet/lib/puppet/util/profiler/around_profiler.rb +67 -0
  1195. data/vendored/puppet/lib/puppet/util/profiler/logging.rb +48 -0
  1196. data/vendored/puppet/lib/puppet/util/profiler/object_counts.rb +17 -0
  1197. data/vendored/puppet/lib/puppet/util/profiler/wall_clock.rb +35 -0
  1198. data/vendored/puppet/lib/puppet/util/provider_features.rb +184 -0
  1199. data/vendored/puppet/lib/puppet/util/psych_support.rb +30 -0
  1200. data/vendored/puppet/lib/puppet/util/rdoc.rb +60 -0
  1201. data/vendored/puppet/lib/puppet/util/rdoc/code_objects.rb +294 -0
  1202. data/vendored/puppet/lib/puppet/util/rdoc/generators/puppet_generator.rb +910 -0
  1203. data/vendored/puppet/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +1085 -0
  1204. data/vendored/puppet/lib/puppet/util/rdoc/parser.rb +12 -0
  1205. data/vendored/puppet/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +259 -0
  1206. data/vendored/puppet/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +14 -0
  1207. data/vendored/puppet/lib/puppet/util/reference.rb +126 -0
  1208. data/vendored/puppet/lib/puppet/util/resource_template.rb +61 -0
  1209. data/vendored/puppet/lib/puppet/util/retry_action.rb +46 -0
  1210. data/vendored/puppet/lib/puppet/util/rubygems.rb +75 -0
  1211. data/vendored/puppet/lib/puppet/util/run_mode.rb +110 -0
  1212. data/vendored/puppet/lib/puppet/util/selinux.rb +264 -0
  1213. data/vendored/puppet/lib/puppet/util/skip_tags.rb +9 -0
  1214. data/vendored/puppet/lib/puppet/util/splayer.rb +18 -0
  1215. data/vendored/puppet/lib/puppet/util/ssl.rb +53 -0
  1216. data/vendored/puppet/lib/puppet/util/storage.rb +89 -0
  1217. data/vendored/puppet/lib/puppet/util/suidmanager.rb +165 -0
  1218. data/vendored/puppet/lib/puppet/util/symbolic_file_mode.rb +144 -0
  1219. data/vendored/puppet/lib/puppet/util/tag_set.rb +27 -0
  1220. data/vendored/puppet/lib/puppet/util/tagging.rb +118 -0
  1221. data/vendored/puppet/lib/puppet/util/terminal.rb +16 -0
  1222. data/vendored/puppet/lib/puppet/util/user_attr.rb +21 -0
  1223. data/vendored/puppet/lib/puppet/util/warnings.rb +33 -0
  1224. data/vendored/puppet/lib/puppet/util/watched_file.rb +37 -0
  1225. data/vendored/puppet/lib/puppet/util/watcher.rb +17 -0
  1226. data/vendored/puppet/lib/puppet/util/watcher/change_watcher.rb +33 -0
  1227. data/vendored/puppet/lib/puppet/util/watcher/periodic_watcher.rb +37 -0
  1228. data/vendored/puppet/lib/puppet/util/watcher/timer.rb +19 -0
  1229. data/vendored/puppet/lib/puppet/util/windows.rb +35 -0
  1230. data/vendored/puppet/lib/puppet/util/windows/access_control_entry.rb +84 -0
  1231. data/vendored/puppet/lib/puppet/util/windows/access_control_list.rb +113 -0
  1232. data/vendored/puppet/lib/puppet/util/windows/adsi.rb +548 -0
  1233. data/vendored/puppet/lib/puppet/util/windows/api_types.rb +282 -0
  1234. data/vendored/puppet/lib/puppet/util/windows/com.rb +224 -0
  1235. data/vendored/puppet/lib/puppet/util/windows/error.rb +83 -0
  1236. data/vendored/puppet/lib/puppet/util/windows/eventlog.rb +192 -0
  1237. data/vendored/puppet/lib/puppet/util/windows/file.rb +488 -0
  1238. data/vendored/puppet/lib/puppet/util/windows/principal.rb +191 -0
  1239. data/vendored/puppet/lib/puppet/util/windows/process.rb +497 -0
  1240. data/vendored/puppet/lib/puppet/util/windows/registry.rb +374 -0
  1241. data/vendored/puppet/lib/puppet/util/windows/root_certs.rb +108 -0
  1242. data/vendored/puppet/lib/puppet/util/windows/security.rb +857 -0
  1243. data/vendored/puppet/lib/puppet/util/windows/security_descriptor.rb +62 -0
  1244. data/vendored/puppet/lib/puppet/util/windows/sid.rb +231 -0
  1245. data/vendored/puppet/lib/puppet/util/windows/string.rb +16 -0
  1246. data/vendored/puppet/lib/puppet/util/windows/taskscheduler.rb +1276 -0
  1247. data/vendored/puppet/lib/puppet/util/windows/user.rb +309 -0
  1248. data/vendored/puppet/lib/puppet/util/yaml.rb +36 -0
  1249. data/vendored/puppet/lib/puppet/vendor.rb +57 -0
  1250. data/vendored/puppet/lib/puppet/vendor/deep_merge/CHANGELOG +45 -0
  1251. data/vendored/puppet/lib/puppet/vendor/deep_merge/Gemfile +3 -0
  1252. data/vendored/puppet/lib/puppet/vendor/deep_merge/LICENSE +21 -0
  1253. data/vendored/puppet/lib/puppet/vendor/deep_merge/PUPPET_README.md +6 -0
  1254. data/vendored/puppet/lib/puppet/vendor/deep_merge/README.md +113 -0
  1255. data/vendored/puppet/lib/puppet/vendor/deep_merge/Rakefile +19 -0
  1256. data/vendored/puppet/lib/puppet/vendor/deep_merge/deep_merge.gemspec +35 -0
  1257. data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge.rb +2 -0
  1258. data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge/core.rb +210 -0
  1259. data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge/deep_merge_hash.rb +28 -0
  1260. data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge/rails_compat.rb +27 -0
  1261. data/vendored/puppet/lib/puppet/vendor/deep_merge/test/test_deep_merge.rb +608 -0
  1262. data/vendored/puppet/lib/puppet/vendor/load_deep_merge.rb +1 -0
  1263. data/vendored/puppet/lib/puppet/vendor/load_pathspec.rb +1 -0
  1264. data/vendored/puppet/lib/puppet/vendor/load_semantic.rb +1 -0
  1265. data/vendored/puppet/lib/puppet/vendor/load_semantic_puppet.rb +1 -0
  1266. data/vendored/puppet/lib/puppet/vendor/pathspec/CHANGELOG.md +2 -0
  1267. data/vendored/puppet/lib/puppet/vendor/pathspec/LICENSE +201 -0
  1268. data/vendored/puppet/lib/puppet/vendor/pathspec/PUPPET_README.md +6 -0
  1269. data/vendored/puppet/lib/puppet/vendor/pathspec/README.md +53 -0
  1270. data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec.rb +122 -0
  1271. data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +275 -0
  1272. data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +17 -0
  1273. data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +14 -0
  1274. data/vendored/puppet/lib/puppet/vendor/require_vendored.rb +6 -0
  1275. data/vendored/puppet/lib/puppet/vendor/semantic/lib/semantic.rb +5 -0
  1276. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet.rb +7 -0
  1277. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency.rb +181 -0
  1278. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/graph.rb +60 -0
  1279. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/graph_node.rb +117 -0
  1280. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/module_release.rb +58 -0
  1281. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/source.rb +25 -0
  1282. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/unsatisfiable_graph.rb +31 -0
  1283. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/gem_version.rb +3 -0
  1284. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version.rb +203 -0
  1285. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version_range.rb +758 -0
  1286. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/locales/config.yaml +21 -0
  1287. data/vendored/puppet/lib/puppet/version.rb +93 -0
  1288. data/vendored/puppet/lib/puppet_pal.rb +290 -0
  1289. data/vendored/puppet/lib/puppet_x.rb +14 -0
  1290. data/vendored/require_vendored.rb +11 -0
  1291. metadata +1501 -9
@@ -0,0 +1,4870 @@
1
+ # # Generated by Puppet::Pops::Types::RubyGenerator from TypeSet Puppet::AST on -4712-01-01
2
+
3
+ module Puppet
4
+ module Pops
5
+ module Model
6
+ class PopsObject
7
+ def self._pcore_type
8
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::PopsObject', {
9
+ })
10
+ end
11
+
12
+ include Types::PuppetObject
13
+
14
+ def self.from_hash(init_hash)
15
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::PopsObject initializer', _pcore_type.init_hash_type, init_hash))
16
+ end
17
+
18
+ def self.from_asserted_hash(init_hash)
19
+ new
20
+ end
21
+
22
+ def self.create
23
+ new
24
+ end
25
+ attr_reader :hash
26
+
27
+ def initialize
28
+ @hash = 2270595461303489901
29
+ end
30
+ def _pcore_init_hash
31
+ {}
32
+ end
33
+
34
+ def _pcore_contents
35
+ end
36
+
37
+ def _pcore_all_contents(path)
38
+ end
39
+
40
+ def to_s
41
+ Types::TypeFormatter.string(self)
42
+ end
43
+
44
+ def eql?(o)
45
+ o.instance_of?(self.class)
46
+ end
47
+ alias == eql?
48
+ end
49
+
50
+ class Positioned < PopsObject
51
+ def self._pcore_type
52
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::Positioned', {
53
+ 'parent' => PopsObject._pcore_type,
54
+ 'attributes' => {
55
+ 'locator' => {
56
+ 'type' => Parser::Locator::Locator19._pcore_type,
57
+ 'kind' => 'reference'
58
+ },
59
+ 'offset' => Types::PIntegerType::DEFAULT,
60
+ 'length' => Types::PIntegerType::DEFAULT,
61
+ 'file' => {
62
+ 'type' => Types::PStringType::DEFAULT,
63
+ 'kind' => 'derived'
64
+ },
65
+ 'line' => {
66
+ 'type' => Types::PIntegerType::DEFAULT,
67
+ 'kind' => 'derived'
68
+ },
69
+ 'pos' => {
70
+ 'type' => Types::PIntegerType::DEFAULT,
71
+ 'kind' => 'derived'
72
+ }
73
+ },
74
+ 'equality' => []
75
+ })
76
+ end
77
+
78
+ def self.from_hash(init_hash)
79
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::Positioned initializer', _pcore_type.init_hash_type, init_hash))
80
+ end
81
+
82
+ def self.from_asserted_hash(init_hash)
83
+ new(
84
+ init_hash['locator'],
85
+ init_hash['offset'],
86
+ init_hash['length'])
87
+ end
88
+
89
+ def self.create(locator, offset, length)
90
+ ta = Types::TypeAsserter
91
+ attrs = _pcore_type.attributes(true)
92
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
93
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
94
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
95
+ new(locator, offset, length)
96
+ end
97
+
98
+ attr_reader :locator
99
+ attr_reader :offset
100
+ attr_reader :length
101
+
102
+ def file
103
+ @locator.file
104
+ end
105
+
106
+ def line
107
+ @locator.line_for_offset(@offset)
108
+ end
109
+
110
+ def pos
111
+ @locator.pos_on_line(@offset)
112
+ end
113
+
114
+ def initialize(locator, offset, length)
115
+ super()
116
+ @locator = locator
117
+ @offset = offset
118
+ @length = length
119
+ end
120
+
121
+ def _pcore_init_hash
122
+ result = super
123
+ result['locator'] = @locator
124
+ result['offset'] = @offset
125
+ result['length'] = @length
126
+ result
127
+ end
128
+ end
129
+
130
+ class Expression < Positioned
131
+ def self._pcore_type
132
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::Expression', {
133
+ 'parent' => Positioned._pcore_type
134
+ })
135
+ end
136
+ end
137
+
138
+ class Nop < Expression
139
+ def self._pcore_type
140
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::Nop', {
141
+ 'parent' => Expression._pcore_type
142
+ })
143
+ end
144
+ end
145
+
146
+ class BinaryExpression < Expression
147
+ def self._pcore_type
148
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::BinaryExpression', {
149
+ 'parent' => Expression._pcore_type,
150
+ 'attributes' => {
151
+ 'left_expr' => Expression._pcore_type,
152
+ 'right_expr' => Expression._pcore_type
153
+ }
154
+ })
155
+ end
156
+
157
+ def self.from_hash(init_hash)
158
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::BinaryExpression initializer', _pcore_type.init_hash_type, init_hash))
159
+ end
160
+
161
+ def self.from_asserted_hash(init_hash)
162
+ new(
163
+ init_hash['locator'],
164
+ init_hash['offset'],
165
+ init_hash['length'],
166
+ init_hash['left_expr'],
167
+ init_hash['right_expr'])
168
+ end
169
+
170
+ def self.create(locator, offset, length, left_expr, right_expr)
171
+ ta = Types::TypeAsserter
172
+ attrs = _pcore_type.attributes(true)
173
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
174
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
175
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
176
+ ta.assert_instance_of('Puppet::AST::BinaryExpression[left_expr]', attrs['left_expr'].type, left_expr)
177
+ ta.assert_instance_of('Puppet::AST::BinaryExpression[right_expr]', attrs['right_expr'].type, right_expr)
178
+ new(locator, offset, length, left_expr, right_expr)
179
+ end
180
+
181
+ attr_reader :left_expr
182
+ attr_reader :right_expr
183
+
184
+ def initialize(locator, offset, length, left_expr, right_expr)
185
+ super(locator, offset, length)
186
+ @hash = @hash ^ left_expr.hash ^ right_expr.hash
187
+ @left_expr = left_expr
188
+ @right_expr = right_expr
189
+ end
190
+
191
+ def _pcore_init_hash
192
+ result = super
193
+ result['left_expr'] = @left_expr
194
+ result['right_expr'] = @right_expr
195
+ result
196
+ end
197
+
198
+ def _pcore_contents
199
+ yield(@left_expr) unless @left_expr.nil?
200
+ yield(@right_expr) unless @right_expr.nil?
201
+ end
202
+
203
+ def _pcore_all_contents(path, &block)
204
+ path << self
205
+ unless @left_expr.nil?
206
+ block.call(@left_expr, path)
207
+ @left_expr._pcore_all_contents(path, &block)
208
+ end
209
+ unless @right_expr.nil?
210
+ block.call(@right_expr, path)
211
+ @right_expr._pcore_all_contents(path, &block)
212
+ end
213
+ path.pop
214
+ end
215
+
216
+ def eql?(o)
217
+ super &&
218
+ @left_expr.eql?(o.left_expr) &&
219
+ @right_expr.eql?(o.right_expr)
220
+ end
221
+ alias == eql?
222
+ end
223
+
224
+ class UnaryExpression < Expression
225
+ def self._pcore_type
226
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::UnaryExpression', {
227
+ 'parent' => Expression._pcore_type,
228
+ 'attributes' => {
229
+ 'expr' => Expression._pcore_type
230
+ }
231
+ })
232
+ end
233
+
234
+ def self.from_hash(init_hash)
235
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::UnaryExpression initializer', _pcore_type.init_hash_type, init_hash))
236
+ end
237
+
238
+ def self.from_asserted_hash(init_hash)
239
+ new(
240
+ init_hash['locator'],
241
+ init_hash['offset'],
242
+ init_hash['length'],
243
+ init_hash['expr'])
244
+ end
245
+
246
+ def self.create(locator, offset, length, expr)
247
+ ta = Types::TypeAsserter
248
+ attrs = _pcore_type.attributes(true)
249
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
250
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
251
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
252
+ ta.assert_instance_of('Puppet::AST::UnaryExpression[expr]', attrs['expr'].type, expr)
253
+ new(locator, offset, length, expr)
254
+ end
255
+
256
+ attr_reader :expr
257
+
258
+ def initialize(locator, offset, length, expr)
259
+ super(locator, offset, length)
260
+ @hash = @hash ^ expr.hash
261
+ @expr = expr
262
+ end
263
+
264
+ def _pcore_init_hash
265
+ result = super
266
+ result['expr'] = @expr
267
+ result
268
+ end
269
+
270
+ def _pcore_contents
271
+ yield(@expr) unless @expr.nil?
272
+ end
273
+
274
+ def _pcore_all_contents(path, &block)
275
+ path << self
276
+ unless @expr.nil?
277
+ block.call(@expr, path)
278
+ @expr._pcore_all_contents(path, &block)
279
+ end
280
+ path.pop
281
+ end
282
+
283
+ def eql?(o)
284
+ super &&
285
+ @expr.eql?(o.expr)
286
+ end
287
+ alias == eql?
288
+ end
289
+
290
+ class ParenthesizedExpression < UnaryExpression
291
+ def self._pcore_type
292
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::ParenthesizedExpression', {
293
+ 'parent' => UnaryExpression._pcore_type
294
+ })
295
+ end
296
+
297
+ def _pcore_contents
298
+ yield(@expr) unless @expr.nil?
299
+ end
300
+
301
+ def _pcore_all_contents(path, &block)
302
+ path << self
303
+ unless @expr.nil?
304
+ block.call(@expr, path)
305
+ @expr._pcore_all_contents(path, &block)
306
+ end
307
+ path.pop
308
+ end
309
+ end
310
+
311
+ class NotExpression < UnaryExpression
312
+ def self._pcore_type
313
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::NotExpression', {
314
+ 'parent' => UnaryExpression._pcore_type
315
+ })
316
+ end
317
+
318
+ def _pcore_contents
319
+ yield(@expr) unless @expr.nil?
320
+ end
321
+
322
+ def _pcore_all_contents(path, &block)
323
+ path << self
324
+ unless @expr.nil?
325
+ block.call(@expr, path)
326
+ @expr._pcore_all_contents(path, &block)
327
+ end
328
+ path.pop
329
+ end
330
+ end
331
+
332
+ class UnaryMinusExpression < UnaryExpression
333
+ def self._pcore_type
334
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::UnaryMinusExpression', {
335
+ 'parent' => UnaryExpression._pcore_type
336
+ })
337
+ end
338
+
339
+ def _pcore_contents
340
+ yield(@expr) unless @expr.nil?
341
+ end
342
+
343
+ def _pcore_all_contents(path, &block)
344
+ path << self
345
+ unless @expr.nil?
346
+ block.call(@expr, path)
347
+ @expr._pcore_all_contents(path, &block)
348
+ end
349
+ path.pop
350
+ end
351
+ end
352
+
353
+ class UnfoldExpression < UnaryExpression
354
+ def self._pcore_type
355
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::UnfoldExpression', {
356
+ 'parent' => UnaryExpression._pcore_type
357
+ })
358
+ end
359
+
360
+ def _pcore_contents
361
+ yield(@expr) unless @expr.nil?
362
+ end
363
+
364
+ def _pcore_all_contents(path, &block)
365
+ path << self
366
+ unless @expr.nil?
367
+ block.call(@expr, path)
368
+ @expr._pcore_all_contents(path, &block)
369
+ end
370
+ path.pop
371
+ end
372
+ end
373
+
374
+ class AssignmentExpression < BinaryExpression
375
+ def self._pcore_type
376
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::AssignmentExpression', {
377
+ 'parent' => BinaryExpression._pcore_type,
378
+ 'attributes' => {
379
+ 'operator' => Types::PEnumType.new(['+=', '-=', '='])
380
+ }
381
+ })
382
+ end
383
+
384
+ def self.from_hash(init_hash)
385
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::AssignmentExpression initializer', _pcore_type.init_hash_type, init_hash))
386
+ end
387
+
388
+ def self.from_asserted_hash(init_hash)
389
+ new(
390
+ init_hash['locator'],
391
+ init_hash['offset'],
392
+ init_hash['length'],
393
+ init_hash['left_expr'],
394
+ init_hash['right_expr'],
395
+ init_hash['operator'])
396
+ end
397
+
398
+ def self.create(locator, offset, length, left_expr, right_expr, operator)
399
+ ta = Types::TypeAsserter
400
+ attrs = _pcore_type.attributes(true)
401
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
402
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
403
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
404
+ ta.assert_instance_of('Puppet::AST::BinaryExpression[left_expr]', attrs['left_expr'].type, left_expr)
405
+ ta.assert_instance_of('Puppet::AST::BinaryExpression[right_expr]', attrs['right_expr'].type, right_expr)
406
+ ta.assert_instance_of('Puppet::AST::AssignmentExpression[operator]', attrs['operator'].type, operator)
407
+ new(locator, offset, length, left_expr, right_expr, operator)
408
+ end
409
+
410
+ attr_reader :operator
411
+
412
+ def initialize(locator, offset, length, left_expr, right_expr, operator)
413
+ super(locator, offset, length, left_expr, right_expr)
414
+ @hash = @hash ^ operator.hash
415
+ @operator = operator
416
+ end
417
+
418
+ def _pcore_init_hash
419
+ result = super
420
+ result['operator'] = @operator
421
+ result
422
+ end
423
+
424
+ def _pcore_contents
425
+ yield(@left_expr) unless @left_expr.nil?
426
+ yield(@right_expr) unless @right_expr.nil?
427
+ end
428
+
429
+ def _pcore_all_contents(path, &block)
430
+ path << self
431
+ unless @left_expr.nil?
432
+ block.call(@left_expr, path)
433
+ @left_expr._pcore_all_contents(path, &block)
434
+ end
435
+ unless @right_expr.nil?
436
+ block.call(@right_expr, path)
437
+ @right_expr._pcore_all_contents(path, &block)
438
+ end
439
+ path.pop
440
+ end
441
+
442
+ def eql?(o)
443
+ super &&
444
+ @operator.eql?(o.operator)
445
+ end
446
+ alias == eql?
447
+ end
448
+
449
+ class ArithmeticExpression < BinaryExpression
450
+ def self._pcore_type
451
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::ArithmeticExpression', {
452
+ 'parent' => BinaryExpression._pcore_type,
453
+ 'attributes' => {
454
+ 'operator' => Types::PEnumType.new(['%', '*', '+', '-', '/', '<<', '>>'])
455
+ }
456
+ })
457
+ end
458
+
459
+ def self.from_hash(init_hash)
460
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::ArithmeticExpression initializer', _pcore_type.init_hash_type, init_hash))
461
+ end
462
+
463
+ def self.from_asserted_hash(init_hash)
464
+ new(
465
+ init_hash['locator'],
466
+ init_hash['offset'],
467
+ init_hash['length'],
468
+ init_hash['left_expr'],
469
+ init_hash['right_expr'],
470
+ init_hash['operator'])
471
+ end
472
+
473
+ def self.create(locator, offset, length, left_expr, right_expr, operator)
474
+ ta = Types::TypeAsserter
475
+ attrs = _pcore_type.attributes(true)
476
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
477
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
478
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
479
+ ta.assert_instance_of('Puppet::AST::BinaryExpression[left_expr]', attrs['left_expr'].type, left_expr)
480
+ ta.assert_instance_of('Puppet::AST::BinaryExpression[right_expr]', attrs['right_expr'].type, right_expr)
481
+ ta.assert_instance_of('Puppet::AST::ArithmeticExpression[operator]', attrs['operator'].type, operator)
482
+ new(locator, offset, length, left_expr, right_expr, operator)
483
+ end
484
+
485
+ attr_reader :operator
486
+
487
+ def initialize(locator, offset, length, left_expr, right_expr, operator)
488
+ super(locator, offset, length, left_expr, right_expr)
489
+ @hash = @hash ^ operator.hash
490
+ @operator = operator
491
+ end
492
+
493
+ def _pcore_init_hash
494
+ result = super
495
+ result['operator'] = @operator
496
+ result
497
+ end
498
+
499
+ def _pcore_contents
500
+ yield(@left_expr) unless @left_expr.nil?
501
+ yield(@right_expr) unless @right_expr.nil?
502
+ end
503
+
504
+ def _pcore_all_contents(path, &block)
505
+ path << self
506
+ unless @left_expr.nil?
507
+ block.call(@left_expr, path)
508
+ @left_expr._pcore_all_contents(path, &block)
509
+ end
510
+ unless @right_expr.nil?
511
+ block.call(@right_expr, path)
512
+ @right_expr._pcore_all_contents(path, &block)
513
+ end
514
+ path.pop
515
+ end
516
+
517
+ def eql?(o)
518
+ super &&
519
+ @operator.eql?(o.operator)
520
+ end
521
+ alias == eql?
522
+ end
523
+
524
+ class RelationshipExpression < BinaryExpression
525
+ def self._pcore_type
526
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::RelationshipExpression', {
527
+ 'parent' => BinaryExpression._pcore_type,
528
+ 'attributes' => {
529
+ 'operator' => Types::PEnumType.new(['->', '<-', '<~', '~>'])
530
+ }
531
+ })
532
+ end
533
+
534
+ def self.from_hash(init_hash)
535
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::RelationshipExpression initializer', _pcore_type.init_hash_type, init_hash))
536
+ end
537
+
538
+ def self.from_asserted_hash(init_hash)
539
+ new(
540
+ init_hash['locator'],
541
+ init_hash['offset'],
542
+ init_hash['length'],
543
+ init_hash['left_expr'],
544
+ init_hash['right_expr'],
545
+ init_hash['operator'])
546
+ end
547
+
548
+ def self.create(locator, offset, length, left_expr, right_expr, operator)
549
+ ta = Types::TypeAsserter
550
+ attrs = _pcore_type.attributes(true)
551
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
552
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
553
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
554
+ ta.assert_instance_of('Puppet::AST::BinaryExpression[left_expr]', attrs['left_expr'].type, left_expr)
555
+ ta.assert_instance_of('Puppet::AST::BinaryExpression[right_expr]', attrs['right_expr'].type, right_expr)
556
+ ta.assert_instance_of('Puppet::AST::RelationshipExpression[operator]', attrs['operator'].type, operator)
557
+ new(locator, offset, length, left_expr, right_expr, operator)
558
+ end
559
+
560
+ attr_reader :operator
561
+
562
+ def initialize(locator, offset, length, left_expr, right_expr, operator)
563
+ super(locator, offset, length, left_expr, right_expr)
564
+ @hash = @hash ^ operator.hash
565
+ @operator = operator
566
+ end
567
+
568
+ def _pcore_init_hash
569
+ result = super
570
+ result['operator'] = @operator
571
+ result
572
+ end
573
+
574
+ def _pcore_contents
575
+ yield(@left_expr) unless @left_expr.nil?
576
+ yield(@right_expr) unless @right_expr.nil?
577
+ end
578
+
579
+ def _pcore_all_contents(path, &block)
580
+ path << self
581
+ unless @left_expr.nil?
582
+ block.call(@left_expr, path)
583
+ @left_expr._pcore_all_contents(path, &block)
584
+ end
585
+ unless @right_expr.nil?
586
+ block.call(@right_expr, path)
587
+ @right_expr._pcore_all_contents(path, &block)
588
+ end
589
+ path.pop
590
+ end
591
+
592
+ def eql?(o)
593
+ super &&
594
+ @operator.eql?(o.operator)
595
+ end
596
+ alias == eql?
597
+ end
598
+
599
+ class AccessExpression < Expression
600
+ def self._pcore_type
601
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::AccessExpression', {
602
+ 'parent' => Expression._pcore_type,
603
+ 'attributes' => {
604
+ 'left_expr' => Expression._pcore_type,
605
+ 'keys' => {
606
+ 'type' => Types::PArrayType.new(Expression._pcore_type),
607
+ 'value' => []
608
+ }
609
+ }
610
+ })
611
+ end
612
+
613
+ def self.from_hash(init_hash)
614
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::AccessExpression initializer', _pcore_type.init_hash_type, init_hash))
615
+ end
616
+
617
+ def self.from_asserted_hash(init_hash)
618
+ new(
619
+ init_hash['locator'],
620
+ init_hash['offset'],
621
+ init_hash['length'],
622
+ init_hash['left_expr'],
623
+ init_hash.fetch('keys') { _pcore_type['keys'].value })
624
+ end
625
+
626
+ def self.create(locator, offset, length, left_expr, keys = _pcore_type['keys'].value)
627
+ ta = Types::TypeAsserter
628
+ attrs = _pcore_type.attributes(true)
629
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
630
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
631
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
632
+ ta.assert_instance_of('Puppet::AST::AccessExpression[left_expr]', attrs['left_expr'].type, left_expr)
633
+ ta.assert_instance_of('Puppet::AST::AccessExpression[keys]', attrs['keys'].type, keys)
634
+ new(locator, offset, length, left_expr, keys)
635
+ end
636
+
637
+ attr_reader :left_expr
638
+ attr_reader :keys
639
+
640
+ def initialize(locator, offset, length, left_expr, keys = _pcore_type['keys'].value)
641
+ super(locator, offset, length)
642
+ @hash = @hash ^ left_expr.hash ^ keys.hash
643
+ @left_expr = left_expr
644
+ @keys = keys
645
+ end
646
+
647
+ def _pcore_init_hash
648
+ result = super
649
+ result['left_expr'] = @left_expr
650
+ result['keys'] = @keys unless _pcore_type['keys'].default_value?(@keys)
651
+ result
652
+ end
653
+
654
+ def _pcore_contents
655
+ yield(@left_expr) unless @left_expr.nil?
656
+ @keys.each { |value| yield(value) }
657
+ end
658
+
659
+ def _pcore_all_contents(path, &block)
660
+ path << self
661
+ unless @left_expr.nil?
662
+ block.call(@left_expr, path)
663
+ @left_expr._pcore_all_contents(path, &block)
664
+ end
665
+ @keys.each do |value|
666
+ block.call(value, path)
667
+ value._pcore_all_contents(path, &block)
668
+ end
669
+ path.pop
670
+ end
671
+
672
+ def eql?(o)
673
+ super &&
674
+ @left_expr.eql?(o.left_expr) &&
675
+ @keys.eql?(o.keys)
676
+ end
677
+ alias == eql?
678
+ end
679
+
680
+ class ComparisonExpression < BinaryExpression
681
+ def self._pcore_type
682
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::ComparisonExpression', {
683
+ 'parent' => BinaryExpression._pcore_type,
684
+ 'attributes' => {
685
+ 'operator' => Types::PEnumType.new(['!=', '<', '<=', '==', '>', '>='])
686
+ }
687
+ })
688
+ end
689
+
690
+ def self.from_hash(init_hash)
691
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::ComparisonExpression initializer', _pcore_type.init_hash_type, init_hash))
692
+ end
693
+
694
+ def self.from_asserted_hash(init_hash)
695
+ new(
696
+ init_hash['locator'],
697
+ init_hash['offset'],
698
+ init_hash['length'],
699
+ init_hash['left_expr'],
700
+ init_hash['right_expr'],
701
+ init_hash['operator'])
702
+ end
703
+
704
+ def self.create(locator, offset, length, left_expr, right_expr, operator)
705
+ ta = Types::TypeAsserter
706
+ attrs = _pcore_type.attributes(true)
707
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
708
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
709
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
710
+ ta.assert_instance_of('Puppet::AST::BinaryExpression[left_expr]', attrs['left_expr'].type, left_expr)
711
+ ta.assert_instance_of('Puppet::AST::BinaryExpression[right_expr]', attrs['right_expr'].type, right_expr)
712
+ ta.assert_instance_of('Puppet::AST::ComparisonExpression[operator]', attrs['operator'].type, operator)
713
+ new(locator, offset, length, left_expr, right_expr, operator)
714
+ end
715
+
716
+ attr_reader :operator
717
+
718
+ def initialize(locator, offset, length, left_expr, right_expr, operator)
719
+ super(locator, offset, length, left_expr, right_expr)
720
+ @hash = @hash ^ operator.hash
721
+ @operator = operator
722
+ end
723
+
724
+ def _pcore_init_hash
725
+ result = super
726
+ result['operator'] = @operator
727
+ result
728
+ end
729
+
730
+ def _pcore_contents
731
+ yield(@left_expr) unless @left_expr.nil?
732
+ yield(@right_expr) unless @right_expr.nil?
733
+ end
734
+
735
+ def _pcore_all_contents(path, &block)
736
+ path << self
737
+ unless @left_expr.nil?
738
+ block.call(@left_expr, path)
739
+ @left_expr._pcore_all_contents(path, &block)
740
+ end
741
+ unless @right_expr.nil?
742
+ block.call(@right_expr, path)
743
+ @right_expr._pcore_all_contents(path, &block)
744
+ end
745
+ path.pop
746
+ end
747
+
748
+ def eql?(o)
749
+ super &&
750
+ @operator.eql?(o.operator)
751
+ end
752
+ alias == eql?
753
+ end
754
+
755
+ class MatchExpression < BinaryExpression
756
+ def self._pcore_type
757
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::MatchExpression', {
758
+ 'parent' => BinaryExpression._pcore_type,
759
+ 'attributes' => {
760
+ 'operator' => Types::PEnumType.new(['!~', '=~'])
761
+ }
762
+ })
763
+ end
764
+
765
+ def self.from_hash(init_hash)
766
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::MatchExpression initializer', _pcore_type.init_hash_type, init_hash))
767
+ end
768
+
769
+ def self.from_asserted_hash(init_hash)
770
+ new(
771
+ init_hash['locator'],
772
+ init_hash['offset'],
773
+ init_hash['length'],
774
+ init_hash['left_expr'],
775
+ init_hash['right_expr'],
776
+ init_hash['operator'])
777
+ end
778
+
779
+ def self.create(locator, offset, length, left_expr, right_expr, operator)
780
+ ta = Types::TypeAsserter
781
+ attrs = _pcore_type.attributes(true)
782
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
783
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
784
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
785
+ ta.assert_instance_of('Puppet::AST::BinaryExpression[left_expr]', attrs['left_expr'].type, left_expr)
786
+ ta.assert_instance_of('Puppet::AST::BinaryExpression[right_expr]', attrs['right_expr'].type, right_expr)
787
+ ta.assert_instance_of('Puppet::AST::MatchExpression[operator]', attrs['operator'].type, operator)
788
+ new(locator, offset, length, left_expr, right_expr, operator)
789
+ end
790
+
791
+ attr_reader :operator
792
+
793
+ def initialize(locator, offset, length, left_expr, right_expr, operator)
794
+ super(locator, offset, length, left_expr, right_expr)
795
+ @hash = @hash ^ operator.hash
796
+ @operator = operator
797
+ end
798
+
799
+ def _pcore_init_hash
800
+ result = super
801
+ result['operator'] = @operator
802
+ result
803
+ end
804
+
805
+ def _pcore_contents
806
+ yield(@left_expr) unless @left_expr.nil?
807
+ yield(@right_expr) unless @right_expr.nil?
808
+ end
809
+
810
+ def _pcore_all_contents(path, &block)
811
+ path << self
812
+ unless @left_expr.nil?
813
+ block.call(@left_expr, path)
814
+ @left_expr._pcore_all_contents(path, &block)
815
+ end
816
+ unless @right_expr.nil?
817
+ block.call(@right_expr, path)
818
+ @right_expr._pcore_all_contents(path, &block)
819
+ end
820
+ path.pop
821
+ end
822
+
823
+ def eql?(o)
824
+ super &&
825
+ @operator.eql?(o.operator)
826
+ end
827
+ alias == eql?
828
+ end
829
+
830
+ class InExpression < BinaryExpression
831
+ def self._pcore_type
832
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::InExpression', {
833
+ 'parent' => BinaryExpression._pcore_type
834
+ })
835
+ end
836
+
837
+ def _pcore_contents
838
+ yield(@left_expr) unless @left_expr.nil?
839
+ yield(@right_expr) unless @right_expr.nil?
840
+ end
841
+
842
+ def _pcore_all_contents(path, &block)
843
+ path << self
844
+ unless @left_expr.nil?
845
+ block.call(@left_expr, path)
846
+ @left_expr._pcore_all_contents(path, &block)
847
+ end
848
+ unless @right_expr.nil?
849
+ block.call(@right_expr, path)
850
+ @right_expr._pcore_all_contents(path, &block)
851
+ end
852
+ path.pop
853
+ end
854
+ end
855
+
856
+ class BooleanExpression < BinaryExpression
857
+ def self._pcore_type
858
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::BooleanExpression', {
859
+ 'parent' => BinaryExpression._pcore_type
860
+ })
861
+ end
862
+
863
+ def _pcore_contents
864
+ yield(@left_expr) unless @left_expr.nil?
865
+ yield(@right_expr) unless @right_expr.nil?
866
+ end
867
+
868
+ def _pcore_all_contents(path, &block)
869
+ path << self
870
+ unless @left_expr.nil?
871
+ block.call(@left_expr, path)
872
+ @left_expr._pcore_all_contents(path, &block)
873
+ end
874
+ unless @right_expr.nil?
875
+ block.call(@right_expr, path)
876
+ @right_expr._pcore_all_contents(path, &block)
877
+ end
878
+ path.pop
879
+ end
880
+ end
881
+
882
+ class AndExpression < BooleanExpression
883
+ def self._pcore_type
884
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::AndExpression', {
885
+ 'parent' => BooleanExpression._pcore_type
886
+ })
887
+ end
888
+
889
+ def _pcore_contents
890
+ yield(@left_expr) unless @left_expr.nil?
891
+ yield(@right_expr) unless @right_expr.nil?
892
+ end
893
+
894
+ def _pcore_all_contents(path, &block)
895
+ path << self
896
+ unless @left_expr.nil?
897
+ block.call(@left_expr, path)
898
+ @left_expr._pcore_all_contents(path, &block)
899
+ end
900
+ unless @right_expr.nil?
901
+ block.call(@right_expr, path)
902
+ @right_expr._pcore_all_contents(path, &block)
903
+ end
904
+ path.pop
905
+ end
906
+ end
907
+
908
+ class OrExpression < BooleanExpression
909
+ def self._pcore_type
910
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::OrExpression', {
911
+ 'parent' => BooleanExpression._pcore_type
912
+ })
913
+ end
914
+
915
+ def _pcore_contents
916
+ yield(@left_expr) unless @left_expr.nil?
917
+ yield(@right_expr) unless @right_expr.nil?
918
+ end
919
+
920
+ def _pcore_all_contents(path, &block)
921
+ path << self
922
+ unless @left_expr.nil?
923
+ block.call(@left_expr, path)
924
+ @left_expr._pcore_all_contents(path, &block)
925
+ end
926
+ unless @right_expr.nil?
927
+ block.call(@right_expr, path)
928
+ @right_expr._pcore_all_contents(path, &block)
929
+ end
930
+ path.pop
931
+ end
932
+ end
933
+
934
+ class LiteralList < Expression
935
+ def self._pcore_type
936
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::LiteralList', {
937
+ 'parent' => Expression._pcore_type,
938
+ 'attributes' => {
939
+ 'values' => {
940
+ 'type' => Types::PArrayType.new(Expression._pcore_type),
941
+ 'value' => []
942
+ }
943
+ }
944
+ })
945
+ end
946
+
947
+ def self.from_hash(init_hash)
948
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::LiteralList initializer', _pcore_type.init_hash_type, init_hash))
949
+ end
950
+
951
+ def self.from_asserted_hash(init_hash)
952
+ new(
953
+ init_hash['locator'],
954
+ init_hash['offset'],
955
+ init_hash['length'],
956
+ init_hash.fetch('values') { _pcore_type['values'].value })
957
+ end
958
+
959
+ def self.create(locator, offset, length, values = _pcore_type['values'].value)
960
+ ta = Types::TypeAsserter
961
+ attrs = _pcore_type.attributes(true)
962
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
963
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
964
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
965
+ ta.assert_instance_of('Puppet::AST::LiteralList[values]', attrs['values'].type, values)
966
+ new(locator, offset, length, values)
967
+ end
968
+
969
+ attr_reader :values
970
+
971
+ def initialize(locator, offset, length, values = _pcore_type['values'].value)
972
+ super(locator, offset, length)
973
+ @hash = @hash ^ values.hash
974
+ @values = values
975
+ end
976
+
977
+ def _pcore_init_hash
978
+ result = super
979
+ result['values'] = @values unless _pcore_type['values'].default_value?(@values)
980
+ result
981
+ end
982
+
983
+ def _pcore_contents
984
+ @values.each { |value| yield(value) }
985
+ end
986
+
987
+ def _pcore_all_contents(path, &block)
988
+ path << self
989
+ @values.each do |value|
990
+ block.call(value, path)
991
+ value._pcore_all_contents(path, &block)
992
+ end
993
+ path.pop
994
+ end
995
+
996
+ def eql?(o)
997
+ super &&
998
+ @values.eql?(o.values)
999
+ end
1000
+ alias == eql?
1001
+ end
1002
+
1003
+ class KeyedEntry < Positioned
1004
+ def self._pcore_type
1005
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::KeyedEntry', {
1006
+ 'parent' => Positioned._pcore_type,
1007
+ 'attributes' => {
1008
+ 'key' => Expression._pcore_type,
1009
+ 'value' => Expression._pcore_type
1010
+ }
1011
+ })
1012
+ end
1013
+
1014
+ def self.from_hash(init_hash)
1015
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::KeyedEntry initializer', _pcore_type.init_hash_type, init_hash))
1016
+ end
1017
+
1018
+ def self.from_asserted_hash(init_hash)
1019
+ new(
1020
+ init_hash['locator'],
1021
+ init_hash['offset'],
1022
+ init_hash['length'],
1023
+ init_hash['key'],
1024
+ init_hash['value'])
1025
+ end
1026
+
1027
+ def self.create(locator, offset, length, key, value)
1028
+ ta = Types::TypeAsserter
1029
+ attrs = _pcore_type.attributes(true)
1030
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
1031
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
1032
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
1033
+ ta.assert_instance_of('Puppet::AST::KeyedEntry[key]', attrs['key'].type, key)
1034
+ ta.assert_instance_of('Puppet::AST::KeyedEntry[value]', attrs['value'].type, value)
1035
+ new(locator, offset, length, key, value)
1036
+ end
1037
+
1038
+ attr_reader :key
1039
+ attr_reader :value
1040
+
1041
+ def initialize(locator, offset, length, key, value)
1042
+ super(locator, offset, length)
1043
+ @hash = @hash ^ key.hash ^ value.hash
1044
+ @key = key
1045
+ @value = value
1046
+ end
1047
+
1048
+ def _pcore_init_hash
1049
+ result = super
1050
+ result['key'] = @key
1051
+ result['value'] = @value
1052
+ result
1053
+ end
1054
+
1055
+ def _pcore_contents
1056
+ yield(@key) unless @key.nil?
1057
+ yield(@value) unless @value.nil?
1058
+ end
1059
+
1060
+ def _pcore_all_contents(path, &block)
1061
+ path << self
1062
+ unless @key.nil?
1063
+ block.call(@key, path)
1064
+ @key._pcore_all_contents(path, &block)
1065
+ end
1066
+ unless @value.nil?
1067
+ block.call(@value, path)
1068
+ @value._pcore_all_contents(path, &block)
1069
+ end
1070
+ path.pop
1071
+ end
1072
+
1073
+ def eql?(o)
1074
+ super &&
1075
+ @key.eql?(o.key) &&
1076
+ @value.eql?(o.value)
1077
+ end
1078
+ alias == eql?
1079
+ end
1080
+
1081
+ class LiteralHash < Expression
1082
+ def self._pcore_type
1083
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::LiteralHash', {
1084
+ 'parent' => Expression._pcore_type,
1085
+ 'attributes' => {
1086
+ 'entries' => {
1087
+ 'type' => Types::PArrayType.new(KeyedEntry._pcore_type),
1088
+ 'value' => []
1089
+ }
1090
+ }
1091
+ })
1092
+ end
1093
+
1094
+ def self.from_hash(init_hash)
1095
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::LiteralHash initializer', _pcore_type.init_hash_type, init_hash))
1096
+ end
1097
+
1098
+ def self.from_asserted_hash(init_hash)
1099
+ new(
1100
+ init_hash['locator'],
1101
+ init_hash['offset'],
1102
+ init_hash['length'],
1103
+ init_hash.fetch('entries') { _pcore_type['entries'].value })
1104
+ end
1105
+
1106
+ def self.create(locator, offset, length, entries = _pcore_type['entries'].value)
1107
+ ta = Types::TypeAsserter
1108
+ attrs = _pcore_type.attributes(true)
1109
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
1110
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
1111
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
1112
+ ta.assert_instance_of('Puppet::AST::LiteralHash[entries]', attrs['entries'].type, entries)
1113
+ new(locator, offset, length, entries)
1114
+ end
1115
+
1116
+ attr_reader :entries
1117
+
1118
+ def initialize(locator, offset, length, entries = _pcore_type['entries'].value)
1119
+ super(locator, offset, length)
1120
+ @hash = @hash ^ entries.hash
1121
+ @entries = entries
1122
+ end
1123
+
1124
+ def _pcore_init_hash
1125
+ result = super
1126
+ result['entries'] = @entries unless _pcore_type['entries'].default_value?(@entries)
1127
+ result
1128
+ end
1129
+
1130
+ def _pcore_contents
1131
+ @entries.each { |value| yield(value) }
1132
+ end
1133
+
1134
+ def _pcore_all_contents(path, &block)
1135
+ path << self
1136
+ @entries.each do |value|
1137
+ block.call(value, path)
1138
+ value._pcore_all_contents(path, &block)
1139
+ end
1140
+ path.pop
1141
+ end
1142
+
1143
+ def eql?(o)
1144
+ super &&
1145
+ @entries.eql?(o.entries)
1146
+ end
1147
+ alias == eql?
1148
+ end
1149
+
1150
+ class BlockExpression < Expression
1151
+ def self._pcore_type
1152
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::BlockExpression', {
1153
+ 'parent' => Expression._pcore_type,
1154
+ 'attributes' => {
1155
+ 'statements' => {
1156
+ 'type' => Types::PArrayType.new(Expression._pcore_type),
1157
+ 'value' => []
1158
+ }
1159
+ }
1160
+ })
1161
+ end
1162
+
1163
+ def self.from_hash(init_hash)
1164
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::BlockExpression initializer', _pcore_type.init_hash_type, init_hash))
1165
+ end
1166
+
1167
+ def self.from_asserted_hash(init_hash)
1168
+ new(
1169
+ init_hash['locator'],
1170
+ init_hash['offset'],
1171
+ init_hash['length'],
1172
+ init_hash.fetch('statements') { _pcore_type['statements'].value })
1173
+ end
1174
+
1175
+ def self.create(locator, offset, length, statements = _pcore_type['statements'].value)
1176
+ ta = Types::TypeAsserter
1177
+ attrs = _pcore_type.attributes(true)
1178
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
1179
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
1180
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
1181
+ ta.assert_instance_of('Puppet::AST::BlockExpression[statements]', attrs['statements'].type, statements)
1182
+ new(locator, offset, length, statements)
1183
+ end
1184
+
1185
+ attr_reader :statements
1186
+
1187
+ def initialize(locator, offset, length, statements = _pcore_type['statements'].value)
1188
+ super(locator, offset, length)
1189
+ @hash = @hash ^ statements.hash
1190
+ @statements = statements
1191
+ end
1192
+
1193
+ def _pcore_init_hash
1194
+ result = super
1195
+ result['statements'] = @statements unless _pcore_type['statements'].default_value?(@statements)
1196
+ result
1197
+ end
1198
+
1199
+ def _pcore_contents
1200
+ @statements.each { |value| yield(value) }
1201
+ end
1202
+
1203
+ def _pcore_all_contents(path, &block)
1204
+ path << self
1205
+ @statements.each do |value|
1206
+ block.call(value, path)
1207
+ value._pcore_all_contents(path, &block)
1208
+ end
1209
+ path.pop
1210
+ end
1211
+
1212
+ def eql?(o)
1213
+ super &&
1214
+ @statements.eql?(o.statements)
1215
+ end
1216
+ alias == eql?
1217
+ end
1218
+
1219
+ class CaseOption < Expression
1220
+ def self._pcore_type
1221
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::CaseOption', {
1222
+ 'parent' => Expression._pcore_type,
1223
+ 'attributes' => {
1224
+ 'values' => Types::PArrayType.new(Expression._pcore_type, Types::PCollectionType::NOT_EMPTY_SIZE),
1225
+ 'then_expr' => {
1226
+ 'type' => Types::POptionalType.new(Expression._pcore_type),
1227
+ 'value' => nil
1228
+ }
1229
+ }
1230
+ })
1231
+ end
1232
+
1233
+ def self.from_hash(init_hash)
1234
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::CaseOption initializer', _pcore_type.init_hash_type, init_hash))
1235
+ end
1236
+
1237
+ def self.from_asserted_hash(init_hash)
1238
+ new(
1239
+ init_hash['locator'],
1240
+ init_hash['offset'],
1241
+ init_hash['length'],
1242
+ init_hash['values'],
1243
+ init_hash['then_expr'])
1244
+ end
1245
+
1246
+ def self.create(locator, offset, length, values, then_expr = nil)
1247
+ ta = Types::TypeAsserter
1248
+ attrs = _pcore_type.attributes(true)
1249
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
1250
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
1251
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
1252
+ ta.assert_instance_of('Puppet::AST::CaseOption[values]', attrs['values'].type, values)
1253
+ ta.assert_instance_of('Puppet::AST::CaseOption[then_expr]', attrs['then_expr'].type, then_expr)
1254
+ new(locator, offset, length, values, then_expr)
1255
+ end
1256
+
1257
+ attr_reader :values
1258
+ attr_reader :then_expr
1259
+
1260
+ def initialize(locator, offset, length, values, then_expr = nil)
1261
+ super(locator, offset, length)
1262
+ @hash = @hash ^ values.hash ^ then_expr.hash
1263
+ @values = values
1264
+ @then_expr = then_expr
1265
+ end
1266
+
1267
+ def _pcore_init_hash
1268
+ result = super
1269
+ result['values'] = @values
1270
+ result['then_expr'] = @then_expr unless @then_expr == nil
1271
+ result
1272
+ end
1273
+
1274
+ def _pcore_contents
1275
+ @values.each { |value| yield(value) }
1276
+ yield(@then_expr) unless @then_expr.nil?
1277
+ end
1278
+
1279
+ def _pcore_all_contents(path, &block)
1280
+ path << self
1281
+ @values.each do |value|
1282
+ block.call(value, path)
1283
+ value._pcore_all_contents(path, &block)
1284
+ end
1285
+ unless @then_expr.nil?
1286
+ block.call(@then_expr, path)
1287
+ @then_expr._pcore_all_contents(path, &block)
1288
+ end
1289
+ path.pop
1290
+ end
1291
+
1292
+ def eql?(o)
1293
+ super &&
1294
+ @values.eql?(o.values) &&
1295
+ @then_expr.eql?(o.then_expr)
1296
+ end
1297
+ alias == eql?
1298
+ end
1299
+
1300
+ class CaseExpression < Expression
1301
+ def self._pcore_type
1302
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::CaseExpression', {
1303
+ 'parent' => Expression._pcore_type,
1304
+ 'attributes' => {
1305
+ 'test' => Expression._pcore_type,
1306
+ 'options' => {
1307
+ 'type' => Types::PArrayType.new(CaseOption._pcore_type),
1308
+ 'value' => []
1309
+ }
1310
+ }
1311
+ })
1312
+ end
1313
+
1314
+ def self.from_hash(init_hash)
1315
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::CaseExpression initializer', _pcore_type.init_hash_type, init_hash))
1316
+ end
1317
+
1318
+ def self.from_asserted_hash(init_hash)
1319
+ new(
1320
+ init_hash['locator'],
1321
+ init_hash['offset'],
1322
+ init_hash['length'],
1323
+ init_hash['test'],
1324
+ init_hash.fetch('options') { _pcore_type['options'].value })
1325
+ end
1326
+
1327
+ def self.create(locator, offset, length, test, options = _pcore_type['options'].value)
1328
+ ta = Types::TypeAsserter
1329
+ attrs = _pcore_type.attributes(true)
1330
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
1331
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
1332
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
1333
+ ta.assert_instance_of('Puppet::AST::CaseExpression[test]', attrs['test'].type, test)
1334
+ ta.assert_instance_of('Puppet::AST::CaseExpression[options]', attrs['options'].type, options)
1335
+ new(locator, offset, length, test, options)
1336
+ end
1337
+
1338
+ attr_reader :test
1339
+ attr_reader :options
1340
+
1341
+ def initialize(locator, offset, length, test, options = _pcore_type['options'].value)
1342
+ super(locator, offset, length)
1343
+ @hash = @hash ^ test.hash ^ options.hash
1344
+ @test = test
1345
+ @options = options
1346
+ end
1347
+
1348
+ def _pcore_init_hash
1349
+ result = super
1350
+ result['test'] = @test
1351
+ result['options'] = @options unless _pcore_type['options'].default_value?(@options)
1352
+ result
1353
+ end
1354
+
1355
+ def _pcore_contents
1356
+ yield(@test) unless @test.nil?
1357
+ @options.each { |value| yield(value) }
1358
+ end
1359
+
1360
+ def _pcore_all_contents(path, &block)
1361
+ path << self
1362
+ unless @test.nil?
1363
+ block.call(@test, path)
1364
+ @test._pcore_all_contents(path, &block)
1365
+ end
1366
+ @options.each do |value|
1367
+ block.call(value, path)
1368
+ value._pcore_all_contents(path, &block)
1369
+ end
1370
+ path.pop
1371
+ end
1372
+
1373
+ def eql?(o)
1374
+ super &&
1375
+ @test.eql?(o.test) &&
1376
+ @options.eql?(o.options)
1377
+ end
1378
+ alias == eql?
1379
+ end
1380
+
1381
+ class QueryExpression < Expression
1382
+ def self._pcore_type
1383
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::QueryExpression', {
1384
+ 'parent' => Expression._pcore_type,
1385
+ 'attributes' => {
1386
+ 'expr' => {
1387
+ 'type' => Types::POptionalType.new(Expression._pcore_type),
1388
+ 'value' => nil
1389
+ }
1390
+ }
1391
+ })
1392
+ end
1393
+
1394
+ def self.from_hash(init_hash)
1395
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::QueryExpression initializer', _pcore_type.init_hash_type, init_hash))
1396
+ end
1397
+
1398
+ def self.from_asserted_hash(init_hash)
1399
+ new(
1400
+ init_hash['locator'],
1401
+ init_hash['offset'],
1402
+ init_hash['length'],
1403
+ init_hash['expr'])
1404
+ end
1405
+
1406
+ def self.create(locator, offset, length, expr = nil)
1407
+ ta = Types::TypeAsserter
1408
+ attrs = _pcore_type.attributes(true)
1409
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
1410
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
1411
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
1412
+ ta.assert_instance_of('Puppet::AST::QueryExpression[expr]', attrs['expr'].type, expr)
1413
+ new(locator, offset, length, expr)
1414
+ end
1415
+
1416
+ attr_reader :expr
1417
+
1418
+ def initialize(locator, offset, length, expr = nil)
1419
+ super(locator, offset, length)
1420
+ @hash = @hash ^ expr.hash
1421
+ @expr = expr
1422
+ end
1423
+
1424
+ def _pcore_init_hash
1425
+ result = super
1426
+ result['expr'] = @expr unless @expr == nil
1427
+ result
1428
+ end
1429
+
1430
+ def _pcore_contents
1431
+ yield(@expr) unless @expr.nil?
1432
+ end
1433
+
1434
+ def _pcore_all_contents(path, &block)
1435
+ path << self
1436
+ unless @expr.nil?
1437
+ block.call(@expr, path)
1438
+ @expr._pcore_all_contents(path, &block)
1439
+ end
1440
+ path.pop
1441
+ end
1442
+
1443
+ def eql?(o)
1444
+ super &&
1445
+ @expr.eql?(o.expr)
1446
+ end
1447
+ alias == eql?
1448
+ end
1449
+
1450
+ class ExportedQuery < QueryExpression
1451
+ def self._pcore_type
1452
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::ExportedQuery', {
1453
+ 'parent' => QueryExpression._pcore_type
1454
+ })
1455
+ end
1456
+
1457
+ def _pcore_contents
1458
+ yield(@expr) unless @expr.nil?
1459
+ end
1460
+
1461
+ def _pcore_all_contents(path, &block)
1462
+ path << self
1463
+ unless @expr.nil?
1464
+ block.call(@expr, path)
1465
+ @expr._pcore_all_contents(path, &block)
1466
+ end
1467
+ path.pop
1468
+ end
1469
+ end
1470
+
1471
+ class VirtualQuery < QueryExpression
1472
+ def self._pcore_type
1473
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::VirtualQuery', {
1474
+ 'parent' => QueryExpression._pcore_type
1475
+ })
1476
+ end
1477
+
1478
+ def _pcore_contents
1479
+ yield(@expr) unless @expr.nil?
1480
+ end
1481
+
1482
+ def _pcore_all_contents(path, &block)
1483
+ path << self
1484
+ unless @expr.nil?
1485
+ block.call(@expr, path)
1486
+ @expr._pcore_all_contents(path, &block)
1487
+ end
1488
+ path.pop
1489
+ end
1490
+ end
1491
+
1492
+ class AbstractAttributeOperation < Positioned
1493
+ def self._pcore_type
1494
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::AbstractAttributeOperation', {
1495
+ 'parent' => Positioned._pcore_type
1496
+ })
1497
+ end
1498
+ end
1499
+
1500
+ class AttributeOperation < AbstractAttributeOperation
1501
+ def self._pcore_type
1502
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::AttributeOperation', {
1503
+ 'parent' => AbstractAttributeOperation._pcore_type,
1504
+ 'attributes' => {
1505
+ 'attribute_name' => Types::PStringType::DEFAULT,
1506
+ 'operator' => Types::PEnumType.new(['+>', '=>']),
1507
+ 'value_expr' => Expression._pcore_type
1508
+ }
1509
+ })
1510
+ end
1511
+
1512
+ def self.from_hash(init_hash)
1513
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::AttributeOperation initializer', _pcore_type.init_hash_type, init_hash))
1514
+ end
1515
+
1516
+ def self.from_asserted_hash(init_hash)
1517
+ new(
1518
+ init_hash['locator'],
1519
+ init_hash['offset'],
1520
+ init_hash['length'],
1521
+ init_hash['attribute_name'],
1522
+ init_hash['operator'],
1523
+ init_hash['value_expr'])
1524
+ end
1525
+
1526
+ def self.create(locator, offset, length, attribute_name, operator, value_expr)
1527
+ ta = Types::TypeAsserter
1528
+ attrs = _pcore_type.attributes(true)
1529
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
1530
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
1531
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
1532
+ ta.assert_instance_of('Puppet::AST::AttributeOperation[attribute_name]', attrs['attribute_name'].type, attribute_name)
1533
+ ta.assert_instance_of('Puppet::AST::AttributeOperation[operator]', attrs['operator'].type, operator)
1534
+ ta.assert_instance_of('Puppet::AST::AttributeOperation[value_expr]', attrs['value_expr'].type, value_expr)
1535
+ new(locator, offset, length, attribute_name, operator, value_expr)
1536
+ end
1537
+
1538
+ attr_reader :attribute_name
1539
+ attr_reader :operator
1540
+ attr_reader :value_expr
1541
+
1542
+ def initialize(locator, offset, length, attribute_name, operator, value_expr)
1543
+ super(locator, offset, length)
1544
+ @hash = @hash ^ attribute_name.hash ^ operator.hash ^ value_expr.hash
1545
+ @attribute_name = attribute_name
1546
+ @operator = operator
1547
+ @value_expr = value_expr
1548
+ end
1549
+
1550
+ def _pcore_init_hash
1551
+ result = super
1552
+ result['attribute_name'] = @attribute_name
1553
+ result['operator'] = @operator
1554
+ result['value_expr'] = @value_expr
1555
+ result
1556
+ end
1557
+
1558
+ def _pcore_contents
1559
+ yield(@value_expr) unless @value_expr.nil?
1560
+ end
1561
+
1562
+ def _pcore_all_contents(path, &block)
1563
+ path << self
1564
+ unless @value_expr.nil?
1565
+ block.call(@value_expr, path)
1566
+ @value_expr._pcore_all_contents(path, &block)
1567
+ end
1568
+ path.pop
1569
+ end
1570
+
1571
+ def eql?(o)
1572
+ super &&
1573
+ @attribute_name.eql?(o.attribute_name) &&
1574
+ @operator.eql?(o.operator) &&
1575
+ @value_expr.eql?(o.value_expr)
1576
+ end
1577
+ alias == eql?
1578
+ end
1579
+
1580
+ class AttributesOperation < AbstractAttributeOperation
1581
+ def self._pcore_type
1582
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::AttributesOperation', {
1583
+ 'parent' => AbstractAttributeOperation._pcore_type,
1584
+ 'attributes' => {
1585
+ 'expr' => Expression._pcore_type
1586
+ }
1587
+ })
1588
+ end
1589
+
1590
+ def self.from_hash(init_hash)
1591
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::AttributesOperation initializer', _pcore_type.init_hash_type, init_hash))
1592
+ end
1593
+
1594
+ def self.from_asserted_hash(init_hash)
1595
+ new(
1596
+ init_hash['locator'],
1597
+ init_hash['offset'],
1598
+ init_hash['length'],
1599
+ init_hash['expr'])
1600
+ end
1601
+
1602
+ def self.create(locator, offset, length, expr)
1603
+ ta = Types::TypeAsserter
1604
+ attrs = _pcore_type.attributes(true)
1605
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
1606
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
1607
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
1608
+ ta.assert_instance_of('Puppet::AST::AttributesOperation[expr]', attrs['expr'].type, expr)
1609
+ new(locator, offset, length, expr)
1610
+ end
1611
+
1612
+ attr_reader :expr
1613
+
1614
+ def initialize(locator, offset, length, expr)
1615
+ super(locator, offset, length)
1616
+ @hash = @hash ^ expr.hash
1617
+ @expr = expr
1618
+ end
1619
+
1620
+ def _pcore_init_hash
1621
+ result = super
1622
+ result['expr'] = @expr
1623
+ result
1624
+ end
1625
+
1626
+ def _pcore_contents
1627
+ yield(@expr) unless @expr.nil?
1628
+ end
1629
+
1630
+ def _pcore_all_contents(path, &block)
1631
+ path << self
1632
+ unless @expr.nil?
1633
+ block.call(@expr, path)
1634
+ @expr._pcore_all_contents(path, &block)
1635
+ end
1636
+ path.pop
1637
+ end
1638
+
1639
+ def eql?(o)
1640
+ super &&
1641
+ @expr.eql?(o.expr)
1642
+ end
1643
+ alias == eql?
1644
+ end
1645
+
1646
+ class CollectExpression < Expression
1647
+ def self._pcore_type
1648
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::CollectExpression', {
1649
+ 'parent' => Expression._pcore_type,
1650
+ 'attributes' => {
1651
+ 'type_expr' => Expression._pcore_type,
1652
+ 'query' => QueryExpression._pcore_type,
1653
+ 'operations' => {
1654
+ 'type' => Types::PArrayType.new(AbstractAttributeOperation._pcore_type),
1655
+ 'value' => []
1656
+ }
1657
+ }
1658
+ })
1659
+ end
1660
+
1661
+ def self.from_hash(init_hash)
1662
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::CollectExpression initializer', _pcore_type.init_hash_type, init_hash))
1663
+ end
1664
+
1665
+ def self.from_asserted_hash(init_hash)
1666
+ new(
1667
+ init_hash['locator'],
1668
+ init_hash['offset'],
1669
+ init_hash['length'],
1670
+ init_hash['type_expr'],
1671
+ init_hash['query'],
1672
+ init_hash.fetch('operations') { _pcore_type['operations'].value })
1673
+ end
1674
+
1675
+ def self.create(locator, offset, length, type_expr, query, operations = _pcore_type['operations'].value)
1676
+ ta = Types::TypeAsserter
1677
+ attrs = _pcore_type.attributes(true)
1678
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
1679
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
1680
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
1681
+ ta.assert_instance_of('Puppet::AST::CollectExpression[type_expr]', attrs['type_expr'].type, type_expr)
1682
+ ta.assert_instance_of('Puppet::AST::CollectExpression[query]', attrs['query'].type, query)
1683
+ ta.assert_instance_of('Puppet::AST::CollectExpression[operations]', attrs['operations'].type, operations)
1684
+ new(locator, offset, length, type_expr, query, operations)
1685
+ end
1686
+
1687
+ attr_reader :type_expr
1688
+ attr_reader :query
1689
+ attr_reader :operations
1690
+
1691
+ def initialize(locator, offset, length, type_expr, query, operations = _pcore_type['operations'].value)
1692
+ super(locator, offset, length)
1693
+ @hash = @hash ^ type_expr.hash ^ query.hash ^ operations.hash
1694
+ @type_expr = type_expr
1695
+ @query = query
1696
+ @operations = operations
1697
+ end
1698
+
1699
+ def _pcore_init_hash
1700
+ result = super
1701
+ result['type_expr'] = @type_expr
1702
+ result['query'] = @query
1703
+ result['operations'] = @operations unless _pcore_type['operations'].default_value?(@operations)
1704
+ result
1705
+ end
1706
+
1707
+ def _pcore_contents
1708
+ yield(@type_expr) unless @type_expr.nil?
1709
+ yield(@query) unless @query.nil?
1710
+ @operations.each { |value| yield(value) }
1711
+ end
1712
+
1713
+ def _pcore_all_contents(path, &block)
1714
+ path << self
1715
+ unless @type_expr.nil?
1716
+ block.call(@type_expr, path)
1717
+ @type_expr._pcore_all_contents(path, &block)
1718
+ end
1719
+ unless @query.nil?
1720
+ block.call(@query, path)
1721
+ @query._pcore_all_contents(path, &block)
1722
+ end
1723
+ @operations.each do |value|
1724
+ block.call(value, path)
1725
+ value._pcore_all_contents(path, &block)
1726
+ end
1727
+ path.pop
1728
+ end
1729
+
1730
+ def eql?(o)
1731
+ super &&
1732
+ @type_expr.eql?(o.type_expr) &&
1733
+ @query.eql?(o.query) &&
1734
+ @operations.eql?(o.operations)
1735
+ end
1736
+ alias == eql?
1737
+ end
1738
+
1739
+ class Parameter < Positioned
1740
+ def self._pcore_type
1741
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::Parameter', {
1742
+ 'parent' => Positioned._pcore_type,
1743
+ 'attributes' => {
1744
+ 'name' => Types::PStringType::DEFAULT,
1745
+ 'value' => {
1746
+ 'type' => Types::POptionalType.new(Expression._pcore_type),
1747
+ 'value' => nil
1748
+ },
1749
+ 'type_expr' => {
1750
+ 'type' => Types::POptionalType.new(Expression._pcore_type),
1751
+ 'value' => nil
1752
+ },
1753
+ 'captures_rest' => {
1754
+ 'type' => Types::POptionalType.new(Types::PBooleanType::DEFAULT),
1755
+ 'value' => nil
1756
+ }
1757
+ }
1758
+ })
1759
+ end
1760
+
1761
+ def self.from_hash(init_hash)
1762
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::Parameter initializer', _pcore_type.init_hash_type, init_hash))
1763
+ end
1764
+
1765
+ def self.from_asserted_hash(init_hash)
1766
+ new(
1767
+ init_hash['locator'],
1768
+ init_hash['offset'],
1769
+ init_hash['length'],
1770
+ init_hash['name'],
1771
+ init_hash['value'],
1772
+ init_hash['type_expr'],
1773
+ init_hash['captures_rest'])
1774
+ end
1775
+
1776
+ def self.create(locator, offset, length, name, value = nil, type_expr = nil, captures_rest = nil)
1777
+ ta = Types::TypeAsserter
1778
+ attrs = _pcore_type.attributes(true)
1779
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
1780
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
1781
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
1782
+ ta.assert_instance_of('Puppet::AST::Parameter[name]', attrs['name'].type, name)
1783
+ ta.assert_instance_of('Puppet::AST::Parameter[value]', attrs['value'].type, value)
1784
+ ta.assert_instance_of('Puppet::AST::Parameter[type_expr]', attrs['type_expr'].type, type_expr)
1785
+ ta.assert_instance_of('Puppet::AST::Parameter[captures_rest]', attrs['captures_rest'].type, captures_rest)
1786
+ new(locator, offset, length, name, value, type_expr, captures_rest)
1787
+ end
1788
+
1789
+ attr_reader :name
1790
+ attr_reader :value
1791
+ attr_reader :type_expr
1792
+ attr_reader :captures_rest
1793
+
1794
+ def initialize(locator, offset, length, name, value = nil, type_expr = nil, captures_rest = nil)
1795
+ super(locator, offset, length)
1796
+ @hash = @hash ^ name.hash ^ value.hash ^ type_expr.hash ^ captures_rest.hash
1797
+ @name = name
1798
+ @value = value
1799
+ @type_expr = type_expr
1800
+ @captures_rest = captures_rest
1801
+ end
1802
+
1803
+ def _pcore_init_hash
1804
+ result = super
1805
+ result['name'] = @name
1806
+ result['value'] = @value unless @value == nil
1807
+ result['type_expr'] = @type_expr unless @type_expr == nil
1808
+ result['captures_rest'] = @captures_rest unless @captures_rest == nil
1809
+ result
1810
+ end
1811
+
1812
+ def _pcore_contents
1813
+ yield(@value) unless @value.nil?
1814
+ yield(@type_expr) unless @type_expr.nil?
1815
+ end
1816
+
1817
+ def _pcore_all_contents(path, &block)
1818
+ path << self
1819
+ unless @value.nil?
1820
+ block.call(@value, path)
1821
+ @value._pcore_all_contents(path, &block)
1822
+ end
1823
+ unless @type_expr.nil?
1824
+ block.call(@type_expr, path)
1825
+ @type_expr._pcore_all_contents(path, &block)
1826
+ end
1827
+ path.pop
1828
+ end
1829
+
1830
+ def eql?(o)
1831
+ super &&
1832
+ @name.eql?(o.name) &&
1833
+ @value.eql?(o.value) &&
1834
+ @type_expr.eql?(o.type_expr) &&
1835
+ @captures_rest.eql?(o.captures_rest)
1836
+ end
1837
+ alias == eql?
1838
+ end
1839
+
1840
+ class Definition < Expression
1841
+ def self._pcore_type
1842
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::Definition', {
1843
+ 'parent' => Expression._pcore_type
1844
+ })
1845
+ end
1846
+ end
1847
+
1848
+ class NamedDefinition < Definition
1849
+ def self._pcore_type
1850
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::NamedDefinition', {
1851
+ 'parent' => Definition._pcore_type,
1852
+ 'attributes' => {
1853
+ 'name' => Types::PStringType::DEFAULT,
1854
+ 'parameters' => {
1855
+ 'type' => Types::PArrayType.new(Parameter._pcore_type),
1856
+ 'value' => []
1857
+ },
1858
+ 'body' => {
1859
+ 'type' => Types::POptionalType.new(Expression._pcore_type),
1860
+ 'value' => nil
1861
+ }
1862
+ }
1863
+ })
1864
+ end
1865
+
1866
+ def self.from_hash(init_hash)
1867
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::NamedDefinition initializer', _pcore_type.init_hash_type, init_hash))
1868
+ end
1869
+
1870
+ def self.from_asserted_hash(init_hash)
1871
+ new(
1872
+ init_hash['locator'],
1873
+ init_hash['offset'],
1874
+ init_hash['length'],
1875
+ init_hash['name'],
1876
+ init_hash.fetch('parameters') { _pcore_type['parameters'].value },
1877
+ init_hash['body'])
1878
+ end
1879
+
1880
+ def self.create(locator, offset, length, name, parameters = _pcore_type['parameters'].value, body = nil)
1881
+ ta = Types::TypeAsserter
1882
+ attrs = _pcore_type.attributes(true)
1883
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
1884
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
1885
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
1886
+ ta.assert_instance_of('Puppet::AST::NamedDefinition[name]', attrs['name'].type, name)
1887
+ ta.assert_instance_of('Puppet::AST::NamedDefinition[parameters]', attrs['parameters'].type, parameters)
1888
+ ta.assert_instance_of('Puppet::AST::NamedDefinition[body]', attrs['body'].type, body)
1889
+ new(locator, offset, length, name, parameters, body)
1890
+ end
1891
+
1892
+ attr_reader :name
1893
+ attr_reader :parameters
1894
+ attr_reader :body
1895
+
1896
+ def initialize(locator, offset, length, name, parameters = _pcore_type['parameters'].value, body = nil)
1897
+ super(locator, offset, length)
1898
+ @hash = @hash ^ name.hash ^ parameters.hash ^ body.hash
1899
+ @name = name
1900
+ @parameters = parameters
1901
+ @body = body
1902
+ end
1903
+
1904
+ def _pcore_init_hash
1905
+ result = super
1906
+ result['name'] = @name
1907
+ result['parameters'] = @parameters unless _pcore_type['parameters'].default_value?(@parameters)
1908
+ result['body'] = @body unless @body == nil
1909
+ result
1910
+ end
1911
+
1912
+ def _pcore_contents
1913
+ @parameters.each { |value| yield(value) }
1914
+ yield(@body) unless @body.nil?
1915
+ end
1916
+
1917
+ def _pcore_all_contents(path, &block)
1918
+ path << self
1919
+ @parameters.each do |value|
1920
+ block.call(value, path)
1921
+ value._pcore_all_contents(path, &block)
1922
+ end
1923
+ unless @body.nil?
1924
+ block.call(@body, path)
1925
+ @body._pcore_all_contents(path, &block)
1926
+ end
1927
+ path.pop
1928
+ end
1929
+
1930
+ def eql?(o)
1931
+ super &&
1932
+ @name.eql?(o.name) &&
1933
+ @parameters.eql?(o.parameters) &&
1934
+ @body.eql?(o.body)
1935
+ end
1936
+ alias == eql?
1937
+ end
1938
+
1939
+ class FunctionDefinition < NamedDefinition
1940
+ def self._pcore_type
1941
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::FunctionDefinition', {
1942
+ 'parent' => NamedDefinition._pcore_type,
1943
+ 'attributes' => {
1944
+ 'return_type' => {
1945
+ 'type' => Types::POptionalType.new(Expression._pcore_type),
1946
+ 'value' => nil
1947
+ }
1948
+ }
1949
+ })
1950
+ end
1951
+
1952
+ def self.from_hash(init_hash)
1953
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::FunctionDefinition initializer', _pcore_type.init_hash_type, init_hash))
1954
+ end
1955
+
1956
+ def self.from_asserted_hash(init_hash)
1957
+ new(
1958
+ init_hash['locator'],
1959
+ init_hash['offset'],
1960
+ init_hash['length'],
1961
+ init_hash['name'],
1962
+ init_hash.fetch('parameters') { _pcore_type['parameters'].value },
1963
+ init_hash['body'],
1964
+ init_hash['return_type'])
1965
+ end
1966
+
1967
+ def self.create(locator, offset, length, name, parameters = _pcore_type['parameters'].value, body = nil, return_type = nil)
1968
+ ta = Types::TypeAsserter
1969
+ attrs = _pcore_type.attributes(true)
1970
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
1971
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
1972
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
1973
+ ta.assert_instance_of('Puppet::AST::NamedDefinition[name]', attrs['name'].type, name)
1974
+ ta.assert_instance_of('Puppet::AST::NamedDefinition[parameters]', attrs['parameters'].type, parameters)
1975
+ ta.assert_instance_of('Puppet::AST::NamedDefinition[body]', attrs['body'].type, body)
1976
+ ta.assert_instance_of('Puppet::AST::FunctionDefinition[return_type]', attrs['return_type'].type, return_type)
1977
+ new(locator, offset, length, name, parameters, body, return_type)
1978
+ end
1979
+
1980
+ attr_reader :return_type
1981
+
1982
+ def initialize(locator, offset, length, name, parameters = _pcore_type['parameters'].value, body = nil, return_type = nil)
1983
+ super(locator, offset, length, name, parameters, body)
1984
+ @hash = @hash ^ return_type.hash
1985
+ @return_type = return_type
1986
+ end
1987
+
1988
+ def _pcore_init_hash
1989
+ result = super
1990
+ result['return_type'] = @return_type unless @return_type == nil
1991
+ result
1992
+ end
1993
+
1994
+ def _pcore_contents
1995
+ @parameters.each { |value| yield(value) }
1996
+ yield(@body) unless @body.nil?
1997
+ yield(@return_type) unless @return_type.nil?
1998
+ end
1999
+
2000
+ def _pcore_all_contents(path, &block)
2001
+ path << self
2002
+ @parameters.each do |value|
2003
+ block.call(value, path)
2004
+ value._pcore_all_contents(path, &block)
2005
+ end
2006
+ unless @body.nil?
2007
+ block.call(@body, path)
2008
+ @body._pcore_all_contents(path, &block)
2009
+ end
2010
+ unless @return_type.nil?
2011
+ block.call(@return_type, path)
2012
+ @return_type._pcore_all_contents(path, &block)
2013
+ end
2014
+ path.pop
2015
+ end
2016
+
2017
+ def eql?(o)
2018
+ super &&
2019
+ @return_type.eql?(o.return_type)
2020
+ end
2021
+ alias == eql?
2022
+ end
2023
+
2024
+ class ResourceTypeDefinition < NamedDefinition
2025
+ def self._pcore_type
2026
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::ResourceTypeDefinition', {
2027
+ 'parent' => NamedDefinition._pcore_type
2028
+ })
2029
+ end
2030
+
2031
+ def _pcore_contents
2032
+ @parameters.each { |value| yield(value) }
2033
+ yield(@body) unless @body.nil?
2034
+ end
2035
+
2036
+ def _pcore_all_contents(path, &block)
2037
+ path << self
2038
+ @parameters.each do |value|
2039
+ block.call(value, path)
2040
+ value._pcore_all_contents(path, &block)
2041
+ end
2042
+ unless @body.nil?
2043
+ block.call(@body, path)
2044
+ @body._pcore_all_contents(path, &block)
2045
+ end
2046
+ path.pop
2047
+ end
2048
+ end
2049
+
2050
+ class Application < NamedDefinition
2051
+ def self._pcore_type
2052
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::Application', {
2053
+ 'parent' => NamedDefinition._pcore_type
2054
+ })
2055
+ end
2056
+
2057
+ def _pcore_contents
2058
+ @parameters.each { |value| yield(value) }
2059
+ yield(@body) unless @body.nil?
2060
+ end
2061
+
2062
+ def _pcore_all_contents(path, &block)
2063
+ path << self
2064
+ @parameters.each do |value|
2065
+ block.call(value, path)
2066
+ value._pcore_all_contents(path, &block)
2067
+ end
2068
+ unless @body.nil?
2069
+ block.call(@body, path)
2070
+ @body._pcore_all_contents(path, &block)
2071
+ end
2072
+ path.pop
2073
+ end
2074
+ end
2075
+
2076
+ class QRefDefinition < Definition
2077
+ def self._pcore_type
2078
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::QRefDefinition', {
2079
+ 'parent' => Definition._pcore_type,
2080
+ 'attributes' => {
2081
+ 'name' => Types::PStringType::DEFAULT
2082
+ }
2083
+ })
2084
+ end
2085
+
2086
+ def self.from_hash(init_hash)
2087
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::QRefDefinition initializer', _pcore_type.init_hash_type, init_hash))
2088
+ end
2089
+
2090
+ def self.from_asserted_hash(init_hash)
2091
+ new(
2092
+ init_hash['locator'],
2093
+ init_hash['offset'],
2094
+ init_hash['length'],
2095
+ init_hash['name'])
2096
+ end
2097
+
2098
+ def self.create(locator, offset, length, name)
2099
+ ta = Types::TypeAsserter
2100
+ attrs = _pcore_type.attributes(true)
2101
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
2102
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
2103
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
2104
+ ta.assert_instance_of('Puppet::AST::QRefDefinition[name]', attrs['name'].type, name)
2105
+ new(locator, offset, length, name)
2106
+ end
2107
+
2108
+ attr_reader :name
2109
+
2110
+ def initialize(locator, offset, length, name)
2111
+ super(locator, offset, length)
2112
+ @hash = @hash ^ name.hash
2113
+ @name = name
2114
+ end
2115
+
2116
+ def _pcore_init_hash
2117
+ result = super
2118
+ result['name'] = @name
2119
+ result
2120
+ end
2121
+
2122
+ def eql?(o)
2123
+ super &&
2124
+ @name.eql?(o.name)
2125
+ end
2126
+ alias == eql?
2127
+ end
2128
+
2129
+ class TypeAlias < QRefDefinition
2130
+ def self._pcore_type
2131
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::TypeAlias', {
2132
+ 'parent' => QRefDefinition._pcore_type,
2133
+ 'attributes' => {
2134
+ 'type_expr' => {
2135
+ 'type' => Types::POptionalType.new(Expression._pcore_type),
2136
+ 'value' => nil
2137
+ }
2138
+ }
2139
+ })
2140
+ end
2141
+
2142
+ def self.from_hash(init_hash)
2143
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::TypeAlias initializer', _pcore_type.init_hash_type, init_hash))
2144
+ end
2145
+
2146
+ def self.from_asserted_hash(init_hash)
2147
+ new(
2148
+ init_hash['locator'],
2149
+ init_hash['offset'],
2150
+ init_hash['length'],
2151
+ init_hash['name'],
2152
+ init_hash['type_expr'])
2153
+ end
2154
+
2155
+ def self.create(locator, offset, length, name, type_expr = nil)
2156
+ ta = Types::TypeAsserter
2157
+ attrs = _pcore_type.attributes(true)
2158
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
2159
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
2160
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
2161
+ ta.assert_instance_of('Puppet::AST::QRefDefinition[name]', attrs['name'].type, name)
2162
+ ta.assert_instance_of('Puppet::AST::TypeAlias[type_expr]', attrs['type_expr'].type, type_expr)
2163
+ new(locator, offset, length, name, type_expr)
2164
+ end
2165
+
2166
+ attr_reader :type_expr
2167
+
2168
+ def initialize(locator, offset, length, name, type_expr = nil)
2169
+ super(locator, offset, length, name)
2170
+ @hash = @hash ^ type_expr.hash
2171
+ @type_expr = type_expr
2172
+ end
2173
+
2174
+ def _pcore_init_hash
2175
+ result = super
2176
+ result['type_expr'] = @type_expr unless @type_expr == nil
2177
+ result
2178
+ end
2179
+
2180
+ def _pcore_contents
2181
+ yield(@type_expr) unless @type_expr.nil?
2182
+ end
2183
+
2184
+ def _pcore_all_contents(path, &block)
2185
+ path << self
2186
+ unless @type_expr.nil?
2187
+ block.call(@type_expr, path)
2188
+ @type_expr._pcore_all_contents(path, &block)
2189
+ end
2190
+ path.pop
2191
+ end
2192
+
2193
+ def eql?(o)
2194
+ super &&
2195
+ @type_expr.eql?(o.type_expr)
2196
+ end
2197
+ alias == eql?
2198
+ end
2199
+
2200
+ class TypeMapping < Definition
2201
+ def self._pcore_type
2202
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::TypeMapping', {
2203
+ 'parent' => Definition._pcore_type,
2204
+ 'attributes' => {
2205
+ 'type_expr' => {
2206
+ 'type' => Types::POptionalType.new(Expression._pcore_type),
2207
+ 'value' => nil
2208
+ },
2209
+ 'mapping_expr' => {
2210
+ 'type' => Types::POptionalType.new(Expression._pcore_type),
2211
+ 'value' => nil
2212
+ }
2213
+ }
2214
+ })
2215
+ end
2216
+
2217
+ def self.from_hash(init_hash)
2218
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::TypeMapping initializer', _pcore_type.init_hash_type, init_hash))
2219
+ end
2220
+
2221
+ def self.from_asserted_hash(init_hash)
2222
+ new(
2223
+ init_hash['locator'],
2224
+ init_hash['offset'],
2225
+ init_hash['length'],
2226
+ init_hash['type_expr'],
2227
+ init_hash['mapping_expr'])
2228
+ end
2229
+
2230
+ def self.create(locator, offset, length, type_expr = nil, mapping_expr = nil)
2231
+ ta = Types::TypeAsserter
2232
+ attrs = _pcore_type.attributes(true)
2233
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
2234
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
2235
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
2236
+ ta.assert_instance_of('Puppet::AST::TypeMapping[type_expr]', attrs['type_expr'].type, type_expr)
2237
+ ta.assert_instance_of('Puppet::AST::TypeMapping[mapping_expr]', attrs['mapping_expr'].type, mapping_expr)
2238
+ new(locator, offset, length, type_expr, mapping_expr)
2239
+ end
2240
+
2241
+ attr_reader :type_expr
2242
+ attr_reader :mapping_expr
2243
+
2244
+ def initialize(locator, offset, length, type_expr = nil, mapping_expr = nil)
2245
+ super(locator, offset, length)
2246
+ @hash = @hash ^ type_expr.hash ^ mapping_expr.hash
2247
+ @type_expr = type_expr
2248
+ @mapping_expr = mapping_expr
2249
+ end
2250
+
2251
+ def _pcore_init_hash
2252
+ result = super
2253
+ result['type_expr'] = @type_expr unless @type_expr == nil
2254
+ result['mapping_expr'] = @mapping_expr unless @mapping_expr == nil
2255
+ result
2256
+ end
2257
+
2258
+ def _pcore_contents
2259
+ yield(@type_expr) unless @type_expr.nil?
2260
+ yield(@mapping_expr) unless @mapping_expr.nil?
2261
+ end
2262
+
2263
+ def _pcore_all_contents(path, &block)
2264
+ path << self
2265
+ unless @type_expr.nil?
2266
+ block.call(@type_expr, path)
2267
+ @type_expr._pcore_all_contents(path, &block)
2268
+ end
2269
+ unless @mapping_expr.nil?
2270
+ block.call(@mapping_expr, path)
2271
+ @mapping_expr._pcore_all_contents(path, &block)
2272
+ end
2273
+ path.pop
2274
+ end
2275
+
2276
+ def eql?(o)
2277
+ super &&
2278
+ @type_expr.eql?(o.type_expr) &&
2279
+ @mapping_expr.eql?(o.mapping_expr)
2280
+ end
2281
+ alias == eql?
2282
+ end
2283
+
2284
+ class TypeDefinition < QRefDefinition
2285
+ def self._pcore_type
2286
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::TypeDefinition', {
2287
+ 'parent' => QRefDefinition._pcore_type,
2288
+ 'attributes' => {
2289
+ 'parent' => {
2290
+ 'type' => Types::POptionalType.new(Types::PStringType::DEFAULT),
2291
+ 'value' => nil
2292
+ },
2293
+ 'body' => {
2294
+ 'type' => Types::POptionalType.new(Expression._pcore_type),
2295
+ 'value' => nil
2296
+ }
2297
+ }
2298
+ })
2299
+ end
2300
+
2301
+ def self.from_hash(init_hash)
2302
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::TypeDefinition initializer', _pcore_type.init_hash_type, init_hash))
2303
+ end
2304
+
2305
+ def self.from_asserted_hash(init_hash)
2306
+ new(
2307
+ init_hash['locator'],
2308
+ init_hash['offset'],
2309
+ init_hash['length'],
2310
+ init_hash['name'],
2311
+ init_hash['parent'],
2312
+ init_hash['body'])
2313
+ end
2314
+
2315
+ def self.create(locator, offset, length, name, parent = nil, body = nil)
2316
+ ta = Types::TypeAsserter
2317
+ attrs = _pcore_type.attributes(true)
2318
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
2319
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
2320
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
2321
+ ta.assert_instance_of('Puppet::AST::QRefDefinition[name]', attrs['name'].type, name)
2322
+ ta.assert_instance_of('Puppet::AST::TypeDefinition[parent]', attrs['parent'].type, parent)
2323
+ ta.assert_instance_of('Puppet::AST::TypeDefinition[body]', attrs['body'].type, body)
2324
+ new(locator, offset, length, name, parent, body)
2325
+ end
2326
+
2327
+ attr_reader :parent
2328
+ attr_reader :body
2329
+
2330
+ def initialize(locator, offset, length, name, parent = nil, body = nil)
2331
+ super(locator, offset, length, name)
2332
+ @hash = @hash ^ parent.hash ^ body.hash
2333
+ @parent = parent
2334
+ @body = body
2335
+ end
2336
+
2337
+ def _pcore_init_hash
2338
+ result = super
2339
+ result['parent'] = @parent unless @parent == nil
2340
+ result['body'] = @body unless @body == nil
2341
+ result
2342
+ end
2343
+
2344
+ def _pcore_contents
2345
+ yield(@body) unless @body.nil?
2346
+ end
2347
+
2348
+ def _pcore_all_contents(path, &block)
2349
+ path << self
2350
+ unless @body.nil?
2351
+ block.call(@body, path)
2352
+ @body._pcore_all_contents(path, &block)
2353
+ end
2354
+ path.pop
2355
+ end
2356
+
2357
+ def eql?(o)
2358
+ super &&
2359
+ @parent.eql?(o.parent) &&
2360
+ @body.eql?(o.body)
2361
+ end
2362
+ alias == eql?
2363
+ end
2364
+
2365
+ class NodeDefinition < Definition
2366
+ def self._pcore_type
2367
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::NodeDefinition', {
2368
+ 'parent' => Definition._pcore_type,
2369
+ 'attributes' => {
2370
+ 'parent' => {
2371
+ 'type' => Types::POptionalType.new(Expression._pcore_type),
2372
+ 'value' => nil
2373
+ },
2374
+ 'host_matches' => Types::PArrayType.new(Expression._pcore_type, Types::PCollectionType::NOT_EMPTY_SIZE),
2375
+ 'body' => {
2376
+ 'type' => Types::POptionalType.new(Expression._pcore_type),
2377
+ 'value' => nil
2378
+ }
2379
+ }
2380
+ })
2381
+ end
2382
+
2383
+ def self.from_hash(init_hash)
2384
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::NodeDefinition initializer', _pcore_type.init_hash_type, init_hash))
2385
+ end
2386
+
2387
+ def self.from_asserted_hash(init_hash)
2388
+ new(
2389
+ init_hash['locator'],
2390
+ init_hash['offset'],
2391
+ init_hash['length'],
2392
+ init_hash['host_matches'],
2393
+ init_hash['parent'],
2394
+ init_hash['body'])
2395
+ end
2396
+
2397
+ def self.create(locator, offset, length, host_matches, parent = nil, body = nil)
2398
+ ta = Types::TypeAsserter
2399
+ attrs = _pcore_type.attributes(true)
2400
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
2401
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
2402
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
2403
+ ta.assert_instance_of('Puppet::AST::NodeDefinition[parent]', attrs['parent'].type, parent)
2404
+ ta.assert_instance_of('Puppet::AST::NodeDefinition[host_matches]', attrs['host_matches'].type, host_matches)
2405
+ ta.assert_instance_of('Puppet::AST::NodeDefinition[body]', attrs['body'].type, body)
2406
+ new(locator, offset, length, host_matches, parent, body)
2407
+ end
2408
+
2409
+ attr_reader :parent
2410
+ attr_reader :host_matches
2411
+ attr_reader :body
2412
+
2413
+ def initialize(locator, offset, length, host_matches, parent = nil, body = nil)
2414
+ super(locator, offset, length)
2415
+ @hash = @hash ^ parent.hash ^ host_matches.hash ^ body.hash
2416
+ @parent = parent
2417
+ @host_matches = host_matches
2418
+ @body = body
2419
+ end
2420
+
2421
+ def _pcore_init_hash
2422
+ result = super
2423
+ result['parent'] = @parent unless @parent == nil
2424
+ result['host_matches'] = @host_matches
2425
+ result['body'] = @body unless @body == nil
2426
+ result
2427
+ end
2428
+
2429
+ def _pcore_contents
2430
+ yield(@parent) unless @parent.nil?
2431
+ @host_matches.each { |value| yield(value) }
2432
+ yield(@body) unless @body.nil?
2433
+ end
2434
+
2435
+ def _pcore_all_contents(path, &block)
2436
+ path << self
2437
+ unless @parent.nil?
2438
+ block.call(@parent, path)
2439
+ @parent._pcore_all_contents(path, &block)
2440
+ end
2441
+ @host_matches.each do |value|
2442
+ block.call(value, path)
2443
+ value._pcore_all_contents(path, &block)
2444
+ end
2445
+ unless @body.nil?
2446
+ block.call(@body, path)
2447
+ @body._pcore_all_contents(path, &block)
2448
+ end
2449
+ path.pop
2450
+ end
2451
+
2452
+ def eql?(o)
2453
+ super &&
2454
+ @parent.eql?(o.parent) &&
2455
+ @host_matches.eql?(o.host_matches) &&
2456
+ @body.eql?(o.body)
2457
+ end
2458
+ alias == eql?
2459
+ end
2460
+
2461
+ class SiteDefinition < Definition
2462
+ def self._pcore_type
2463
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::SiteDefinition', {
2464
+ 'parent' => Definition._pcore_type,
2465
+ 'attributes' => {
2466
+ 'body' => {
2467
+ 'type' => Types::POptionalType.new(Expression._pcore_type),
2468
+ 'value' => nil
2469
+ }
2470
+ }
2471
+ })
2472
+ end
2473
+
2474
+ def self.from_hash(init_hash)
2475
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::SiteDefinition initializer', _pcore_type.init_hash_type, init_hash))
2476
+ end
2477
+
2478
+ def self.from_asserted_hash(init_hash)
2479
+ new(
2480
+ init_hash['locator'],
2481
+ init_hash['offset'],
2482
+ init_hash['length'],
2483
+ init_hash['body'])
2484
+ end
2485
+
2486
+ def self.create(locator, offset, length, body = nil)
2487
+ ta = Types::TypeAsserter
2488
+ attrs = _pcore_type.attributes(true)
2489
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
2490
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
2491
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
2492
+ ta.assert_instance_of('Puppet::AST::SiteDefinition[body]', attrs['body'].type, body)
2493
+ new(locator, offset, length, body)
2494
+ end
2495
+
2496
+ attr_reader :body
2497
+
2498
+ def initialize(locator, offset, length, body = nil)
2499
+ super(locator, offset, length)
2500
+ @hash = @hash ^ body.hash
2501
+ @body = body
2502
+ end
2503
+
2504
+ def _pcore_init_hash
2505
+ result = super
2506
+ result['body'] = @body unless @body == nil
2507
+ result
2508
+ end
2509
+
2510
+ def _pcore_contents
2511
+ yield(@body) unless @body.nil?
2512
+ end
2513
+
2514
+ def _pcore_all_contents(path, &block)
2515
+ path << self
2516
+ unless @body.nil?
2517
+ block.call(@body, path)
2518
+ @body._pcore_all_contents(path, &block)
2519
+ end
2520
+ path.pop
2521
+ end
2522
+
2523
+ def eql?(o)
2524
+ super &&
2525
+ @body.eql?(o.body)
2526
+ end
2527
+ alias == eql?
2528
+ end
2529
+
2530
+ class SubLocatedExpression < Expression
2531
+ def self._pcore_type
2532
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::SubLocatedExpression', {
2533
+ 'parent' => Expression._pcore_type,
2534
+ 'attributes' => {
2535
+ 'expr' => Expression._pcore_type,
2536
+ 'line_offsets' => {
2537
+ 'type' => Types::PArrayType.new(Types::PIntegerType::DEFAULT),
2538
+ 'value' => []
2539
+ },
2540
+ 'leading_line_count' => {
2541
+ 'type' => Types::POptionalType.new(Types::PIntegerType::DEFAULT),
2542
+ 'value' => nil
2543
+ },
2544
+ 'leading_line_offset' => {
2545
+ 'type' => Types::POptionalType.new(Types::PIntegerType::DEFAULT),
2546
+ 'value' => nil
2547
+ }
2548
+ }
2549
+ })
2550
+ end
2551
+
2552
+ def self.from_hash(init_hash)
2553
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::SubLocatedExpression initializer', _pcore_type.init_hash_type, init_hash))
2554
+ end
2555
+
2556
+ def self.from_asserted_hash(init_hash)
2557
+ new(
2558
+ init_hash['locator'],
2559
+ init_hash['offset'],
2560
+ init_hash['length'],
2561
+ init_hash['expr'],
2562
+ init_hash.fetch('line_offsets') { _pcore_type['line_offsets'].value },
2563
+ init_hash['leading_line_count'],
2564
+ init_hash['leading_line_offset'])
2565
+ end
2566
+
2567
+ def self.create(locator, offset, length, expr, line_offsets = _pcore_type['line_offsets'].value, leading_line_count = nil, leading_line_offset = nil)
2568
+ ta = Types::TypeAsserter
2569
+ attrs = _pcore_type.attributes(true)
2570
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
2571
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
2572
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
2573
+ ta.assert_instance_of('Puppet::AST::SubLocatedExpression[expr]', attrs['expr'].type, expr)
2574
+ ta.assert_instance_of('Puppet::AST::SubLocatedExpression[line_offsets]', attrs['line_offsets'].type, line_offsets)
2575
+ ta.assert_instance_of('Puppet::AST::SubLocatedExpression[leading_line_count]', attrs['leading_line_count'].type, leading_line_count)
2576
+ ta.assert_instance_of('Puppet::AST::SubLocatedExpression[leading_line_offset]', attrs['leading_line_offset'].type, leading_line_offset)
2577
+ new(locator, offset, length, expr, line_offsets, leading_line_count, leading_line_offset)
2578
+ end
2579
+
2580
+ attr_reader :expr
2581
+ attr_reader :line_offsets
2582
+ attr_reader :leading_line_count
2583
+ attr_reader :leading_line_offset
2584
+
2585
+ def initialize(locator, offset, length, expr, line_offsets = _pcore_type['line_offsets'].value, leading_line_count = nil, leading_line_offset = nil)
2586
+ super(locator, offset, length)
2587
+ @hash = @hash ^ expr.hash ^ line_offsets.hash ^ leading_line_count.hash ^ leading_line_offset.hash
2588
+ @expr = expr
2589
+ @line_offsets = line_offsets
2590
+ @leading_line_count = leading_line_count
2591
+ @leading_line_offset = leading_line_offset
2592
+ end
2593
+
2594
+ def _pcore_init_hash
2595
+ result = super
2596
+ result['expr'] = @expr
2597
+ result['line_offsets'] = @line_offsets unless _pcore_type['line_offsets'].default_value?(@line_offsets)
2598
+ result['leading_line_count'] = @leading_line_count unless @leading_line_count == nil
2599
+ result['leading_line_offset'] = @leading_line_offset unless @leading_line_offset == nil
2600
+ result
2601
+ end
2602
+
2603
+ def _pcore_contents
2604
+ yield(@expr) unless @expr.nil?
2605
+ end
2606
+
2607
+ def _pcore_all_contents(path, &block)
2608
+ path << self
2609
+ unless @expr.nil?
2610
+ block.call(@expr, path)
2611
+ @expr._pcore_all_contents(path, &block)
2612
+ end
2613
+ path.pop
2614
+ end
2615
+
2616
+ def eql?(o)
2617
+ super &&
2618
+ @expr.eql?(o.expr) &&
2619
+ @line_offsets.eql?(o.line_offsets) &&
2620
+ @leading_line_count.eql?(o.leading_line_count) &&
2621
+ @leading_line_offset.eql?(o.leading_line_offset)
2622
+ end
2623
+ alias == eql?
2624
+ end
2625
+
2626
+ class HeredocExpression < Expression
2627
+ def self._pcore_type
2628
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::HeredocExpression', {
2629
+ 'parent' => Expression._pcore_type,
2630
+ 'attributes' => {
2631
+ 'syntax' => {
2632
+ 'type' => Types::POptionalType.new(Types::PStringType::DEFAULT),
2633
+ 'value' => nil
2634
+ },
2635
+ 'text_expr' => Expression._pcore_type
2636
+ }
2637
+ })
2638
+ end
2639
+
2640
+ def self.from_hash(init_hash)
2641
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::HeredocExpression initializer', _pcore_type.init_hash_type, init_hash))
2642
+ end
2643
+
2644
+ def self.from_asserted_hash(init_hash)
2645
+ new(
2646
+ init_hash['locator'],
2647
+ init_hash['offset'],
2648
+ init_hash['length'],
2649
+ init_hash['text_expr'],
2650
+ init_hash['syntax'])
2651
+ end
2652
+
2653
+ def self.create(locator, offset, length, text_expr, syntax = nil)
2654
+ ta = Types::TypeAsserter
2655
+ attrs = _pcore_type.attributes(true)
2656
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
2657
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
2658
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
2659
+ ta.assert_instance_of('Puppet::AST::HeredocExpression[syntax]', attrs['syntax'].type, syntax)
2660
+ ta.assert_instance_of('Puppet::AST::HeredocExpression[text_expr]', attrs['text_expr'].type, text_expr)
2661
+ new(locator, offset, length, text_expr, syntax)
2662
+ end
2663
+
2664
+ attr_reader :syntax
2665
+ attr_reader :text_expr
2666
+
2667
+ def initialize(locator, offset, length, text_expr, syntax = nil)
2668
+ super(locator, offset, length)
2669
+ @hash = @hash ^ syntax.hash ^ text_expr.hash
2670
+ @syntax = syntax
2671
+ @text_expr = text_expr
2672
+ end
2673
+
2674
+ def _pcore_init_hash
2675
+ result = super
2676
+ result['syntax'] = @syntax unless @syntax == nil
2677
+ result['text_expr'] = @text_expr
2678
+ result
2679
+ end
2680
+
2681
+ def _pcore_contents
2682
+ yield(@text_expr) unless @text_expr.nil?
2683
+ end
2684
+
2685
+ def _pcore_all_contents(path, &block)
2686
+ path << self
2687
+ unless @text_expr.nil?
2688
+ block.call(@text_expr, path)
2689
+ @text_expr._pcore_all_contents(path, &block)
2690
+ end
2691
+ path.pop
2692
+ end
2693
+
2694
+ def eql?(o)
2695
+ super &&
2696
+ @syntax.eql?(o.syntax) &&
2697
+ @text_expr.eql?(o.text_expr)
2698
+ end
2699
+ alias == eql?
2700
+ end
2701
+
2702
+ class HostClassDefinition < NamedDefinition
2703
+ def self._pcore_type
2704
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::HostClassDefinition', {
2705
+ 'parent' => NamedDefinition._pcore_type,
2706
+ 'attributes' => {
2707
+ 'parent_class' => {
2708
+ 'type' => Types::POptionalType.new(Types::PStringType::DEFAULT),
2709
+ 'value' => nil
2710
+ }
2711
+ }
2712
+ })
2713
+ end
2714
+
2715
+ def self.from_hash(init_hash)
2716
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::HostClassDefinition initializer', _pcore_type.init_hash_type, init_hash))
2717
+ end
2718
+
2719
+ def self.from_asserted_hash(init_hash)
2720
+ new(
2721
+ init_hash['locator'],
2722
+ init_hash['offset'],
2723
+ init_hash['length'],
2724
+ init_hash['name'],
2725
+ init_hash.fetch('parameters') { _pcore_type['parameters'].value },
2726
+ init_hash['body'],
2727
+ init_hash['parent_class'])
2728
+ end
2729
+
2730
+ def self.create(locator, offset, length, name, parameters = _pcore_type['parameters'].value, body = nil, parent_class = nil)
2731
+ ta = Types::TypeAsserter
2732
+ attrs = _pcore_type.attributes(true)
2733
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
2734
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
2735
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
2736
+ ta.assert_instance_of('Puppet::AST::NamedDefinition[name]', attrs['name'].type, name)
2737
+ ta.assert_instance_of('Puppet::AST::NamedDefinition[parameters]', attrs['parameters'].type, parameters)
2738
+ ta.assert_instance_of('Puppet::AST::NamedDefinition[body]', attrs['body'].type, body)
2739
+ ta.assert_instance_of('Puppet::AST::HostClassDefinition[parent_class]', attrs['parent_class'].type, parent_class)
2740
+ new(locator, offset, length, name, parameters, body, parent_class)
2741
+ end
2742
+
2743
+ attr_reader :parent_class
2744
+
2745
+ def initialize(locator, offset, length, name, parameters = _pcore_type['parameters'].value, body = nil, parent_class = nil)
2746
+ super(locator, offset, length, name, parameters, body)
2747
+ @hash = @hash ^ parent_class.hash
2748
+ @parent_class = parent_class
2749
+ end
2750
+
2751
+ def _pcore_init_hash
2752
+ result = super
2753
+ result['parent_class'] = @parent_class unless @parent_class == nil
2754
+ result
2755
+ end
2756
+
2757
+ def _pcore_contents
2758
+ @parameters.each { |value| yield(value) }
2759
+ yield(@body) unless @body.nil?
2760
+ end
2761
+
2762
+ def _pcore_all_contents(path, &block)
2763
+ path << self
2764
+ @parameters.each do |value|
2765
+ block.call(value, path)
2766
+ value._pcore_all_contents(path, &block)
2767
+ end
2768
+ unless @body.nil?
2769
+ block.call(@body, path)
2770
+ @body._pcore_all_contents(path, &block)
2771
+ end
2772
+ path.pop
2773
+ end
2774
+
2775
+ def eql?(o)
2776
+ super &&
2777
+ @parent_class.eql?(o.parent_class)
2778
+ end
2779
+ alias == eql?
2780
+ end
2781
+
2782
+ class PlanDefinition < FunctionDefinition
2783
+ def self._pcore_type
2784
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::PlanDefinition', {
2785
+ 'parent' => FunctionDefinition._pcore_type
2786
+ })
2787
+ end
2788
+
2789
+ def _pcore_contents
2790
+ @parameters.each { |value| yield(value) }
2791
+ yield(@body) unless @body.nil?
2792
+ yield(@return_type) unless @return_type.nil?
2793
+ end
2794
+
2795
+ def _pcore_all_contents(path, &block)
2796
+ path << self
2797
+ @parameters.each do |value|
2798
+ block.call(value, path)
2799
+ value._pcore_all_contents(path, &block)
2800
+ end
2801
+ unless @body.nil?
2802
+ block.call(@body, path)
2803
+ @body._pcore_all_contents(path, &block)
2804
+ end
2805
+ unless @return_type.nil?
2806
+ block.call(@return_type, path)
2807
+ @return_type._pcore_all_contents(path, &block)
2808
+ end
2809
+ path.pop
2810
+ end
2811
+ end
2812
+
2813
+ class LambdaExpression < Expression
2814
+ def self._pcore_type
2815
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::LambdaExpression', {
2816
+ 'parent' => Expression._pcore_type,
2817
+ 'attributes' => {
2818
+ 'parameters' => {
2819
+ 'type' => Types::PArrayType.new(Parameter._pcore_type),
2820
+ 'value' => []
2821
+ },
2822
+ 'body' => {
2823
+ 'type' => Types::POptionalType.new(Expression._pcore_type),
2824
+ 'value' => nil
2825
+ },
2826
+ 'return_type' => {
2827
+ 'type' => Types::POptionalType.new(Expression._pcore_type),
2828
+ 'value' => nil
2829
+ }
2830
+ }
2831
+ })
2832
+ end
2833
+
2834
+ def self.from_hash(init_hash)
2835
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::LambdaExpression initializer', _pcore_type.init_hash_type, init_hash))
2836
+ end
2837
+
2838
+ def self.from_asserted_hash(init_hash)
2839
+ new(
2840
+ init_hash['locator'],
2841
+ init_hash['offset'],
2842
+ init_hash['length'],
2843
+ init_hash.fetch('parameters') { _pcore_type['parameters'].value },
2844
+ init_hash['body'],
2845
+ init_hash['return_type'])
2846
+ end
2847
+
2848
+ def self.create(locator, offset, length, parameters = _pcore_type['parameters'].value, body = nil, return_type = nil)
2849
+ ta = Types::TypeAsserter
2850
+ attrs = _pcore_type.attributes(true)
2851
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
2852
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
2853
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
2854
+ ta.assert_instance_of('Puppet::AST::LambdaExpression[parameters]', attrs['parameters'].type, parameters)
2855
+ ta.assert_instance_of('Puppet::AST::LambdaExpression[body]', attrs['body'].type, body)
2856
+ ta.assert_instance_of('Puppet::AST::LambdaExpression[return_type]', attrs['return_type'].type, return_type)
2857
+ new(locator, offset, length, parameters, body, return_type)
2858
+ end
2859
+
2860
+ attr_reader :parameters
2861
+ attr_reader :body
2862
+ attr_reader :return_type
2863
+
2864
+ def initialize(locator, offset, length, parameters = _pcore_type['parameters'].value, body = nil, return_type = nil)
2865
+ super(locator, offset, length)
2866
+ @hash = @hash ^ parameters.hash ^ body.hash ^ return_type.hash
2867
+ @parameters = parameters
2868
+ @body = body
2869
+ @return_type = return_type
2870
+ end
2871
+
2872
+ def _pcore_init_hash
2873
+ result = super
2874
+ result['parameters'] = @parameters unless _pcore_type['parameters'].default_value?(@parameters)
2875
+ result['body'] = @body unless @body == nil
2876
+ result['return_type'] = @return_type unless @return_type == nil
2877
+ result
2878
+ end
2879
+
2880
+ def _pcore_contents
2881
+ @parameters.each { |value| yield(value) }
2882
+ yield(@body) unless @body.nil?
2883
+ yield(@return_type) unless @return_type.nil?
2884
+ end
2885
+
2886
+ def _pcore_all_contents(path, &block)
2887
+ path << self
2888
+ @parameters.each do |value|
2889
+ block.call(value, path)
2890
+ value._pcore_all_contents(path, &block)
2891
+ end
2892
+ unless @body.nil?
2893
+ block.call(@body, path)
2894
+ @body._pcore_all_contents(path, &block)
2895
+ end
2896
+ unless @return_type.nil?
2897
+ block.call(@return_type, path)
2898
+ @return_type._pcore_all_contents(path, &block)
2899
+ end
2900
+ path.pop
2901
+ end
2902
+
2903
+ def eql?(o)
2904
+ super &&
2905
+ @parameters.eql?(o.parameters) &&
2906
+ @body.eql?(o.body) &&
2907
+ @return_type.eql?(o.return_type)
2908
+ end
2909
+ alias == eql?
2910
+ end
2911
+
2912
+ class IfExpression < Expression
2913
+ def self._pcore_type
2914
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::IfExpression', {
2915
+ 'parent' => Expression._pcore_type,
2916
+ 'attributes' => {
2917
+ 'test' => Expression._pcore_type,
2918
+ 'then_expr' => {
2919
+ 'type' => Types::POptionalType.new(Expression._pcore_type),
2920
+ 'value' => nil
2921
+ },
2922
+ 'else_expr' => {
2923
+ 'type' => Types::POptionalType.new(Expression._pcore_type),
2924
+ 'value' => nil
2925
+ }
2926
+ }
2927
+ })
2928
+ end
2929
+
2930
+ def self.from_hash(init_hash)
2931
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::IfExpression initializer', _pcore_type.init_hash_type, init_hash))
2932
+ end
2933
+
2934
+ def self.from_asserted_hash(init_hash)
2935
+ new(
2936
+ init_hash['locator'],
2937
+ init_hash['offset'],
2938
+ init_hash['length'],
2939
+ init_hash['test'],
2940
+ init_hash['then_expr'],
2941
+ init_hash['else_expr'])
2942
+ end
2943
+
2944
+ def self.create(locator, offset, length, test, then_expr = nil, else_expr = nil)
2945
+ ta = Types::TypeAsserter
2946
+ attrs = _pcore_type.attributes(true)
2947
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
2948
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
2949
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
2950
+ ta.assert_instance_of('Puppet::AST::IfExpression[test]', attrs['test'].type, test)
2951
+ ta.assert_instance_of('Puppet::AST::IfExpression[then_expr]', attrs['then_expr'].type, then_expr)
2952
+ ta.assert_instance_of('Puppet::AST::IfExpression[else_expr]', attrs['else_expr'].type, else_expr)
2953
+ new(locator, offset, length, test, then_expr, else_expr)
2954
+ end
2955
+
2956
+ attr_reader :test
2957
+ attr_reader :then_expr
2958
+ attr_reader :else_expr
2959
+
2960
+ def initialize(locator, offset, length, test, then_expr = nil, else_expr = nil)
2961
+ super(locator, offset, length)
2962
+ @hash = @hash ^ test.hash ^ then_expr.hash ^ else_expr.hash
2963
+ @test = test
2964
+ @then_expr = then_expr
2965
+ @else_expr = else_expr
2966
+ end
2967
+
2968
+ def _pcore_init_hash
2969
+ result = super
2970
+ result['test'] = @test
2971
+ result['then_expr'] = @then_expr unless @then_expr == nil
2972
+ result['else_expr'] = @else_expr unless @else_expr == nil
2973
+ result
2974
+ end
2975
+
2976
+ def _pcore_contents
2977
+ yield(@test) unless @test.nil?
2978
+ yield(@then_expr) unless @then_expr.nil?
2979
+ yield(@else_expr) unless @else_expr.nil?
2980
+ end
2981
+
2982
+ def _pcore_all_contents(path, &block)
2983
+ path << self
2984
+ unless @test.nil?
2985
+ block.call(@test, path)
2986
+ @test._pcore_all_contents(path, &block)
2987
+ end
2988
+ unless @then_expr.nil?
2989
+ block.call(@then_expr, path)
2990
+ @then_expr._pcore_all_contents(path, &block)
2991
+ end
2992
+ unless @else_expr.nil?
2993
+ block.call(@else_expr, path)
2994
+ @else_expr._pcore_all_contents(path, &block)
2995
+ end
2996
+ path.pop
2997
+ end
2998
+
2999
+ def eql?(o)
3000
+ super &&
3001
+ @test.eql?(o.test) &&
3002
+ @then_expr.eql?(o.then_expr) &&
3003
+ @else_expr.eql?(o.else_expr)
3004
+ end
3005
+ alias == eql?
3006
+ end
3007
+
3008
+ class UnlessExpression < IfExpression
3009
+ def self._pcore_type
3010
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::UnlessExpression', {
3011
+ 'parent' => IfExpression._pcore_type
3012
+ })
3013
+ end
3014
+
3015
+ def _pcore_contents
3016
+ yield(@test) unless @test.nil?
3017
+ yield(@then_expr) unless @then_expr.nil?
3018
+ yield(@else_expr) unless @else_expr.nil?
3019
+ end
3020
+
3021
+ def _pcore_all_contents(path, &block)
3022
+ path << self
3023
+ unless @test.nil?
3024
+ block.call(@test, path)
3025
+ @test._pcore_all_contents(path, &block)
3026
+ end
3027
+ unless @then_expr.nil?
3028
+ block.call(@then_expr, path)
3029
+ @then_expr._pcore_all_contents(path, &block)
3030
+ end
3031
+ unless @else_expr.nil?
3032
+ block.call(@else_expr, path)
3033
+ @else_expr._pcore_all_contents(path, &block)
3034
+ end
3035
+ path.pop
3036
+ end
3037
+ end
3038
+
3039
+ class CallExpression < Expression
3040
+ def self._pcore_type
3041
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::CallExpression', {
3042
+ 'parent' => Expression._pcore_type,
3043
+ 'attributes' => {
3044
+ 'rval_required' => {
3045
+ 'type' => Types::PBooleanType::DEFAULT,
3046
+ 'value' => false
3047
+ },
3048
+ 'functor_expr' => Expression._pcore_type,
3049
+ 'arguments' => {
3050
+ 'type' => Types::PArrayType.new(Expression._pcore_type),
3051
+ 'value' => []
3052
+ },
3053
+ 'lambda' => {
3054
+ 'type' => Types::POptionalType.new(Expression._pcore_type),
3055
+ 'value' => nil
3056
+ }
3057
+ }
3058
+ })
3059
+ end
3060
+
3061
+ def self.from_hash(init_hash)
3062
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::CallExpression initializer', _pcore_type.init_hash_type, init_hash))
3063
+ end
3064
+
3065
+ def self.from_asserted_hash(init_hash)
3066
+ new(
3067
+ init_hash['locator'],
3068
+ init_hash['offset'],
3069
+ init_hash['length'],
3070
+ init_hash['functor_expr'],
3071
+ init_hash.fetch('rval_required') { false },
3072
+ init_hash.fetch('arguments') { _pcore_type['arguments'].value },
3073
+ init_hash['lambda'])
3074
+ end
3075
+
3076
+ def self.create(locator, offset, length, functor_expr, rval_required = false, arguments = _pcore_type['arguments'].value, lambda = nil)
3077
+ ta = Types::TypeAsserter
3078
+ attrs = _pcore_type.attributes(true)
3079
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
3080
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
3081
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
3082
+ ta.assert_instance_of('Puppet::AST::CallExpression[rval_required]', attrs['rval_required'].type, rval_required)
3083
+ ta.assert_instance_of('Puppet::AST::CallExpression[functor_expr]', attrs['functor_expr'].type, functor_expr)
3084
+ ta.assert_instance_of('Puppet::AST::CallExpression[arguments]', attrs['arguments'].type, arguments)
3085
+ ta.assert_instance_of('Puppet::AST::CallExpression[lambda]', attrs['lambda'].type, lambda)
3086
+ new(locator, offset, length, functor_expr, rval_required, arguments, lambda)
3087
+ end
3088
+
3089
+ attr_reader :rval_required
3090
+ attr_reader :functor_expr
3091
+ attr_reader :arguments
3092
+ attr_reader :lambda
3093
+
3094
+ def initialize(locator, offset, length, functor_expr, rval_required = false, arguments = _pcore_type['arguments'].value, lambda = nil)
3095
+ super(locator, offset, length)
3096
+ @hash = @hash ^ rval_required.hash ^ functor_expr.hash ^ arguments.hash ^ lambda.hash
3097
+ @rval_required = rval_required
3098
+ @functor_expr = functor_expr
3099
+ @arguments = arguments
3100
+ @lambda = lambda
3101
+ end
3102
+
3103
+ def _pcore_init_hash
3104
+ result = super
3105
+ result['rval_required'] = @rval_required unless @rval_required == false
3106
+ result['functor_expr'] = @functor_expr
3107
+ result['arguments'] = @arguments unless _pcore_type['arguments'].default_value?(@arguments)
3108
+ result['lambda'] = @lambda unless @lambda == nil
3109
+ result
3110
+ end
3111
+
3112
+ def _pcore_contents
3113
+ yield(@functor_expr) unless @functor_expr.nil?
3114
+ @arguments.each { |value| yield(value) }
3115
+ yield(@lambda) unless @lambda.nil?
3116
+ end
3117
+
3118
+ def _pcore_all_contents(path, &block)
3119
+ path << self
3120
+ unless @functor_expr.nil?
3121
+ block.call(@functor_expr, path)
3122
+ @functor_expr._pcore_all_contents(path, &block)
3123
+ end
3124
+ @arguments.each do |value|
3125
+ block.call(value, path)
3126
+ value._pcore_all_contents(path, &block)
3127
+ end
3128
+ unless @lambda.nil?
3129
+ block.call(@lambda, path)
3130
+ @lambda._pcore_all_contents(path, &block)
3131
+ end
3132
+ path.pop
3133
+ end
3134
+
3135
+ def eql?(o)
3136
+ super &&
3137
+ @rval_required.eql?(o.rval_required) &&
3138
+ @functor_expr.eql?(o.functor_expr) &&
3139
+ @arguments.eql?(o.arguments) &&
3140
+ @lambda.eql?(o.lambda)
3141
+ end
3142
+ alias == eql?
3143
+ end
3144
+
3145
+ class CallFunctionExpression < CallExpression
3146
+ def self._pcore_type
3147
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::CallFunctionExpression', {
3148
+ 'parent' => CallExpression._pcore_type
3149
+ })
3150
+ end
3151
+
3152
+ def _pcore_contents
3153
+ yield(@functor_expr) unless @functor_expr.nil?
3154
+ @arguments.each { |value| yield(value) }
3155
+ yield(@lambda) unless @lambda.nil?
3156
+ end
3157
+
3158
+ def _pcore_all_contents(path, &block)
3159
+ path << self
3160
+ unless @functor_expr.nil?
3161
+ block.call(@functor_expr, path)
3162
+ @functor_expr._pcore_all_contents(path, &block)
3163
+ end
3164
+ @arguments.each do |value|
3165
+ block.call(value, path)
3166
+ value._pcore_all_contents(path, &block)
3167
+ end
3168
+ unless @lambda.nil?
3169
+ block.call(@lambda, path)
3170
+ @lambda._pcore_all_contents(path, &block)
3171
+ end
3172
+ path.pop
3173
+ end
3174
+ end
3175
+
3176
+ class CallNamedFunctionExpression < CallExpression
3177
+ def self._pcore_type
3178
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::CallNamedFunctionExpression', {
3179
+ 'parent' => CallExpression._pcore_type
3180
+ })
3181
+ end
3182
+
3183
+ def _pcore_contents
3184
+ yield(@functor_expr) unless @functor_expr.nil?
3185
+ @arguments.each { |value| yield(value) }
3186
+ yield(@lambda) unless @lambda.nil?
3187
+ end
3188
+
3189
+ def _pcore_all_contents(path, &block)
3190
+ path << self
3191
+ unless @functor_expr.nil?
3192
+ block.call(@functor_expr, path)
3193
+ @functor_expr._pcore_all_contents(path, &block)
3194
+ end
3195
+ @arguments.each do |value|
3196
+ block.call(value, path)
3197
+ value._pcore_all_contents(path, &block)
3198
+ end
3199
+ unless @lambda.nil?
3200
+ block.call(@lambda, path)
3201
+ @lambda._pcore_all_contents(path, &block)
3202
+ end
3203
+ path.pop
3204
+ end
3205
+ end
3206
+
3207
+ class CallMethodExpression < CallExpression
3208
+ def self._pcore_type
3209
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::CallMethodExpression', {
3210
+ 'parent' => CallExpression._pcore_type
3211
+ })
3212
+ end
3213
+
3214
+ def _pcore_contents
3215
+ yield(@functor_expr) unless @functor_expr.nil?
3216
+ @arguments.each { |value| yield(value) }
3217
+ yield(@lambda) unless @lambda.nil?
3218
+ end
3219
+
3220
+ def _pcore_all_contents(path, &block)
3221
+ path << self
3222
+ unless @functor_expr.nil?
3223
+ block.call(@functor_expr, path)
3224
+ @functor_expr._pcore_all_contents(path, &block)
3225
+ end
3226
+ @arguments.each do |value|
3227
+ block.call(value, path)
3228
+ value._pcore_all_contents(path, &block)
3229
+ end
3230
+ unless @lambda.nil?
3231
+ block.call(@lambda, path)
3232
+ @lambda._pcore_all_contents(path, &block)
3233
+ end
3234
+ path.pop
3235
+ end
3236
+ end
3237
+
3238
+ class Literal < Expression
3239
+ def self._pcore_type
3240
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::Literal', {
3241
+ 'parent' => Expression._pcore_type
3242
+ })
3243
+ end
3244
+ end
3245
+
3246
+ class LiteralValue < Literal
3247
+ def self._pcore_type
3248
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::LiteralValue', {
3249
+ 'parent' => Literal._pcore_type
3250
+ })
3251
+ end
3252
+ end
3253
+
3254
+ class LiteralRegularExpression < LiteralValue
3255
+ def self._pcore_type
3256
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::LiteralRegularExpression', {
3257
+ 'parent' => LiteralValue._pcore_type,
3258
+ 'attributes' => {
3259
+ 'value' => Types::PAnyType::DEFAULT,
3260
+ 'pattern' => Types::PStringType::DEFAULT
3261
+ }
3262
+ })
3263
+ end
3264
+
3265
+ def self.from_hash(init_hash)
3266
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::LiteralRegularExpression initializer', _pcore_type.init_hash_type, init_hash))
3267
+ end
3268
+
3269
+ def self.from_asserted_hash(init_hash)
3270
+ new(
3271
+ init_hash['locator'],
3272
+ init_hash['offset'],
3273
+ init_hash['length'],
3274
+ init_hash['value'],
3275
+ init_hash['pattern'])
3276
+ end
3277
+
3278
+ def self.create(locator, offset, length, value, pattern)
3279
+ ta = Types::TypeAsserter
3280
+ attrs = _pcore_type.attributes(true)
3281
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
3282
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
3283
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
3284
+ ta.assert_instance_of('Puppet::AST::LiteralRegularExpression[value]', attrs['value'].type, value)
3285
+ ta.assert_instance_of('Puppet::AST::LiteralRegularExpression[pattern]', attrs['pattern'].type, pattern)
3286
+ new(locator, offset, length, value, pattern)
3287
+ end
3288
+
3289
+ attr_reader :value
3290
+ attr_reader :pattern
3291
+
3292
+ def initialize(locator, offset, length, value, pattern)
3293
+ super(locator, offset, length)
3294
+ @hash = @hash ^ value.hash ^ pattern.hash
3295
+ @value = value
3296
+ @pattern = pattern
3297
+ end
3298
+
3299
+ def _pcore_init_hash
3300
+ result = super
3301
+ result['value'] = @value
3302
+ result['pattern'] = @pattern
3303
+ result
3304
+ end
3305
+
3306
+ def eql?(o)
3307
+ super &&
3308
+ @value.eql?(o.value) &&
3309
+ @pattern.eql?(o.pattern)
3310
+ end
3311
+ alias == eql?
3312
+ end
3313
+
3314
+ class LiteralString < LiteralValue
3315
+ def self._pcore_type
3316
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::LiteralString', {
3317
+ 'parent' => LiteralValue._pcore_type,
3318
+ 'attributes' => {
3319
+ 'value' => Types::PStringType::DEFAULT
3320
+ }
3321
+ })
3322
+ end
3323
+
3324
+ def self.from_hash(init_hash)
3325
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::LiteralString initializer', _pcore_type.init_hash_type, init_hash))
3326
+ end
3327
+
3328
+ def self.from_asserted_hash(init_hash)
3329
+ new(
3330
+ init_hash['locator'],
3331
+ init_hash['offset'],
3332
+ init_hash['length'],
3333
+ init_hash['value'])
3334
+ end
3335
+
3336
+ def self.create(locator, offset, length, value)
3337
+ ta = Types::TypeAsserter
3338
+ attrs = _pcore_type.attributes(true)
3339
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
3340
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
3341
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
3342
+ ta.assert_instance_of('Puppet::AST::LiteralString[value]', attrs['value'].type, value)
3343
+ new(locator, offset, length, value)
3344
+ end
3345
+
3346
+ attr_reader :value
3347
+
3348
+ def initialize(locator, offset, length, value)
3349
+ super(locator, offset, length)
3350
+ @hash = @hash ^ value.hash
3351
+ @value = value
3352
+ end
3353
+
3354
+ def _pcore_init_hash
3355
+ result = super
3356
+ result['value'] = @value
3357
+ result
3358
+ end
3359
+
3360
+ def eql?(o)
3361
+ super &&
3362
+ @value.eql?(o.value)
3363
+ end
3364
+ alias == eql?
3365
+ end
3366
+
3367
+ class LiteralNumber < LiteralValue
3368
+ def self._pcore_type
3369
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::LiteralNumber', {
3370
+ 'parent' => LiteralValue._pcore_type
3371
+ })
3372
+ end
3373
+ end
3374
+
3375
+ class LiteralInteger < LiteralNumber
3376
+ def self._pcore_type
3377
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::LiteralInteger', {
3378
+ 'parent' => LiteralNumber._pcore_type,
3379
+ 'attributes' => {
3380
+ 'radix' => {
3381
+ 'type' => Types::PIntegerType::DEFAULT,
3382
+ 'value' => 10
3383
+ },
3384
+ 'value' => Types::PIntegerType::DEFAULT
3385
+ }
3386
+ })
3387
+ end
3388
+
3389
+ def self.from_hash(init_hash)
3390
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::LiteralInteger initializer', _pcore_type.init_hash_type, init_hash))
3391
+ end
3392
+
3393
+ def self.from_asserted_hash(init_hash)
3394
+ new(
3395
+ init_hash['locator'],
3396
+ init_hash['offset'],
3397
+ init_hash['length'],
3398
+ init_hash['value'],
3399
+ init_hash.fetch('radix') { 10 })
3400
+ end
3401
+
3402
+ def self.create(locator, offset, length, value, radix = 10)
3403
+ ta = Types::TypeAsserter
3404
+ attrs = _pcore_type.attributes(true)
3405
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
3406
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
3407
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
3408
+ ta.assert_instance_of('Puppet::AST::LiteralInteger[radix]', attrs['radix'].type, radix)
3409
+ ta.assert_instance_of('Puppet::AST::LiteralInteger[value]', attrs['value'].type, value)
3410
+ new(locator, offset, length, value, radix)
3411
+ end
3412
+
3413
+ attr_reader :radix
3414
+ attr_reader :value
3415
+
3416
+ def initialize(locator, offset, length, value, radix = 10)
3417
+ super(locator, offset, length)
3418
+ @hash = @hash ^ radix.hash ^ value.hash
3419
+ @radix = radix
3420
+ @value = value
3421
+ end
3422
+
3423
+ def _pcore_init_hash
3424
+ result = super
3425
+ result['radix'] = @radix unless @radix == 10
3426
+ result['value'] = @value
3427
+ result
3428
+ end
3429
+
3430
+ def eql?(o)
3431
+ super &&
3432
+ @radix.eql?(o.radix) &&
3433
+ @value.eql?(o.value)
3434
+ end
3435
+ alias == eql?
3436
+ end
3437
+
3438
+ class LiteralFloat < LiteralNumber
3439
+ def self._pcore_type
3440
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::LiteralFloat', {
3441
+ 'parent' => LiteralNumber._pcore_type,
3442
+ 'attributes' => {
3443
+ 'value' => Types::PFloatType::DEFAULT
3444
+ }
3445
+ })
3446
+ end
3447
+
3448
+ def self.from_hash(init_hash)
3449
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::LiteralFloat initializer', _pcore_type.init_hash_type, init_hash))
3450
+ end
3451
+
3452
+ def self.from_asserted_hash(init_hash)
3453
+ new(
3454
+ init_hash['locator'],
3455
+ init_hash['offset'],
3456
+ init_hash['length'],
3457
+ init_hash['value'])
3458
+ end
3459
+
3460
+ def self.create(locator, offset, length, value)
3461
+ ta = Types::TypeAsserter
3462
+ attrs = _pcore_type.attributes(true)
3463
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
3464
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
3465
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
3466
+ ta.assert_instance_of('Puppet::AST::LiteralFloat[value]', attrs['value'].type, value)
3467
+ new(locator, offset, length, value)
3468
+ end
3469
+
3470
+ attr_reader :value
3471
+
3472
+ def initialize(locator, offset, length, value)
3473
+ super(locator, offset, length)
3474
+ @hash = @hash ^ value.hash
3475
+ @value = value
3476
+ end
3477
+
3478
+ def _pcore_init_hash
3479
+ result = super
3480
+ result['value'] = @value
3481
+ result
3482
+ end
3483
+
3484
+ def eql?(o)
3485
+ super &&
3486
+ @value.eql?(o.value)
3487
+ end
3488
+ alias == eql?
3489
+ end
3490
+
3491
+ class LiteralUndef < Literal
3492
+ def self._pcore_type
3493
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::LiteralUndef', {
3494
+ 'parent' => Literal._pcore_type
3495
+ })
3496
+ end
3497
+ end
3498
+
3499
+ class LiteralDefault < Literal
3500
+ def self._pcore_type
3501
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::LiteralDefault', {
3502
+ 'parent' => Literal._pcore_type
3503
+ })
3504
+ end
3505
+ end
3506
+
3507
+ class LiteralBoolean < LiteralValue
3508
+ def self._pcore_type
3509
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::LiteralBoolean', {
3510
+ 'parent' => LiteralValue._pcore_type,
3511
+ 'attributes' => {
3512
+ 'value' => Types::PBooleanType::DEFAULT
3513
+ }
3514
+ })
3515
+ end
3516
+
3517
+ def self.from_hash(init_hash)
3518
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::LiteralBoolean initializer', _pcore_type.init_hash_type, init_hash))
3519
+ end
3520
+
3521
+ def self.from_asserted_hash(init_hash)
3522
+ new(
3523
+ init_hash['locator'],
3524
+ init_hash['offset'],
3525
+ init_hash['length'],
3526
+ init_hash['value'])
3527
+ end
3528
+
3529
+ def self.create(locator, offset, length, value)
3530
+ ta = Types::TypeAsserter
3531
+ attrs = _pcore_type.attributes(true)
3532
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
3533
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
3534
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
3535
+ ta.assert_instance_of('Puppet::AST::LiteralBoolean[value]', attrs['value'].type, value)
3536
+ new(locator, offset, length, value)
3537
+ end
3538
+
3539
+ attr_reader :value
3540
+
3541
+ def initialize(locator, offset, length, value)
3542
+ super(locator, offset, length)
3543
+ @hash = @hash ^ value.hash
3544
+ @value = value
3545
+ end
3546
+
3547
+ def _pcore_init_hash
3548
+ result = super
3549
+ result['value'] = @value
3550
+ result
3551
+ end
3552
+
3553
+ def eql?(o)
3554
+ super &&
3555
+ @value.eql?(o.value)
3556
+ end
3557
+ alias == eql?
3558
+ end
3559
+
3560
+ class TextExpression < UnaryExpression
3561
+ def self._pcore_type
3562
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::TextExpression', {
3563
+ 'parent' => UnaryExpression._pcore_type
3564
+ })
3565
+ end
3566
+
3567
+ def _pcore_contents
3568
+ yield(@expr) unless @expr.nil?
3569
+ end
3570
+
3571
+ def _pcore_all_contents(path, &block)
3572
+ path << self
3573
+ unless @expr.nil?
3574
+ block.call(@expr, path)
3575
+ @expr._pcore_all_contents(path, &block)
3576
+ end
3577
+ path.pop
3578
+ end
3579
+ end
3580
+
3581
+ class ConcatenatedString < Expression
3582
+ def self._pcore_type
3583
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::ConcatenatedString', {
3584
+ 'parent' => Expression._pcore_type,
3585
+ 'attributes' => {
3586
+ 'segments' => {
3587
+ 'type' => Types::PArrayType.new(Expression._pcore_type),
3588
+ 'value' => []
3589
+ }
3590
+ }
3591
+ })
3592
+ end
3593
+
3594
+ def self.from_hash(init_hash)
3595
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::ConcatenatedString initializer', _pcore_type.init_hash_type, init_hash))
3596
+ end
3597
+
3598
+ def self.from_asserted_hash(init_hash)
3599
+ new(
3600
+ init_hash['locator'],
3601
+ init_hash['offset'],
3602
+ init_hash['length'],
3603
+ init_hash.fetch('segments') { _pcore_type['segments'].value })
3604
+ end
3605
+
3606
+ def self.create(locator, offset, length, segments = _pcore_type['segments'].value)
3607
+ ta = Types::TypeAsserter
3608
+ attrs = _pcore_type.attributes(true)
3609
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
3610
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
3611
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
3612
+ ta.assert_instance_of('Puppet::AST::ConcatenatedString[segments]', attrs['segments'].type, segments)
3613
+ new(locator, offset, length, segments)
3614
+ end
3615
+
3616
+ attr_reader :segments
3617
+
3618
+ def initialize(locator, offset, length, segments = _pcore_type['segments'].value)
3619
+ super(locator, offset, length)
3620
+ @hash = @hash ^ segments.hash
3621
+ @segments = segments
3622
+ end
3623
+
3624
+ def _pcore_init_hash
3625
+ result = super
3626
+ result['segments'] = @segments unless _pcore_type['segments'].default_value?(@segments)
3627
+ result
3628
+ end
3629
+
3630
+ def _pcore_contents
3631
+ @segments.each { |value| yield(value) }
3632
+ end
3633
+
3634
+ def _pcore_all_contents(path, &block)
3635
+ path << self
3636
+ @segments.each do |value|
3637
+ block.call(value, path)
3638
+ value._pcore_all_contents(path, &block)
3639
+ end
3640
+ path.pop
3641
+ end
3642
+
3643
+ def eql?(o)
3644
+ super &&
3645
+ @segments.eql?(o.segments)
3646
+ end
3647
+ alias == eql?
3648
+ end
3649
+
3650
+ class QualifiedName < LiteralValue
3651
+ def self._pcore_type
3652
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::QualifiedName', {
3653
+ 'parent' => LiteralValue._pcore_type,
3654
+ 'attributes' => {
3655
+ 'value' => Types::PStringType::DEFAULT
3656
+ }
3657
+ })
3658
+ end
3659
+
3660
+ def self.from_hash(init_hash)
3661
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::QualifiedName initializer', _pcore_type.init_hash_type, init_hash))
3662
+ end
3663
+
3664
+ def self.from_asserted_hash(init_hash)
3665
+ new(
3666
+ init_hash['locator'],
3667
+ init_hash['offset'],
3668
+ init_hash['length'],
3669
+ init_hash['value'])
3670
+ end
3671
+
3672
+ def self.create(locator, offset, length, value)
3673
+ ta = Types::TypeAsserter
3674
+ attrs = _pcore_type.attributes(true)
3675
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
3676
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
3677
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
3678
+ ta.assert_instance_of('Puppet::AST::QualifiedName[value]', attrs['value'].type, value)
3679
+ new(locator, offset, length, value)
3680
+ end
3681
+
3682
+ attr_reader :value
3683
+
3684
+ def initialize(locator, offset, length, value)
3685
+ super(locator, offset, length)
3686
+ @hash = @hash ^ value.hash
3687
+ @value = value
3688
+ end
3689
+
3690
+ def _pcore_init_hash
3691
+ result = super
3692
+ result['value'] = @value
3693
+ result
3694
+ end
3695
+
3696
+ def eql?(o)
3697
+ super &&
3698
+ @value.eql?(o.value)
3699
+ end
3700
+ alias == eql?
3701
+ end
3702
+
3703
+ class ReservedWord < LiteralValue
3704
+ def self._pcore_type
3705
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::ReservedWord', {
3706
+ 'parent' => LiteralValue._pcore_type,
3707
+ 'attributes' => {
3708
+ 'word' => Types::PStringType::DEFAULT,
3709
+ 'future' => {
3710
+ 'type' => Types::POptionalType.new(Types::PBooleanType::DEFAULT),
3711
+ 'value' => nil
3712
+ }
3713
+ }
3714
+ })
3715
+ end
3716
+
3717
+ def self.from_hash(init_hash)
3718
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::ReservedWord initializer', _pcore_type.init_hash_type, init_hash))
3719
+ end
3720
+
3721
+ def self.from_asserted_hash(init_hash)
3722
+ new(
3723
+ init_hash['locator'],
3724
+ init_hash['offset'],
3725
+ init_hash['length'],
3726
+ init_hash['word'],
3727
+ init_hash['future'])
3728
+ end
3729
+
3730
+ def self.create(locator, offset, length, word, future = nil)
3731
+ ta = Types::TypeAsserter
3732
+ attrs = _pcore_type.attributes(true)
3733
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
3734
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
3735
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
3736
+ ta.assert_instance_of('Puppet::AST::ReservedWord[word]', attrs['word'].type, word)
3737
+ ta.assert_instance_of('Puppet::AST::ReservedWord[future]', attrs['future'].type, future)
3738
+ new(locator, offset, length, word, future)
3739
+ end
3740
+
3741
+ attr_reader :word
3742
+ attr_reader :future
3743
+
3744
+ def initialize(locator, offset, length, word, future = nil)
3745
+ super(locator, offset, length)
3746
+ @hash = @hash ^ word.hash ^ future.hash
3747
+ @word = word
3748
+ @future = future
3749
+ end
3750
+
3751
+ def _pcore_init_hash
3752
+ result = super
3753
+ result['word'] = @word
3754
+ result['future'] = @future unless @future == nil
3755
+ result
3756
+ end
3757
+
3758
+ def eql?(o)
3759
+ super &&
3760
+ @word.eql?(o.word) &&
3761
+ @future.eql?(o.future)
3762
+ end
3763
+ alias == eql?
3764
+ end
3765
+
3766
+ class QualifiedReference < LiteralValue
3767
+ def self._pcore_type
3768
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::QualifiedReference', {
3769
+ 'parent' => LiteralValue._pcore_type,
3770
+ 'attributes' => {
3771
+ 'cased_value' => Types::PStringType::DEFAULT,
3772
+ 'value' => {
3773
+ 'type' => Types::PStringType::DEFAULT,
3774
+ 'kind' => 'derived'
3775
+ }
3776
+ }
3777
+ })
3778
+ end
3779
+
3780
+ def self.from_hash(init_hash)
3781
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::QualifiedReference initializer', _pcore_type.init_hash_type, init_hash))
3782
+ end
3783
+
3784
+ def self.from_asserted_hash(init_hash)
3785
+ new(
3786
+ init_hash['locator'],
3787
+ init_hash['offset'],
3788
+ init_hash['length'],
3789
+ init_hash['cased_value'])
3790
+ end
3791
+
3792
+ def self.create(locator, offset, length, cased_value)
3793
+ ta = Types::TypeAsserter
3794
+ attrs = _pcore_type.attributes(true)
3795
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
3796
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
3797
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
3798
+ ta.assert_instance_of('Puppet::AST::QualifiedReference[cased_value]', attrs['cased_value'].type, cased_value)
3799
+ new(locator, offset, length, cased_value)
3800
+ end
3801
+
3802
+ attr_reader :cased_value
3803
+
3804
+ def value
3805
+ @cased_value.downcase
3806
+ end
3807
+
3808
+ def initialize(locator, offset, length, cased_value)
3809
+ super(locator, offset, length)
3810
+ @hash = @hash ^ cased_value.hash
3811
+ @cased_value = cased_value
3812
+ end
3813
+
3814
+ def _pcore_init_hash
3815
+ result = super
3816
+ result['cased_value'] = @cased_value
3817
+ result
3818
+ end
3819
+
3820
+ def eql?(o)
3821
+ super &&
3822
+ @cased_value.eql?(o.cased_value)
3823
+ end
3824
+ alias == eql?
3825
+ end
3826
+
3827
+ class VariableExpression < UnaryExpression
3828
+ def self._pcore_type
3829
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::VariableExpression', {
3830
+ 'parent' => UnaryExpression._pcore_type
3831
+ })
3832
+ end
3833
+
3834
+ def _pcore_contents
3835
+ yield(@expr) unless @expr.nil?
3836
+ end
3837
+
3838
+ def _pcore_all_contents(path, &block)
3839
+ path << self
3840
+ unless @expr.nil?
3841
+ block.call(@expr, path)
3842
+ @expr._pcore_all_contents(path, &block)
3843
+ end
3844
+ path.pop
3845
+ end
3846
+ end
3847
+
3848
+ class EppExpression < Expression
3849
+ def self._pcore_type
3850
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::EppExpression', {
3851
+ 'parent' => Expression._pcore_type,
3852
+ 'attributes' => {
3853
+ 'parameters_specified' => {
3854
+ 'type' => Types::POptionalType.new(Types::PBooleanType::DEFAULT),
3855
+ 'value' => nil
3856
+ },
3857
+ 'body' => {
3858
+ 'type' => Types::POptionalType.new(Expression._pcore_type),
3859
+ 'value' => nil
3860
+ }
3861
+ }
3862
+ })
3863
+ end
3864
+
3865
+ def self.from_hash(init_hash)
3866
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::EppExpression initializer', _pcore_type.init_hash_type, init_hash))
3867
+ end
3868
+
3869
+ def self.from_asserted_hash(init_hash)
3870
+ new(
3871
+ init_hash['locator'],
3872
+ init_hash['offset'],
3873
+ init_hash['length'],
3874
+ init_hash['parameters_specified'],
3875
+ init_hash['body'])
3876
+ end
3877
+
3878
+ def self.create(locator, offset, length, parameters_specified = nil, body = nil)
3879
+ ta = Types::TypeAsserter
3880
+ attrs = _pcore_type.attributes(true)
3881
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
3882
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
3883
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
3884
+ ta.assert_instance_of('Puppet::AST::EppExpression[parameters_specified]', attrs['parameters_specified'].type, parameters_specified)
3885
+ ta.assert_instance_of('Puppet::AST::EppExpression[body]', attrs['body'].type, body)
3886
+ new(locator, offset, length, parameters_specified, body)
3887
+ end
3888
+
3889
+ attr_reader :parameters_specified
3890
+ attr_reader :body
3891
+
3892
+ def initialize(locator, offset, length, parameters_specified = nil, body = nil)
3893
+ super(locator, offset, length)
3894
+ @hash = @hash ^ parameters_specified.hash ^ body.hash
3895
+ @parameters_specified = parameters_specified
3896
+ @body = body
3897
+ end
3898
+
3899
+ def _pcore_init_hash
3900
+ result = super
3901
+ result['parameters_specified'] = @parameters_specified unless @parameters_specified == nil
3902
+ result['body'] = @body unless @body == nil
3903
+ result
3904
+ end
3905
+
3906
+ def _pcore_contents
3907
+ yield(@body) unless @body.nil?
3908
+ end
3909
+
3910
+ def _pcore_all_contents(path, &block)
3911
+ path << self
3912
+ unless @body.nil?
3913
+ block.call(@body, path)
3914
+ @body._pcore_all_contents(path, &block)
3915
+ end
3916
+ path.pop
3917
+ end
3918
+
3919
+ def eql?(o)
3920
+ super &&
3921
+ @parameters_specified.eql?(o.parameters_specified) &&
3922
+ @body.eql?(o.body)
3923
+ end
3924
+ alias == eql?
3925
+ end
3926
+
3927
+ class RenderStringExpression < LiteralString
3928
+ def self._pcore_type
3929
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::RenderStringExpression', {
3930
+ 'parent' => LiteralString._pcore_type
3931
+ })
3932
+ end
3933
+ end
3934
+
3935
+ class RenderExpression < UnaryExpression
3936
+ def self._pcore_type
3937
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::RenderExpression', {
3938
+ 'parent' => UnaryExpression._pcore_type
3939
+ })
3940
+ end
3941
+
3942
+ def _pcore_contents
3943
+ yield(@expr) unless @expr.nil?
3944
+ end
3945
+
3946
+ def _pcore_all_contents(path, &block)
3947
+ path << self
3948
+ unless @expr.nil?
3949
+ block.call(@expr, path)
3950
+ @expr._pcore_all_contents(path, &block)
3951
+ end
3952
+ path.pop
3953
+ end
3954
+ end
3955
+
3956
+ class ResourceBody < Positioned
3957
+ def self._pcore_type
3958
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::ResourceBody', {
3959
+ 'parent' => Positioned._pcore_type,
3960
+ 'attributes' => {
3961
+ 'title' => {
3962
+ 'type' => Types::POptionalType.new(Expression._pcore_type),
3963
+ 'value' => nil
3964
+ },
3965
+ 'operations' => {
3966
+ 'type' => Types::PArrayType.new(AbstractAttributeOperation._pcore_type),
3967
+ 'value' => []
3968
+ }
3969
+ }
3970
+ })
3971
+ end
3972
+
3973
+ def self.from_hash(init_hash)
3974
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::ResourceBody initializer', _pcore_type.init_hash_type, init_hash))
3975
+ end
3976
+
3977
+ def self.from_asserted_hash(init_hash)
3978
+ new(
3979
+ init_hash['locator'],
3980
+ init_hash['offset'],
3981
+ init_hash['length'],
3982
+ init_hash['title'],
3983
+ init_hash.fetch('operations') { _pcore_type['operations'].value })
3984
+ end
3985
+
3986
+ def self.create(locator, offset, length, title = nil, operations = _pcore_type['operations'].value)
3987
+ ta = Types::TypeAsserter
3988
+ attrs = _pcore_type.attributes(true)
3989
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
3990
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
3991
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
3992
+ ta.assert_instance_of('Puppet::AST::ResourceBody[title]', attrs['title'].type, title)
3993
+ ta.assert_instance_of('Puppet::AST::ResourceBody[operations]', attrs['operations'].type, operations)
3994
+ new(locator, offset, length, title, operations)
3995
+ end
3996
+
3997
+ attr_reader :title
3998
+ attr_reader :operations
3999
+
4000
+ def initialize(locator, offset, length, title = nil, operations = _pcore_type['operations'].value)
4001
+ super(locator, offset, length)
4002
+ @hash = @hash ^ title.hash ^ operations.hash
4003
+ @title = title
4004
+ @operations = operations
4005
+ end
4006
+
4007
+ def _pcore_init_hash
4008
+ result = super
4009
+ result['title'] = @title unless @title == nil
4010
+ result['operations'] = @operations unless _pcore_type['operations'].default_value?(@operations)
4011
+ result
4012
+ end
4013
+
4014
+ def _pcore_contents
4015
+ yield(@title) unless @title.nil?
4016
+ @operations.each { |value| yield(value) }
4017
+ end
4018
+
4019
+ def _pcore_all_contents(path, &block)
4020
+ path << self
4021
+ unless @title.nil?
4022
+ block.call(@title, path)
4023
+ @title._pcore_all_contents(path, &block)
4024
+ end
4025
+ @operations.each do |value|
4026
+ block.call(value, path)
4027
+ value._pcore_all_contents(path, &block)
4028
+ end
4029
+ path.pop
4030
+ end
4031
+
4032
+ def eql?(o)
4033
+ super &&
4034
+ @title.eql?(o.title) &&
4035
+ @operations.eql?(o.operations)
4036
+ end
4037
+ alias == eql?
4038
+ end
4039
+
4040
+ class AbstractResource < Expression
4041
+ def self._pcore_type
4042
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::AbstractResource', {
4043
+ 'parent' => Expression._pcore_type,
4044
+ 'attributes' => {
4045
+ 'form' => {
4046
+ 'type' => Types::PEnumType.new(['exported', 'regular', 'virtual']),
4047
+ 'value' => 'regular'
4048
+ },
4049
+ 'virtual' => {
4050
+ 'type' => Types::PBooleanType::DEFAULT,
4051
+ 'kind' => 'derived'
4052
+ },
4053
+ 'exported' => {
4054
+ 'type' => Types::PBooleanType::DEFAULT,
4055
+ 'kind' => 'derived'
4056
+ }
4057
+ }
4058
+ })
4059
+ end
4060
+
4061
+ def self.from_hash(init_hash)
4062
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::AbstractResource initializer', _pcore_type.init_hash_type, init_hash))
4063
+ end
4064
+
4065
+ def self.from_asserted_hash(init_hash)
4066
+ new(
4067
+ init_hash['locator'],
4068
+ init_hash['offset'],
4069
+ init_hash['length'],
4070
+ init_hash.fetch('form') { "regular" })
4071
+ end
4072
+
4073
+ def self.create(locator, offset, length, form = "regular")
4074
+ ta = Types::TypeAsserter
4075
+ attrs = _pcore_type.attributes(true)
4076
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
4077
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
4078
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
4079
+ ta.assert_instance_of('Puppet::AST::AbstractResource[form]', attrs['form'].type, form)
4080
+ new(locator, offset, length, form)
4081
+ end
4082
+
4083
+ attr_reader :form
4084
+
4085
+ def virtual
4086
+ @form == 'virtual' || @form == 'exported'
4087
+ end
4088
+
4089
+ def exported
4090
+ @form == 'exported'
4091
+ end
4092
+
4093
+ def initialize(locator, offset, length, form = "regular")
4094
+ super(locator, offset, length)
4095
+ @hash = @hash ^ form.hash
4096
+ @form = form
4097
+ end
4098
+
4099
+ def _pcore_init_hash
4100
+ result = super
4101
+ result['form'] = @form unless @form == "regular"
4102
+ result
4103
+ end
4104
+
4105
+ def eql?(o)
4106
+ super &&
4107
+ @form.eql?(o.form)
4108
+ end
4109
+ alias == eql?
4110
+ end
4111
+
4112
+ class ResourceExpression < AbstractResource
4113
+ def self._pcore_type
4114
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::ResourceExpression', {
4115
+ 'parent' => AbstractResource._pcore_type,
4116
+ 'attributes' => {
4117
+ 'type_name' => Expression._pcore_type,
4118
+ 'bodies' => {
4119
+ 'type' => Types::PArrayType.new(ResourceBody._pcore_type),
4120
+ 'value' => []
4121
+ }
4122
+ }
4123
+ })
4124
+ end
4125
+
4126
+ def self.from_hash(init_hash)
4127
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::ResourceExpression initializer', _pcore_type.init_hash_type, init_hash))
4128
+ end
4129
+
4130
+ def self.from_asserted_hash(init_hash)
4131
+ new(
4132
+ init_hash['locator'],
4133
+ init_hash['offset'],
4134
+ init_hash['length'],
4135
+ init_hash['type_name'],
4136
+ init_hash.fetch('form') { "regular" },
4137
+ init_hash.fetch('bodies') { _pcore_type['bodies'].value })
4138
+ end
4139
+
4140
+ def self.create(locator, offset, length, type_name, form = "regular", bodies = _pcore_type['bodies'].value)
4141
+ ta = Types::TypeAsserter
4142
+ attrs = _pcore_type.attributes(true)
4143
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
4144
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
4145
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
4146
+ ta.assert_instance_of('Puppet::AST::AbstractResource[form]', attrs['form'].type, form)
4147
+ ta.assert_instance_of('Puppet::AST::ResourceExpression[type_name]', attrs['type_name'].type, type_name)
4148
+ ta.assert_instance_of('Puppet::AST::ResourceExpression[bodies]', attrs['bodies'].type, bodies)
4149
+ new(locator, offset, length, type_name, form, bodies)
4150
+ end
4151
+
4152
+ attr_reader :type_name
4153
+ attr_reader :bodies
4154
+
4155
+ def initialize(locator, offset, length, type_name, form = "regular", bodies = _pcore_type['bodies'].value)
4156
+ super(locator, offset, length, form)
4157
+ @hash = @hash ^ type_name.hash ^ bodies.hash
4158
+ @type_name = type_name
4159
+ @bodies = bodies
4160
+ end
4161
+
4162
+ def _pcore_init_hash
4163
+ result = super
4164
+ result['type_name'] = @type_name
4165
+ result['bodies'] = @bodies unless _pcore_type['bodies'].default_value?(@bodies)
4166
+ result
4167
+ end
4168
+
4169
+ def _pcore_contents
4170
+ yield(@type_name) unless @type_name.nil?
4171
+ @bodies.each { |value| yield(value) }
4172
+ end
4173
+
4174
+ def _pcore_all_contents(path, &block)
4175
+ path << self
4176
+ unless @type_name.nil?
4177
+ block.call(@type_name, path)
4178
+ @type_name._pcore_all_contents(path, &block)
4179
+ end
4180
+ @bodies.each do |value|
4181
+ block.call(value, path)
4182
+ value._pcore_all_contents(path, &block)
4183
+ end
4184
+ path.pop
4185
+ end
4186
+
4187
+ def eql?(o)
4188
+ super &&
4189
+ @type_name.eql?(o.type_name) &&
4190
+ @bodies.eql?(o.bodies)
4191
+ end
4192
+ alias == eql?
4193
+ end
4194
+
4195
+ class CapabilityMapping < Definition
4196
+ def self._pcore_type
4197
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::CapabilityMapping', {
4198
+ 'parent' => Definition._pcore_type,
4199
+ 'attributes' => {
4200
+ 'kind' => Types::PStringType::DEFAULT,
4201
+ 'capability' => Types::PStringType::DEFAULT,
4202
+ 'component' => Expression._pcore_type,
4203
+ 'mappings' => {
4204
+ 'type' => Types::PArrayType.new(AbstractAttributeOperation._pcore_type),
4205
+ 'value' => []
4206
+ }
4207
+ }
4208
+ })
4209
+ end
4210
+
4211
+ def self.from_hash(init_hash)
4212
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::CapabilityMapping initializer', _pcore_type.init_hash_type, init_hash))
4213
+ end
4214
+
4215
+ def self.from_asserted_hash(init_hash)
4216
+ new(
4217
+ init_hash['locator'],
4218
+ init_hash['offset'],
4219
+ init_hash['length'],
4220
+ init_hash['kind'],
4221
+ init_hash['capability'],
4222
+ init_hash['component'],
4223
+ init_hash.fetch('mappings') { _pcore_type['mappings'].value })
4224
+ end
4225
+
4226
+ def self.create(locator, offset, length, kind, capability, component, mappings = _pcore_type['mappings'].value)
4227
+ ta = Types::TypeAsserter
4228
+ attrs = _pcore_type.attributes(true)
4229
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
4230
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
4231
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
4232
+ ta.assert_instance_of('Puppet::AST::CapabilityMapping[kind]', attrs['kind'].type, kind)
4233
+ ta.assert_instance_of('Puppet::AST::CapabilityMapping[capability]', attrs['capability'].type, capability)
4234
+ ta.assert_instance_of('Puppet::AST::CapabilityMapping[component]', attrs['component'].type, component)
4235
+ ta.assert_instance_of('Puppet::AST::CapabilityMapping[mappings]', attrs['mappings'].type, mappings)
4236
+ new(locator, offset, length, kind, capability, component, mappings)
4237
+ end
4238
+
4239
+ attr_reader :kind
4240
+ attr_reader :capability
4241
+ attr_reader :component
4242
+ attr_reader :mappings
4243
+
4244
+ def initialize(locator, offset, length, kind, capability, component, mappings = _pcore_type['mappings'].value)
4245
+ super(locator, offset, length)
4246
+ @hash = @hash ^ kind.hash ^ capability.hash ^ component.hash ^ mappings.hash
4247
+ @kind = kind
4248
+ @capability = capability
4249
+ @component = component
4250
+ @mappings = mappings
4251
+ end
4252
+
4253
+ def _pcore_init_hash
4254
+ result = super
4255
+ result['kind'] = @kind
4256
+ result['capability'] = @capability
4257
+ result['component'] = @component
4258
+ result['mappings'] = @mappings unless _pcore_type['mappings'].default_value?(@mappings)
4259
+ result
4260
+ end
4261
+
4262
+ def _pcore_contents
4263
+ yield(@component) unless @component.nil?
4264
+ @mappings.each { |value| yield(value) }
4265
+ end
4266
+
4267
+ def _pcore_all_contents(path, &block)
4268
+ path << self
4269
+ unless @component.nil?
4270
+ block.call(@component, path)
4271
+ @component._pcore_all_contents(path, &block)
4272
+ end
4273
+ @mappings.each do |value|
4274
+ block.call(value, path)
4275
+ value._pcore_all_contents(path, &block)
4276
+ end
4277
+ path.pop
4278
+ end
4279
+
4280
+ def eql?(o)
4281
+ super &&
4282
+ @kind.eql?(o.kind) &&
4283
+ @capability.eql?(o.capability) &&
4284
+ @component.eql?(o.component) &&
4285
+ @mappings.eql?(o.mappings)
4286
+ end
4287
+ alias == eql?
4288
+ end
4289
+
4290
+ class ResourceDefaultsExpression < AbstractResource
4291
+ def self._pcore_type
4292
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::ResourceDefaultsExpression', {
4293
+ 'parent' => AbstractResource._pcore_type,
4294
+ 'attributes' => {
4295
+ 'type_ref' => {
4296
+ 'type' => Types::POptionalType.new(Expression._pcore_type),
4297
+ 'value' => nil
4298
+ },
4299
+ 'operations' => {
4300
+ 'type' => Types::PArrayType.new(AbstractAttributeOperation._pcore_type),
4301
+ 'value' => []
4302
+ }
4303
+ }
4304
+ })
4305
+ end
4306
+
4307
+ def self.from_hash(init_hash)
4308
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::ResourceDefaultsExpression initializer', _pcore_type.init_hash_type, init_hash))
4309
+ end
4310
+
4311
+ def self.from_asserted_hash(init_hash)
4312
+ new(
4313
+ init_hash['locator'],
4314
+ init_hash['offset'],
4315
+ init_hash['length'],
4316
+ init_hash.fetch('form') { "regular" },
4317
+ init_hash['type_ref'],
4318
+ init_hash.fetch('operations') { _pcore_type['operations'].value })
4319
+ end
4320
+
4321
+ def self.create(locator, offset, length, form = "regular", type_ref = nil, operations = _pcore_type['operations'].value)
4322
+ ta = Types::TypeAsserter
4323
+ attrs = _pcore_type.attributes(true)
4324
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
4325
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
4326
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
4327
+ ta.assert_instance_of('Puppet::AST::AbstractResource[form]', attrs['form'].type, form)
4328
+ ta.assert_instance_of('Puppet::AST::ResourceDefaultsExpression[type_ref]', attrs['type_ref'].type, type_ref)
4329
+ ta.assert_instance_of('Puppet::AST::ResourceDefaultsExpression[operations]', attrs['operations'].type, operations)
4330
+ new(locator, offset, length, form, type_ref, operations)
4331
+ end
4332
+
4333
+ attr_reader :type_ref
4334
+ attr_reader :operations
4335
+
4336
+ def initialize(locator, offset, length, form = "regular", type_ref = nil, operations = _pcore_type['operations'].value)
4337
+ super(locator, offset, length, form)
4338
+ @hash = @hash ^ type_ref.hash ^ operations.hash
4339
+ @type_ref = type_ref
4340
+ @operations = operations
4341
+ end
4342
+
4343
+ def _pcore_init_hash
4344
+ result = super
4345
+ result['type_ref'] = @type_ref unless @type_ref == nil
4346
+ result['operations'] = @operations unless _pcore_type['operations'].default_value?(@operations)
4347
+ result
4348
+ end
4349
+
4350
+ def _pcore_contents
4351
+ yield(@type_ref) unless @type_ref.nil?
4352
+ @operations.each { |value| yield(value) }
4353
+ end
4354
+
4355
+ def _pcore_all_contents(path, &block)
4356
+ path << self
4357
+ unless @type_ref.nil?
4358
+ block.call(@type_ref, path)
4359
+ @type_ref._pcore_all_contents(path, &block)
4360
+ end
4361
+ @operations.each do |value|
4362
+ block.call(value, path)
4363
+ value._pcore_all_contents(path, &block)
4364
+ end
4365
+ path.pop
4366
+ end
4367
+
4368
+ def eql?(o)
4369
+ super &&
4370
+ @type_ref.eql?(o.type_ref) &&
4371
+ @operations.eql?(o.operations)
4372
+ end
4373
+ alias == eql?
4374
+ end
4375
+
4376
+ class ResourceOverrideExpression < AbstractResource
4377
+ def self._pcore_type
4378
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::ResourceOverrideExpression', {
4379
+ 'parent' => AbstractResource._pcore_type,
4380
+ 'attributes' => {
4381
+ 'resources' => Expression._pcore_type,
4382
+ 'operations' => {
4383
+ 'type' => Types::PArrayType.new(AbstractAttributeOperation._pcore_type),
4384
+ 'value' => []
4385
+ }
4386
+ }
4387
+ })
4388
+ end
4389
+
4390
+ def self.from_hash(init_hash)
4391
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::ResourceOverrideExpression initializer', _pcore_type.init_hash_type, init_hash))
4392
+ end
4393
+
4394
+ def self.from_asserted_hash(init_hash)
4395
+ new(
4396
+ init_hash['locator'],
4397
+ init_hash['offset'],
4398
+ init_hash['length'],
4399
+ init_hash['resources'],
4400
+ init_hash.fetch('form') { "regular" },
4401
+ init_hash.fetch('operations') { _pcore_type['operations'].value })
4402
+ end
4403
+
4404
+ def self.create(locator, offset, length, resources, form = "regular", operations = _pcore_type['operations'].value)
4405
+ ta = Types::TypeAsserter
4406
+ attrs = _pcore_type.attributes(true)
4407
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
4408
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
4409
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
4410
+ ta.assert_instance_of('Puppet::AST::AbstractResource[form]', attrs['form'].type, form)
4411
+ ta.assert_instance_of('Puppet::AST::ResourceOverrideExpression[resources]', attrs['resources'].type, resources)
4412
+ ta.assert_instance_of('Puppet::AST::ResourceOverrideExpression[operations]', attrs['operations'].type, operations)
4413
+ new(locator, offset, length, resources, form, operations)
4414
+ end
4415
+
4416
+ attr_reader :resources
4417
+ attr_reader :operations
4418
+
4419
+ def initialize(locator, offset, length, resources, form = "regular", operations = _pcore_type['operations'].value)
4420
+ super(locator, offset, length, form)
4421
+ @hash = @hash ^ resources.hash ^ operations.hash
4422
+ @resources = resources
4423
+ @operations = operations
4424
+ end
4425
+
4426
+ def _pcore_init_hash
4427
+ result = super
4428
+ result['resources'] = @resources
4429
+ result['operations'] = @operations unless _pcore_type['operations'].default_value?(@operations)
4430
+ result
4431
+ end
4432
+
4433
+ def _pcore_contents
4434
+ yield(@resources) unless @resources.nil?
4435
+ @operations.each { |value| yield(value) }
4436
+ end
4437
+
4438
+ def _pcore_all_contents(path, &block)
4439
+ path << self
4440
+ unless @resources.nil?
4441
+ block.call(@resources, path)
4442
+ @resources._pcore_all_contents(path, &block)
4443
+ end
4444
+ @operations.each do |value|
4445
+ block.call(value, path)
4446
+ value._pcore_all_contents(path, &block)
4447
+ end
4448
+ path.pop
4449
+ end
4450
+
4451
+ def eql?(o)
4452
+ super &&
4453
+ @resources.eql?(o.resources) &&
4454
+ @operations.eql?(o.operations)
4455
+ end
4456
+ alias == eql?
4457
+ end
4458
+
4459
+ class SelectorEntry < Positioned
4460
+ def self._pcore_type
4461
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::SelectorEntry', {
4462
+ 'parent' => Positioned._pcore_type,
4463
+ 'attributes' => {
4464
+ 'matching_expr' => Expression._pcore_type,
4465
+ 'value_expr' => Expression._pcore_type
4466
+ }
4467
+ })
4468
+ end
4469
+
4470
+ def self.from_hash(init_hash)
4471
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::SelectorEntry initializer', _pcore_type.init_hash_type, init_hash))
4472
+ end
4473
+
4474
+ def self.from_asserted_hash(init_hash)
4475
+ new(
4476
+ init_hash['locator'],
4477
+ init_hash['offset'],
4478
+ init_hash['length'],
4479
+ init_hash['matching_expr'],
4480
+ init_hash['value_expr'])
4481
+ end
4482
+
4483
+ def self.create(locator, offset, length, matching_expr, value_expr)
4484
+ ta = Types::TypeAsserter
4485
+ attrs = _pcore_type.attributes(true)
4486
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
4487
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
4488
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
4489
+ ta.assert_instance_of('Puppet::AST::SelectorEntry[matching_expr]', attrs['matching_expr'].type, matching_expr)
4490
+ ta.assert_instance_of('Puppet::AST::SelectorEntry[value_expr]', attrs['value_expr'].type, value_expr)
4491
+ new(locator, offset, length, matching_expr, value_expr)
4492
+ end
4493
+
4494
+ attr_reader :matching_expr
4495
+ attr_reader :value_expr
4496
+
4497
+ def initialize(locator, offset, length, matching_expr, value_expr)
4498
+ super(locator, offset, length)
4499
+ @hash = @hash ^ matching_expr.hash ^ value_expr.hash
4500
+ @matching_expr = matching_expr
4501
+ @value_expr = value_expr
4502
+ end
4503
+
4504
+ def _pcore_init_hash
4505
+ result = super
4506
+ result['matching_expr'] = @matching_expr
4507
+ result['value_expr'] = @value_expr
4508
+ result
4509
+ end
4510
+
4511
+ def _pcore_contents
4512
+ yield(@matching_expr) unless @matching_expr.nil?
4513
+ yield(@value_expr) unless @value_expr.nil?
4514
+ end
4515
+
4516
+ def _pcore_all_contents(path, &block)
4517
+ path << self
4518
+ unless @matching_expr.nil?
4519
+ block.call(@matching_expr, path)
4520
+ @matching_expr._pcore_all_contents(path, &block)
4521
+ end
4522
+ unless @value_expr.nil?
4523
+ block.call(@value_expr, path)
4524
+ @value_expr._pcore_all_contents(path, &block)
4525
+ end
4526
+ path.pop
4527
+ end
4528
+
4529
+ def eql?(o)
4530
+ super &&
4531
+ @matching_expr.eql?(o.matching_expr) &&
4532
+ @value_expr.eql?(o.value_expr)
4533
+ end
4534
+ alias == eql?
4535
+ end
4536
+
4537
+ class SelectorExpression < Expression
4538
+ def self._pcore_type
4539
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::SelectorExpression', {
4540
+ 'parent' => Expression._pcore_type,
4541
+ 'attributes' => {
4542
+ 'left_expr' => Expression._pcore_type,
4543
+ 'selectors' => {
4544
+ 'type' => Types::PArrayType.new(SelectorEntry._pcore_type),
4545
+ 'value' => []
4546
+ }
4547
+ }
4548
+ })
4549
+ end
4550
+
4551
+ def self.from_hash(init_hash)
4552
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::SelectorExpression initializer', _pcore_type.init_hash_type, init_hash))
4553
+ end
4554
+
4555
+ def self.from_asserted_hash(init_hash)
4556
+ new(
4557
+ init_hash['locator'],
4558
+ init_hash['offset'],
4559
+ init_hash['length'],
4560
+ init_hash['left_expr'],
4561
+ init_hash.fetch('selectors') { _pcore_type['selectors'].value })
4562
+ end
4563
+
4564
+ def self.create(locator, offset, length, left_expr, selectors = _pcore_type['selectors'].value)
4565
+ ta = Types::TypeAsserter
4566
+ attrs = _pcore_type.attributes(true)
4567
+ ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
4568
+ ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
4569
+ ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
4570
+ ta.assert_instance_of('Puppet::AST::SelectorExpression[left_expr]', attrs['left_expr'].type, left_expr)
4571
+ ta.assert_instance_of('Puppet::AST::SelectorExpression[selectors]', attrs['selectors'].type, selectors)
4572
+ new(locator, offset, length, left_expr, selectors)
4573
+ end
4574
+
4575
+ attr_reader :left_expr
4576
+ attr_reader :selectors
4577
+
4578
+ def initialize(locator, offset, length, left_expr, selectors = _pcore_type['selectors'].value)
4579
+ super(locator, offset, length)
4580
+ @hash = @hash ^ left_expr.hash ^ selectors.hash
4581
+ @left_expr = left_expr
4582
+ @selectors = selectors
4583
+ end
4584
+
4585
+ def _pcore_init_hash
4586
+ result = super
4587
+ result['left_expr'] = @left_expr
4588
+ result['selectors'] = @selectors unless _pcore_type['selectors'].default_value?(@selectors)
4589
+ result
4590
+ end
4591
+
4592
+ def _pcore_contents
4593
+ yield(@left_expr) unless @left_expr.nil?
4594
+ @selectors.each { |value| yield(value) }
4595
+ end
4596
+
4597
+ def _pcore_all_contents(path, &block)
4598
+ path << self
4599
+ unless @left_expr.nil?
4600
+ block.call(@left_expr, path)
4601
+ @left_expr._pcore_all_contents(path, &block)
4602
+ end
4603
+ @selectors.each do |value|
4604
+ block.call(value, path)
4605
+ value._pcore_all_contents(path, &block)
4606
+ end
4607
+ path.pop
4608
+ end
4609
+
4610
+ def eql?(o)
4611
+ super &&
4612
+ @left_expr.eql?(o.left_expr) &&
4613
+ @selectors.eql?(o.selectors)
4614
+ end
4615
+ alias == eql?
4616
+ end
4617
+
4618
+ class NamedAccessExpression < BinaryExpression
4619
+ def self._pcore_type
4620
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::NamedAccessExpression', {
4621
+ 'parent' => BinaryExpression._pcore_type
4622
+ })
4623
+ end
4624
+
4625
+ def _pcore_contents
4626
+ yield(@left_expr) unless @left_expr.nil?
4627
+ yield(@right_expr) unless @right_expr.nil?
4628
+ end
4629
+
4630
+ def _pcore_all_contents(path, &block)
4631
+ path << self
4632
+ unless @left_expr.nil?
4633
+ block.call(@left_expr, path)
4634
+ @left_expr._pcore_all_contents(path, &block)
4635
+ end
4636
+ unless @right_expr.nil?
4637
+ block.call(@right_expr, path)
4638
+ @right_expr._pcore_all_contents(path, &block)
4639
+ end
4640
+ path.pop
4641
+ end
4642
+ end
4643
+
4644
+ class Program < PopsObject
4645
+ def self._pcore_type
4646
+ @_pcore_type ||= Types::PObjectType.new('Puppet::AST::Program', {
4647
+ 'parent' => PopsObject._pcore_type,
4648
+ 'attributes' => {
4649
+ 'body' => {
4650
+ 'type' => Types::POptionalType.new(Expression._pcore_type),
4651
+ 'value' => nil
4652
+ },
4653
+ 'definitions' => {
4654
+ 'type' => Types::PArrayType.new(Definition._pcore_type),
4655
+ 'kind' => 'reference',
4656
+ 'value' => []
4657
+ },
4658
+ 'source_text' => {
4659
+ 'type' => Types::PStringType::DEFAULT,
4660
+ 'kind' => 'derived'
4661
+ },
4662
+ 'source_ref' => {
4663
+ 'type' => Types::PStringType::DEFAULT,
4664
+ 'kind' => 'derived'
4665
+ },
4666
+ 'line_offsets' => {
4667
+ 'type' => Types::PArrayType.new(Types::PIntegerType::DEFAULT),
4668
+ 'kind' => 'derived'
4669
+ },
4670
+ 'locator' => Parser::Locator::Locator19._pcore_type
4671
+ }
4672
+ })
4673
+ end
4674
+
4675
+ def self.from_hash(init_hash)
4676
+ from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::Program initializer', _pcore_type.init_hash_type, init_hash))
4677
+ end
4678
+
4679
+ def self.from_asserted_hash(init_hash)
4680
+ new(
4681
+ init_hash['locator'],
4682
+ init_hash['body'],
4683
+ init_hash.fetch('definitions') { _pcore_type['definitions'].value })
4684
+ end
4685
+
4686
+ def self.create(locator, body = nil, definitions = _pcore_type['definitions'].value)
4687
+ ta = Types::TypeAsserter
4688
+ attrs = _pcore_type.attributes(true)
4689
+ ta.assert_instance_of('Puppet::AST::Program[body]', attrs['body'].type, body)
4690
+ ta.assert_instance_of('Puppet::AST::Program[definitions]', attrs['definitions'].type, definitions)
4691
+ ta.assert_instance_of('Puppet::AST::Program[locator]', attrs['locator'].type, locator)
4692
+ new(locator, body, definitions)
4693
+ end
4694
+
4695
+ attr_reader :body
4696
+ attr_reader :definitions
4697
+ attr_reader :locator
4698
+
4699
+ def current
4700
+ self
4701
+ end
4702
+
4703
+ def source_text
4704
+ @locator.string
4705
+ end
4706
+
4707
+ def source_ref
4708
+ @locator.file
4709
+ end
4710
+
4711
+ def line_offsets
4712
+ @locator.line_index
4713
+ end
4714
+
4715
+ def initialize(locator, body = nil, definitions = _pcore_type['definitions'].value)
4716
+ super()
4717
+ @hash = @hash ^ body.hash ^ definitions.hash ^ locator.hash
4718
+ @body = body
4719
+ @definitions = definitions
4720
+ @locator = locator
4721
+ end
4722
+
4723
+ def _pcore_init_hash
4724
+ result = super
4725
+ result['body'] = @body unless @body == nil
4726
+ result['definitions'] = @definitions unless _pcore_type['definitions'].default_value?(@definitions)
4727
+ result['locator'] = @locator
4728
+ result
4729
+ end
4730
+
4731
+ def _pcore_contents
4732
+ yield(@body) unless @body.nil?
4733
+ yield(@locator) unless @locator.nil?
4734
+ end
4735
+
4736
+ def _pcore_all_contents(path, &block)
4737
+ path << self
4738
+ unless @body.nil?
4739
+ block.call(@body, path)
4740
+ @body._pcore_all_contents(path, &block)
4741
+ end
4742
+ unless @locator.nil?
4743
+ block.call(@locator, path)
4744
+ @locator._pcore_all_contents(path, &block)
4745
+ end
4746
+ path.pop
4747
+ end
4748
+
4749
+ def eql?(o)
4750
+ super &&
4751
+ @body.eql?(o.body) &&
4752
+ @definitions.eql?(o.definitions) &&
4753
+ @locator.eql?(o.locator)
4754
+ end
4755
+ alias == eql?
4756
+ end
4757
+
4758
+ end
4759
+
4760
+ module Model
4761
+ @@pcore_ast_initialized = false
4762
+ def self.register_pcore_types
4763
+ return if @@pcore_ast_initialized
4764
+ @@pcore_ast_initialized = true
4765
+ all_types = [
4766
+ Parser::Locator::Locator19,
4767
+ Model::PopsObject,
4768
+ Model::Positioned,
4769
+ Model::Expression,
4770
+ Model::Nop,
4771
+ Model::BinaryExpression,
4772
+ Model::UnaryExpression,
4773
+ Model::ParenthesizedExpression,
4774
+ Model::NotExpression,
4775
+ Model::UnaryMinusExpression,
4776
+ Model::UnfoldExpression,
4777
+ Model::AssignmentExpression,
4778
+ Model::ArithmeticExpression,
4779
+ Model::RelationshipExpression,
4780
+ Model::AccessExpression,
4781
+ Model::ComparisonExpression,
4782
+ Model::MatchExpression,
4783
+ Model::InExpression,
4784
+ Model::BooleanExpression,
4785
+ Model::AndExpression,
4786
+ Model::OrExpression,
4787
+ Model::LiteralList,
4788
+ Model::KeyedEntry,
4789
+ Model::LiteralHash,
4790
+ Model::BlockExpression,
4791
+ Model::CaseOption,
4792
+ Model::CaseExpression,
4793
+ Model::QueryExpression,
4794
+ Model::ExportedQuery,
4795
+ Model::VirtualQuery,
4796
+ Model::AbstractAttributeOperation,
4797
+ Model::AttributeOperation,
4798
+ Model::AttributesOperation,
4799
+ Model::CollectExpression,
4800
+ Model::Parameter,
4801
+ Model::Definition,
4802
+ Model::NamedDefinition,
4803
+ Model::FunctionDefinition,
4804
+ Model::ResourceTypeDefinition,
4805
+ Model::Application,
4806
+ Model::QRefDefinition,
4807
+ Model::TypeAlias,
4808
+ Model::TypeMapping,
4809
+ Model::TypeDefinition,
4810
+ Model::NodeDefinition,
4811
+ Model::SiteDefinition,
4812
+ Model::SubLocatedExpression,
4813
+ Model::HeredocExpression,
4814
+ Model::HostClassDefinition,
4815
+ Model::PlanDefinition,
4816
+ Model::LambdaExpression,
4817
+ Model::IfExpression,
4818
+ Model::UnlessExpression,
4819
+ Model::CallExpression,
4820
+ Model::CallFunctionExpression,
4821
+ Model::CallNamedFunctionExpression,
4822
+ Model::CallMethodExpression,
4823
+ Model::Literal,
4824
+ Model::LiteralValue,
4825
+ Model::LiteralRegularExpression,
4826
+ Model::LiteralString,
4827
+ Model::LiteralNumber,
4828
+ Model::LiteralInteger,
4829
+ Model::LiteralFloat,
4830
+ Model::LiteralUndef,
4831
+ Model::LiteralDefault,
4832
+ Model::LiteralBoolean,
4833
+ Model::TextExpression,
4834
+ Model::ConcatenatedString,
4835
+ Model::QualifiedName,
4836
+ Model::ReservedWord,
4837
+ Model::QualifiedReference,
4838
+ Model::VariableExpression,
4839
+ Model::EppExpression,
4840
+ Model::RenderStringExpression,
4841
+ Model::RenderExpression,
4842
+ Model::ResourceBody,
4843
+ Model::AbstractResource,
4844
+ Model::ResourceExpression,
4845
+ Model::CapabilityMapping,
4846
+ Model::ResourceDefaultsExpression,
4847
+ Model::ResourceOverrideExpression,
4848
+ Model::SelectorEntry,
4849
+ Model::SelectorExpression,
4850
+ Model::NamedAccessExpression,
4851
+ Model::Program]
4852
+
4853
+ # Create and register a TypeSet that corresponds to all types in the AST model
4854
+ types_map = {}
4855
+ all_types.each do |type|
4856
+ types_map[type._pcore_type.simple_name] = type._pcore_type
4857
+ end
4858
+ type_set = Types::PTypeSetType.new({
4859
+ 'name' => 'Puppet::AST',
4860
+ 'pcore_version' => '1.0.0',
4861
+ 'types' => types_map
4862
+ })
4863
+ loc = Puppet::Util.path_to_uri("#{__FILE__}")
4864
+ Loaders.static_loader.set_entry(Loader::TypedName.new(:type, 'puppet::ast', Pcore::RUNTIME_NAME_AUTHORITY), type_set, URI("#{loc}?line=1"))
4865
+ Loaders.register_static_implementations(all_types)
4866
+ end
4867
+ end
4868
+
4869
+ end
4870
+ end