bolt 0.24.0 → 0.25.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.
- checksums.yaml +4 -4
- data/bolt-modules/boltlib/lib/puppet/datatypes/applyresult.rb +19 -0
- data/bolt-modules/boltlib/lib/puppet/datatypes/resultset.rb +3 -3
- data/bolt-modules/boltlib/lib/puppet/functions/apply_prep.rb +2 -1
- data/lib/bolt/analytics.rb +0 -1
- data/lib/bolt/applicator.rb +7 -54
- data/lib/bolt/apply_result.rb +116 -0
- data/lib/bolt/outputter/human.rb +13 -8
- data/lib/bolt/pal.rb +6 -2
- data/lib/bolt/transport/ssh.rb +2 -1
- data/lib/bolt/version.rb +1 -1
- data/lib/bolt_spec/run.rb +1 -0
- data/libexec/apply_catalog.rb +25 -30
- metadata +37 -1212
- data/vendored/facter/lib/facter.rb +0 -261
- data/vendored/facter/lib/facter/Cfkey.rb +0 -42
- data/vendored/facter/lib/facter/application.rb +0 -206
- data/vendored/facter/lib/facter/architecture.rb +0 -50
- data/vendored/facter/lib/facter/augeasversion.rb +0 -28
- data/vendored/facter/lib/facter/blockdevices.rb +0 -105
- data/vendored/facter/lib/facter/core/aggregate.rb +0 -220
- data/vendored/facter/lib/facter/core/directed_graph.rb +0 -46
- data/vendored/facter/lib/facter/core/execution.rb +0 -123
- data/vendored/facter/lib/facter/core/execution/base.rb +0 -81
- data/vendored/facter/lib/facter/core/execution/posix.rb +0 -50
- data/vendored/facter/lib/facter/core/execution/windows.rb +0 -57
- data/vendored/facter/lib/facter/core/logging.rb +0 -197
- data/vendored/facter/lib/facter/core/resolvable.rb +0 -94
- data/vendored/facter/lib/facter/core/suitable.rb +0 -113
- data/vendored/facter/lib/facter/dhcp_servers.rb +0 -45
- data/vendored/facter/lib/facter/domain.rb +0 -99
- data/vendored/facter/lib/facter/ec2.rb +0 -68
- data/vendored/facter/lib/facter/ec2/rest.rb +0 -137
- data/vendored/facter/lib/facter/facterversion.rb +0 -15
- data/vendored/facter/lib/facter/filesystems.rb +0 -45
- data/vendored/facter/lib/facter/fqdn.rb +0 -24
- data/vendored/facter/lib/facter/gce.rb +0 -16
- data/vendored/facter/lib/facter/gce/metadata.rb +0 -87
- data/vendored/facter/lib/facter/gid.rb +0 -25
- data/vendored/facter/lib/facter/hardwareisa.rb +0 -20
- data/vendored/facter/lib/facter/hardwaremodel.rb +0 -67
- data/vendored/facter/lib/facter/hostname.rb +0 -31
- data/vendored/facter/lib/facter/id.rb +0 -21
- data/vendored/facter/lib/facter/interfaces.rb +0 -58
- data/vendored/facter/lib/facter/ipaddress.rb +0 -169
- data/vendored/facter/lib/facter/ipaddress6.rb +0 -82
- data/vendored/facter/lib/facter/iphostnumber.rb +0 -29
- data/vendored/facter/lib/facter/kernel.rb +0 -22
- data/vendored/facter/lib/facter/kernelmajversion.rb +0 -23
- data/vendored/facter/lib/facter/kernelrelease.rb +0 -45
- data/vendored/facter/lib/facter/kernelversion.rb +0 -22
- data/vendored/facter/lib/facter/ldom.rb +0 -51
- data/vendored/facter/lib/facter/lsbdistcodename.rb +0 -20
- data/vendored/facter/lib/facter/lsbdistdescription.rb +0 -21
- data/vendored/facter/lib/facter/lsbdistid.rb +0 -20
- data/vendored/facter/lib/facter/lsbdistrelease.rb +0 -20
- data/vendored/facter/lib/facter/lsbmajdistrelease.rb +0 -22
- data/vendored/facter/lib/facter/lsbminordistrelease.rb +0 -22
- data/vendored/facter/lib/facter/lsbrelease.rb +0 -20
- data/vendored/facter/lib/facter/macaddress.rb +0 -99
- data/vendored/facter/lib/facter/macosx.rb +0 -56
- data/vendored/facter/lib/facter/manufacturer.rb +0 -68
- data/vendored/facter/lib/facter/memory.rb +0 -168
- data/vendored/facter/lib/facter/netmask.rb +0 -43
- data/vendored/facter/lib/facter/network.rb +0 -20
- data/vendored/facter/lib/facter/operatingsystem.rb +0 -24
- data/vendored/facter/lib/facter/operatingsystem/base.rb +0 -61
- data/vendored/facter/lib/facter/operatingsystem/cumuluslinux.rb +0 -27
- data/vendored/facter/lib/facter/operatingsystem/implementation.rb +0 -33
- data/vendored/facter/lib/facter/operatingsystem/linux.rb +0 -484
- data/vendored/facter/lib/facter/operatingsystem/osreleaselinux.rb +0 -28
- data/vendored/facter/lib/facter/operatingsystem/sunos.rb +0 -54
- data/vendored/facter/lib/facter/operatingsystem/vmkernel.rb +0 -11
- data/vendored/facter/lib/facter/operatingsystem/windows.rb +0 -43
- data/vendored/facter/lib/facter/operatingsystemmajrelease.rb +0 -31
- data/vendored/facter/lib/facter/operatingsystemrelease.rb +0 -29
- data/vendored/facter/lib/facter/os.rb +0 -98
- data/vendored/facter/lib/facter/osfamily.rb +0 -18
- data/vendored/facter/lib/facter/partitions.rb +0 -39
- data/vendored/facter/lib/facter/path.rb +0 -14
- data/vendored/facter/lib/facter/physicalprocessorcount.rb +0 -27
- data/vendored/facter/lib/facter/processor.rb +0 -52
- data/vendored/facter/lib/facter/processors.rb +0 -66
- data/vendored/facter/lib/facter/processors/os.rb +0 -244
- data/vendored/facter/lib/facter/ps.rb +0 -31
- data/vendored/facter/lib/facter/puppetversion.rb +0 -20
- data/vendored/facter/lib/facter/rackspace.rb +0 -37
- data/vendored/facter/lib/facter/rubyplatform.rb +0 -12
- data/vendored/facter/lib/facter/rubysitedir.rb +0 -15
- data/vendored/facter/lib/facter/rubyversion.rb +0 -12
- data/vendored/facter/lib/facter/selinux.rb +0 -154
- data/vendored/facter/lib/facter/ssh.rb +0 -73
- data/vendored/facter/lib/facter/system32.rb +0 -21
- data/vendored/facter/lib/facter/system_uptime.rb +0 -44
- data/vendored/facter/lib/facter/timezone.rb +0 -14
- data/vendored/facter/lib/facter/uniqueid.rb +0 -4
- data/vendored/facter/lib/facter/uptime.rb +0 -16
- data/vendored/facter/lib/facter/uptime_days.rb +0 -13
- data/vendored/facter/lib/facter/uptime_hours.rb +0 -13
- data/vendored/facter/lib/facter/uptime_seconds.rb +0 -20
- data/vendored/facter/lib/facter/util/architecture.rb +0 -19
- data/vendored/facter/lib/facter/util/collection.rb +0 -161
- data/vendored/facter/lib/facter/util/composite_loader.rb +0 -12
- data/vendored/facter/lib/facter/util/config.rb +0 -88
- data/vendored/facter/lib/facter/util/confine.rb +0 -66
- data/vendored/facter/lib/facter/util/dhcp_servers.rb +0 -58
- data/vendored/facter/lib/facter/util/directory_loader.rb +0 -88
- data/vendored/facter/lib/facter/util/ec2.rb +0 -106
- data/vendored/facter/lib/facter/util/fact.rb +0 -204
- data/vendored/facter/lib/facter/util/file_read.rb +0 -37
- data/vendored/facter/lib/facter/util/formatter.rb +0 -39
- data/vendored/facter/lib/facter/util/ip.rb +0 -340
- data/vendored/facter/lib/facter/util/ip/windows.rb +0 -215
- data/vendored/facter/lib/facter/util/loader.rb +0 -155
- data/vendored/facter/lib/facter/util/macaddress.rb +0 -43
- data/vendored/facter/lib/facter/util/macosx.rb +0 -73
- data/vendored/facter/lib/facter/util/manufacturer.rb +0 -99
- data/vendored/facter/lib/facter/util/memory.rb +0 -228
- data/vendored/facter/lib/facter/util/netmask.rb +0 -40
- data/vendored/facter/lib/facter/util/normalization.rb +0 -94
- data/vendored/facter/lib/facter/util/nothing_loader.rb +0 -12
- data/vendored/facter/lib/facter/util/operatingsystem.rb +0 -21
- data/vendored/facter/lib/facter/util/parser.rb +0 -168
- data/vendored/facter/lib/facter/util/partitions.rb +0 -47
- data/vendored/facter/lib/facter/util/partitions/linux.rb +0 -71
- data/vendored/facter/lib/facter/util/partitions/openbsd.rb +0 -40
- data/vendored/facter/lib/facter/util/plist.rb +0 -24
- data/vendored/facter/lib/facter/util/plist/generator.rb +0 -228
- data/vendored/facter/lib/facter/util/plist/parser.rb +0 -226
- data/vendored/facter/lib/facter/util/posix.rb +0 -16
- data/vendored/facter/lib/facter/util/processor.rb +0 -289
- data/vendored/facter/lib/facter/util/registry.rb +0 -11
- data/vendored/facter/lib/facter/util/resolution.rb +0 -160
- data/vendored/facter/lib/facter/util/solaris_zones.rb +0 -158
- data/vendored/facter/lib/facter/util/unix_root.rb +0 -5
- data/vendored/facter/lib/facter/util/uptime.rb +0 -83
- data/vendored/facter/lib/facter/util/values.rb +0 -109
- data/vendored/facter/lib/facter/util/virtual.rb +0 -212
- data/vendored/facter/lib/facter/util/vlans.rb +0 -21
- data/vendored/facter/lib/facter/util/windows.rb +0 -10
- data/vendored/facter/lib/facter/util/windows/api_types.rb +0 -135
- data/vendored/facter/lib/facter/util/windows/dir.rb +0 -43
- data/vendored/facter/lib/facter/util/windows/error.rb +0 -87
- data/vendored/facter/lib/facter/util/windows/process.rb +0 -294
- data/vendored/facter/lib/facter/util/windows/user.rb +0 -186
- data/vendored/facter/lib/facter/util/windows_root.rb +0 -7
- data/vendored/facter/lib/facter/util/wmi.rb +0 -49
- data/vendored/facter/lib/facter/util/xendomains.rb +0 -28
- data/vendored/facter/lib/facter/version.rb +0 -86
- data/vendored/facter/lib/facter/virtual.rb +0 -330
- data/vendored/facter/lib/facter/vlans.rb +0 -17
- data/vendored/facter/lib/facter/xendomains.rb +0 -20
- data/vendored/facter/lib/facter/zfs_version.rb +0 -14
- data/vendored/facter/lib/facter/zonename.rb +0 -6
- data/vendored/facter/lib/facter/zones.rb +0 -18
- data/vendored/facter/lib/facter/zpool_version.rb +0 -10
- data/vendored/hiera/lib/hiera.rb +0 -119
- data/vendored/hiera/lib/hiera/backend.rb +0 -360
- data/vendored/hiera/lib/hiera/backend/json_backend.rb +0 -58
- data/vendored/hiera/lib/hiera/backend/yaml_backend.rb +0 -63
- data/vendored/hiera/lib/hiera/config.rb +0 -97
- data/vendored/hiera/lib/hiera/console_logger.rb +0 -13
- data/vendored/hiera/lib/hiera/error.rb +0 -4
- data/vendored/hiera/lib/hiera/fallback_logger.rb +0 -41
- data/vendored/hiera/lib/hiera/filecache.rb +0 -86
- data/vendored/hiera/lib/hiera/interpolate.rb +0 -121
- data/vendored/hiera/lib/hiera/noop_logger.rb +0 -8
- data/vendored/hiera/lib/hiera/puppet_logger.rb +0 -17
- data/vendored/hiera/lib/hiera/recursive_guard.rb +0 -20
- data/vendored/hiera/lib/hiera/util.rb +0 -65
- data/vendored/hiera/lib/hiera/util/win32.rb +0 -40
- data/vendored/hiera/lib/hiera/version.rb +0 -89
- data/vendored/puppet/lib/hiera/puppet_function.rb +0 -84
- data/vendored/puppet/lib/hiera/scope.rb +0 -83
- data/vendored/puppet/lib/hiera_puppet.rb +0 -79
- data/vendored/puppet/lib/puppet.rb +0 -299
- data/vendored/puppet/lib/puppet/agent.rb +0 -134
- data/vendored/puppet/lib/puppet/agent/disabler.rb +0 -53
- data/vendored/puppet/lib/puppet/agent/locker.rb +0 -53
- data/vendored/puppet/lib/puppet/application.rb +0 -509
- data/vendored/puppet/lib/puppet/application/agent.rb +0 -469
- data/vendored/puppet/lib/puppet/application/apply.rb +0 -407
- data/vendored/puppet/lib/puppet/application/catalog.rb +0 -4
- data/vendored/puppet/lib/puppet/application/cert.rb +0 -76
- data/vendored/puppet/lib/puppet/application/config.rb +0 -5
- data/vendored/puppet/lib/puppet/application/describe.rb +0 -257
- data/vendored/puppet/lib/puppet/application/device.rb +0 -386
- data/vendored/puppet/lib/puppet/application/doc.rb +0 -232
- data/vendored/puppet/lib/puppet/application/epp.rb +0 -5
- data/vendored/puppet/lib/puppet/application/face_base.rb +0 -268
- data/vendored/puppet/lib/puppet/application/facts.rb +0 -9
- data/vendored/puppet/lib/puppet/application/filebucket.rb +0 -300
- data/vendored/puppet/lib/puppet/application/generate.rb +0 -5
- data/vendored/puppet/lib/puppet/application/help.rb +0 -5
- data/vendored/puppet/lib/puppet/application/indirection_base.rb +0 -4
- data/vendored/puppet/lib/puppet/application/key.rb +0 -4
- data/vendored/puppet/lib/puppet/application/lookup.rb +0 -369
- data/vendored/puppet/lib/puppet/application/man.rb +0 -4
- data/vendored/puppet/lib/puppet/application/module.rb +0 -4
- data/vendored/puppet/lib/puppet/application/node.rb +0 -4
- data/vendored/puppet/lib/puppet/application/parser.rb +0 -5
- data/vendored/puppet/lib/puppet/application/plugin.rb +0 -3
- data/vendored/puppet/lib/puppet/application/report.rb +0 -4
- data/vendored/puppet/lib/puppet/application/resource.rb +0 -231
- data/vendored/puppet/lib/puppet/application/script.rb +0 -261
- data/vendored/puppet/lib/puppet/application/ssl.rb +0 -133
- data/vendored/puppet/lib/puppet/application/status.rb +0 -4
- data/vendored/puppet/lib/puppet/application_support.rb +0 -61
- data/vendored/puppet/lib/puppet/coercion.rb +0 -40
- data/vendored/puppet/lib/puppet/compilable_resource_type.rb +0 -15
- data/vendored/puppet/lib/puppet/configurer.rb +0 -484
- data/vendored/puppet/lib/puppet/configurer/downloader.rb +0 -67
- data/vendored/puppet/lib/puppet/configurer/fact_handler.rb +0 -50
- data/vendored/puppet/lib/puppet/configurer/plugin_handler.rb +0 -48
- data/vendored/puppet/lib/puppet/confine.rb +0 -83
- data/vendored/puppet/lib/puppet/confine/any.rb +0 -26
- data/vendored/puppet/lib/puppet/confine/exists.rb +0 -19
- data/vendored/puppet/lib/puppet/confine/false.rb +0 -19
- data/vendored/puppet/lib/puppet/confine/feature.rb +0 -17
- data/vendored/puppet/lib/puppet/confine/true.rb +0 -20
- data/vendored/puppet/lib/puppet/confine/variable.rb +0 -59
- data/vendored/puppet/lib/puppet/confine_collection.rb +0 -50
- data/vendored/puppet/lib/puppet/confiner.rb +0 -46
- data/vendored/puppet/lib/puppet/context.rb +0 -116
- data/vendored/puppet/lib/puppet/context/trusted_information.rb +0 -76
- data/vendored/puppet/lib/puppet/daemon.rb +0 -195
- data/vendored/puppet/lib/puppet/data_binding.rb +0 -14
- data/vendored/puppet/lib/puppet/datatypes.rb +0 -213
- data/vendored/puppet/lib/puppet/datatypes/error.rb +0 -21
- data/vendored/puppet/lib/puppet/datatypes/impl/error.rb +0 -40
- data/vendored/puppet/lib/puppet/defaults.rb +0 -2003
- data/vendored/puppet/lib/puppet/environments.rb +0 -505
- data/vendored/puppet/lib/puppet/error.rb +0 -117
- data/vendored/puppet/lib/puppet/etc.rb +0 -160
- data/vendored/puppet/lib/puppet/external/dot.rb +0 -325
- data/vendored/puppet/lib/puppet/external/pson/common.rb +0 -374
- data/vendored/puppet/lib/puppet/external/pson/pure.rb +0 -15
- data/vendored/puppet/lib/puppet/external/pson/pure/generator.rb +0 -395
- data/vendored/puppet/lib/puppet/external/pson/pure/parser.rb +0 -307
- data/vendored/puppet/lib/puppet/external/pson/version.rb +0 -8
- data/vendored/puppet/lib/puppet/face.rb +0 -12
- data/vendored/puppet/lib/puppet/face/catalog.rb +0 -130
- data/vendored/puppet/lib/puppet/face/catalog/select.rb +0 -49
- data/vendored/puppet/lib/puppet/face/config.rb +0 -265
- data/vendored/puppet/lib/puppet/face/epp.rb +0 -554
- data/vendored/puppet/lib/puppet/face/facts.rb +0 -87
- data/vendored/puppet/lib/puppet/face/generate.rb +0 -64
- data/vendored/puppet/lib/puppet/face/help.rb +0 -215
- data/vendored/puppet/lib/puppet/face/key.rb +0 -16
- data/vendored/puppet/lib/puppet/face/man.rb +0 -145
- data/vendored/puppet/lib/puppet/face/module.rb +0 -19
- data/vendored/puppet/lib/puppet/face/module/build.rb +0 -14
- data/vendored/puppet/lib/puppet/face/module/changes.rb +0 -42
- data/vendored/puppet/lib/puppet/face/module/generate.rb +0 -14
- data/vendored/puppet/lib/puppet/face/module/install.rb +0 -146
- data/vendored/puppet/lib/puppet/face/module/list.rb +0 -263
- data/vendored/puppet/lib/puppet/face/module/search.rb +0 -98
- data/vendored/puppet/lib/puppet/face/module/uninstall.rb +0 -89
- data/vendored/puppet/lib/puppet/face/module/upgrade.rb +0 -87
- data/vendored/puppet/lib/puppet/face/node.rb +0 -43
- data/vendored/puppet/lib/puppet/face/node/clean.rb +0 -100
- data/vendored/puppet/lib/puppet/face/parser.rb +0 -187
- data/vendored/puppet/lib/puppet/face/plugin.rb +0 -56
- data/vendored/puppet/lib/puppet/face/report.rb +0 -54
- data/vendored/puppet/lib/puppet/face/resource.rb +0 -53
- data/vendored/puppet/lib/puppet/face/status.rb +0 -51
- data/vendored/puppet/lib/puppet/feature/base.rb +0 -76
- data/vendored/puppet/lib/puppet/feature/bolt.rb +0 -3
- data/vendored/puppet/lib/puppet/feature/cfpropertylist.rb +0 -3
- data/vendored/puppet/lib/puppet/feature/eventlog.rb +0 -5
- data/vendored/puppet/lib/puppet/feature/hiera_eyaml.rb +0 -3
- data/vendored/puppet/lib/puppet/feature/hocon.rb +0 -3
- data/vendored/puppet/lib/puppet/feature/libuser.rb +0 -8
- data/vendored/puppet/lib/puppet/feature/msgpack.rb +0 -3
- data/vendored/puppet/lib/puppet/feature/pe_license.rb +0 -4
- data/vendored/puppet/lib/puppet/feature/selinux.rb +0 -3
- data/vendored/puppet/lib/puppet/feature/ssh.rb +0 -3
- data/vendored/puppet/lib/puppet/feature/telnet.rb +0 -9
- data/vendored/puppet/lib/puppet/feature/zlib.rb +0 -5
- data/vendored/puppet/lib/puppet/file_bucket.rb +0 -4
- data/vendored/puppet/lib/puppet/file_bucket/dipper.rb +0 -173
- data/vendored/puppet/lib/puppet/file_bucket/file.rb +0 -129
- data/vendored/puppet/lib/puppet/file_serving.rb +0 -3
- data/vendored/puppet/lib/puppet/file_serving/base.rb +0 -86
- data/vendored/puppet/lib/puppet/file_serving/configuration.rb +0 -115
- data/vendored/puppet/lib/puppet/file_serving/configuration/parser.rb +0 -137
- data/vendored/puppet/lib/puppet/file_serving/content.rb +0 -43
- data/vendored/puppet/lib/puppet/file_serving/fileset.rb +0 -174
- data/vendored/puppet/lib/puppet/file_serving/http_metadata.rb +0 -46
- data/vendored/puppet/lib/puppet/file_serving/metadata.rb +0 -164
- data/vendored/puppet/lib/puppet/file_serving/mount.rb +0 -39
- data/vendored/puppet/lib/puppet/file_serving/mount/file.rb +0 -121
- data/vendored/puppet/lib/puppet/file_serving/mount/locales.rb +0 -35
- data/vendored/puppet/lib/puppet/file_serving/mount/modules.rb +0 -24
- data/vendored/puppet/lib/puppet/file_serving/mount/pluginfacts.rb +0 -35
- data/vendored/puppet/lib/puppet/file_serving/mount/plugins.rb +0 -35
- data/vendored/puppet/lib/puppet/file_serving/mount/tasks.rb +0 -21
- data/vendored/puppet/lib/puppet/file_serving/terminus_helper.rb +0 -31
- data/vendored/puppet/lib/puppet/file_serving/terminus_selector.rb +0 -32
- data/vendored/puppet/lib/puppet/file_system.rb +0 -404
- data/vendored/puppet/lib/puppet/file_system/file_impl.rb +0 -154
- data/vendored/puppet/lib/puppet/file_system/memory_file.rb +0 -66
- data/vendored/puppet/lib/puppet/file_system/memory_impl.rb +0 -86
- data/vendored/puppet/lib/puppet/file_system/path_pattern.rb +0 -98
- data/vendored/puppet/lib/puppet/file_system/posix.rb +0 -46
- data/vendored/puppet/lib/puppet/file_system/uniquefile.rb +0 -190
- data/vendored/puppet/lib/puppet/file_system/windows.rb +0 -130
- data/vendored/puppet/lib/puppet/forge.rb +0 -241
- data/vendored/puppet/lib/puppet/forge/cache.rb +0 -60
- data/vendored/puppet/lib/puppet/forge/errors.rb +0 -114
- data/vendored/puppet/lib/puppet/forge/repository.rb +0 -155
- data/vendored/puppet/lib/puppet/functions.rb +0 -863
- data/vendored/puppet/lib/puppet/functions/abs.rb +0 -61
- data/vendored/puppet/lib/puppet/functions/alert.rb +0 -14
- data/vendored/puppet/lib/puppet/functions/all.rb +0 -104
- data/vendored/puppet/lib/puppet/functions/annotate.rb +0 -108
- data/vendored/puppet/lib/puppet/functions/any.rb +0 -109
- data/vendored/puppet/lib/puppet/functions/assert_type.rb +0 -93
- data/vendored/puppet/lib/puppet/functions/binary_file.rb +0 -32
- data/vendored/puppet/lib/puppet/functions/break.rb +0 -47
- data/vendored/puppet/lib/puppet/functions/call.rb +0 -79
- data/vendored/puppet/lib/puppet/functions/camelcase.rb +0 -62
- data/vendored/puppet/lib/puppet/functions/capitalize.rb +0 -61
- data/vendored/puppet/lib/puppet/functions/ceiling.rb +0 -37
- data/vendored/puppet/lib/puppet/functions/chomp.rb +0 -57
- data/vendored/puppet/lib/puppet/functions/chop.rb +0 -67
- data/vendored/puppet/lib/puppet/functions/compare.rb +0 -125
- data/vendored/puppet/lib/puppet/functions/contain.rb +0 -55
- data/vendored/puppet/lib/puppet/functions/convert_to.rb +0 -34
- data/vendored/puppet/lib/puppet/functions/crit.rb +0 -14
- data/vendored/puppet/lib/puppet/functions/debug.rb +0 -14
- data/vendored/puppet/lib/puppet/functions/defined.rb +0 -159
- data/vendored/puppet/lib/puppet/functions/dig.rb +0 -67
- data/vendored/puppet/lib/puppet/functions/downcase.rb +0 -89
- data/vendored/puppet/lib/puppet/functions/each.rb +0 -169
- data/vendored/puppet/lib/puppet/functions/emerg.rb +0 -14
- data/vendored/puppet/lib/puppet/functions/empty.rb +0 -77
- data/vendored/puppet/lib/puppet/functions/epp.rb +0 -48
- data/vendored/puppet/lib/puppet/functions/err.rb +0 -14
- data/vendored/puppet/lib/puppet/functions/eyaml_lookup_key.rb +0 -97
- data/vendored/puppet/lib/puppet/functions/filter.rb +0 -144
- data/vendored/puppet/lib/puppet/functions/find_file.rb +0 -44
- data/vendored/puppet/lib/puppet/functions/flatten.rb +0 -64
- data/vendored/puppet/lib/puppet/functions/floor.rb +0 -37
- data/vendored/puppet/lib/puppet/functions/get.rb +0 -150
- data/vendored/puppet/lib/puppet/functions/getvar.rb +0 -87
- data/vendored/puppet/lib/puppet/functions/hiera.rb +0 -88
- data/vendored/puppet/lib/puppet/functions/hiera_array.rb +0 -81
- data/vendored/puppet/lib/puppet/functions/hiera_hash.rb +0 -92
- data/vendored/puppet/lib/puppet/functions/hiera_include.rb +0 -104
- data/vendored/puppet/lib/puppet/functions/hocon_data.rb +0 -41
- data/vendored/puppet/lib/puppet/functions/import.rb +0 -7
- data/vendored/puppet/lib/puppet/functions/include.rb +0 -53
- data/vendored/puppet/lib/puppet/functions/info.rb +0 -14
- data/vendored/puppet/lib/puppet/functions/inline_epp.rb +0 -59
- data/vendored/puppet/lib/puppet/functions/join.rb +0 -56
- data/vendored/puppet/lib/puppet/functions/json_data.rb +0 -33
- data/vendored/puppet/lib/puppet/functions/keys.rb +0 -25
- data/vendored/puppet/lib/puppet/functions/length.rb +0 -44
- data/vendored/puppet/lib/puppet/functions/lest.rb +0 -55
- data/vendored/puppet/lib/puppet/functions/lookup.rb +0 -224
- data/vendored/puppet/lib/puppet/functions/lstrip.rb +0 -58
- data/vendored/puppet/lib/puppet/functions/map.rb +0 -136
- data/vendored/puppet/lib/puppet/functions/match.rb +0 -131
- data/vendored/puppet/lib/puppet/functions/max.rb +0 -183
- data/vendored/puppet/lib/puppet/functions/min.rb +0 -182
- data/vendored/puppet/lib/puppet/functions/module_directory.rb +0 -41
- data/vendored/puppet/lib/puppet/functions/new.rb +0 -1006
- data/vendored/puppet/lib/puppet/functions/next.rb +0 -16
- data/vendored/puppet/lib/puppet/functions/notice.rb +0 -14
- data/vendored/puppet/lib/puppet/functions/reduce.rb +0 -164
- data/vendored/puppet/lib/puppet/functions/regsubst.rb +0 -82
- data/vendored/puppet/lib/puppet/functions/require.rb +0 -77
- data/vendored/puppet/lib/puppet/functions/return.rb +0 -15
- data/vendored/puppet/lib/puppet/functions/reverse_each.rb +0 -94
- data/vendored/puppet/lib/puppet/functions/round.rb +0 -24
- data/vendored/puppet/lib/puppet/functions/rstrip.rb +0 -58
- data/vendored/puppet/lib/puppet/functions/scanf.rb +0 -44
- data/vendored/puppet/lib/puppet/functions/size.rb +0 -15
- data/vendored/puppet/lib/puppet/functions/slice.rb +0 -124
- data/vendored/puppet/lib/puppet/functions/sort.rb +0 -74
- data/vendored/puppet/lib/puppet/functions/split.rb +0 -49
- data/vendored/puppet/lib/puppet/functions/step.rb +0 -98
- data/vendored/puppet/lib/puppet/functions/strftime.rb +0 -211
- data/vendored/puppet/lib/puppet/functions/strip.rb +0 -58
- data/vendored/puppet/lib/puppet/functions/then.rb +0 -77
- data/vendored/puppet/lib/puppet/functions/tree_each.rb +0 -200
- data/vendored/puppet/lib/puppet/functions/type.rb +0 -72
- data/vendored/puppet/lib/puppet/functions/unique.rb +0 -132
- data/vendored/puppet/lib/puppet/functions/unwrap.rb +0 -44
- data/vendored/puppet/lib/puppet/functions/upcase.rb +0 -89
- data/vendored/puppet/lib/puppet/functions/values.rb +0 -25
- data/vendored/puppet/lib/puppet/functions/versioncmp.rb +0 -36
- data/vendored/puppet/lib/puppet/functions/warning.rb +0 -14
- data/vendored/puppet/lib/puppet/functions/with.rb +0 -32
- data/vendored/puppet/lib/puppet/functions/yaml_data.rb +0 -43
- data/vendored/puppet/lib/puppet/generate/models/type/property.rb +0 -70
- data/vendored/puppet/lib/puppet/generate/models/type/type.rb +0 -62
- data/vendored/puppet/lib/puppet/generate/type.rb +0 -239
- data/vendored/puppet/lib/puppet/gettext/config.rb +0 -275
- data/vendored/puppet/lib/puppet/gettext/module_translations.rb +0 -42
- data/vendored/puppet/lib/puppet/gettext/stubs.rb +0 -11
- data/vendored/puppet/lib/puppet/graph.rb +0 -9
- data/vendored/puppet/lib/puppet/graph/key.rb +0 -26
- data/vendored/puppet/lib/puppet/graph/prioritizer.rb +0 -29
- data/vendored/puppet/lib/puppet/graph/rb_tree_map.rb +0 -388
- data/vendored/puppet/lib/puppet/graph/relationship_graph.rb +0 -283
- data/vendored/puppet/lib/puppet/graph/sequential_prioritizer.rb +0 -31
- data/vendored/puppet/lib/puppet/graph/simple_graph.rb +0 -543
- data/vendored/puppet/lib/puppet/indirector.rb +0 -61
- data/vendored/puppet/lib/puppet/indirector/catalog/compiler.rb +0 -416
- data/vendored/puppet/lib/puppet/indirector/catalog/json.rb +0 -35
- data/vendored/puppet/lib/puppet/indirector/catalog/msgpack.rb +0 -6
- data/vendored/puppet/lib/puppet/indirector/catalog/rest.rb +0 -6
- data/vendored/puppet/lib/puppet/indirector/catalog/store_configs.rb +0 -8
- data/vendored/puppet/lib/puppet/indirector/catalog/yaml.rb +0 -6
- data/vendored/puppet/lib/puppet/indirector/certificate/file.rb +0 -8
- data/vendored/puppet/lib/puppet/indirector/certificate/rest.rb +0 -16
- data/vendored/puppet/lib/puppet/indirector/certificate_request/file.rb +0 -8
- data/vendored/puppet/lib/puppet/indirector/certificate_request/memory.rb +0 -6
- data/vendored/puppet/lib/puppet/indirector/certificate_request/rest.rb +0 -10
- data/vendored/puppet/lib/puppet/indirector/code.rb +0 -6
- data/vendored/puppet/lib/puppet/indirector/data_binding/hiera.rb +0 -7
- data/vendored/puppet/lib/puppet/indirector/data_binding/none.rb +0 -8
- data/vendored/puppet/lib/puppet/indirector/direct_file_server.rb +0 -17
- data/vendored/puppet/lib/puppet/indirector/envelope.rb +0 -11
- data/vendored/puppet/lib/puppet/indirector/errors.rb +0 -5
- data/vendored/puppet/lib/puppet/indirector/exec.rb +0 -38
- data/vendored/puppet/lib/puppet/indirector/face.rb +0 -153
- data/vendored/puppet/lib/puppet/indirector/facts/facter.rb +0 -88
- data/vendored/puppet/lib/puppet/indirector/facts/memory.rb +0 -9
- data/vendored/puppet/lib/puppet/indirector/facts/network_device.rb +0 -27
- data/vendored/puppet/lib/puppet/indirector/facts/rest.rb +0 -21
- data/vendored/puppet/lib/puppet/indirector/facts/store_configs.rb +0 -11
- data/vendored/puppet/lib/puppet/indirector/facts/yaml.rb +0 -84
- data/vendored/puppet/lib/puppet/indirector/file_bucket_file/file.rb +0 -262
- data/vendored/puppet/lib/puppet/indirector/file_bucket_file/rest.rb +0 -8
- data/vendored/puppet/lib/puppet/indirector/file_bucket_file/selector.rb +0 -53
- data/vendored/puppet/lib/puppet/indirector/file_content.rb +0 -5
- data/vendored/puppet/lib/puppet/indirector/file_content/file.rb +0 -7
- data/vendored/puppet/lib/puppet/indirector/file_content/file_server.rb +0 -7
- data/vendored/puppet/lib/puppet/indirector/file_content/http.rb +0 -17
- data/vendored/puppet/lib/puppet/indirector/file_content/rest.rb +0 -9
- data/vendored/puppet/lib/puppet/indirector/file_content/selector.rb +0 -30
- data/vendored/puppet/lib/puppet/indirector/file_metadata.rb +0 -5
- data/vendored/puppet/lib/puppet/indirector/file_metadata/file.rb +0 -7
- data/vendored/puppet/lib/puppet/indirector/file_metadata/file_server.rb +0 -7
- data/vendored/puppet/lib/puppet/indirector/file_metadata/http.rb +0 -27
- data/vendored/puppet/lib/puppet/indirector/file_metadata/rest.rb +0 -9
- data/vendored/puppet/lib/puppet/indirector/file_metadata/selector.rb +0 -30
- data/vendored/puppet/lib/puppet/indirector/file_server.rb +0 -59
- data/vendored/puppet/lib/puppet/indirector/generic_http.rb +0 -16
- data/vendored/puppet/lib/puppet/indirector/hiera.rb +0 -94
- data/vendored/puppet/lib/puppet/indirector/indirection.rb +0 -340
- data/vendored/puppet/lib/puppet/indirector/json.rb +0 -75
- data/vendored/puppet/lib/puppet/indirector/key/file.rb +0 -45
- data/vendored/puppet/lib/puppet/indirector/key/memory.rb +0 -6
- data/vendored/puppet/lib/puppet/indirector/memory.rb +0 -34
- data/vendored/puppet/lib/puppet/indirector/msgpack.rb +0 -83
- data/vendored/puppet/lib/puppet/indirector/node/exec.rb +0 -69
- data/vendored/puppet/lib/puppet/indirector/node/memory.rb +0 -10
- data/vendored/puppet/lib/puppet/indirector/node/msgpack.rb +0 -7
- data/vendored/puppet/lib/puppet/indirector/node/plain.rb +0 -21
- data/vendored/puppet/lib/puppet/indirector/node/rest.rb +0 -7
- data/vendored/puppet/lib/puppet/indirector/node/store_configs.rb +0 -8
- data/vendored/puppet/lib/puppet/indirector/node/yaml.rb +0 -7
- data/vendored/puppet/lib/puppet/indirector/none.rb +0 -9
- data/vendored/puppet/lib/puppet/indirector/plain.rb +0 -9
- data/vendored/puppet/lib/puppet/indirector/report/msgpack.rb +0 -11
- data/vendored/puppet/lib/puppet/indirector/report/processor.rb +0 -59
- data/vendored/puppet/lib/puppet/indirector/report/rest.rb +0 -28
- data/vendored/puppet/lib/puppet/indirector/report/yaml.rb +0 -11
- data/vendored/puppet/lib/puppet/indirector/request.rb +0 -278
- data/vendored/puppet/lib/puppet/indirector/resource/ral.rb +0 -63
- data/vendored/puppet/lib/puppet/indirector/resource/store_configs.rb +0 -12
- data/vendored/puppet/lib/puppet/indirector/resource/validator.rb +0 -8
- data/vendored/puppet/lib/puppet/indirector/rest.rb +0 -301
- data/vendored/puppet/lib/puppet/indirector/ssl_file.rb +0 -160
- data/vendored/puppet/lib/puppet/indirector/status.rb +0 -3
- data/vendored/puppet/lib/puppet/indirector/status/local.rb +0 -12
- data/vendored/puppet/lib/puppet/indirector/status/rest.rb +0 -9
- data/vendored/puppet/lib/puppet/indirector/store_configs.rb +0 -30
- data/vendored/puppet/lib/puppet/indirector/terminus.rb +0 -169
- data/vendored/puppet/lib/puppet/indirector/yaml.rb +0 -63
- data/vendored/puppet/lib/puppet/info_service.rb +0 -17
- data/vendored/puppet/lib/puppet/info_service/class_information_service.rb +0 -110
- data/vendored/puppet/lib/puppet/info_service/task_information_service.rb +0 -36
- data/vendored/puppet/lib/puppet/interface.rb +0 -237
- data/vendored/puppet/lib/puppet/interface/action.rb +0 -399
- data/vendored/puppet/lib/puppet/interface/action_builder.rb +0 -166
- data/vendored/puppet/lib/puppet/interface/action_manager.rb +0 -97
- data/vendored/puppet/lib/puppet/interface/documentation.rb +0 -353
- data/vendored/puppet/lib/puppet/interface/face_collection.rb +0 -134
- data/vendored/puppet/lib/puppet/interface/option.rb +0 -171
- data/vendored/puppet/lib/puppet/interface/option_builder.rb +0 -105
- data/vendored/puppet/lib/puppet/interface/option_manager.rb +0 -104
- data/vendored/puppet/lib/puppet/loaders.rb +0 -28
- data/vendored/puppet/lib/puppet/metatype/manager.rb +0 -197
- data/vendored/puppet/lib/puppet/module.rb +0 -441
- data/vendored/puppet/lib/puppet/module/task.rb +0 -258
- data/vendored/puppet/lib/puppet/module_tool.rb +0 -193
- data/vendored/puppet/lib/puppet/module_tool/applications.rb +0 -13
- data/vendored/puppet/lib/puppet/module_tool/applications/application.rb +0 -90
- data/vendored/puppet/lib/puppet/module_tool/applications/checksummer.rb +0 -62
- data/vendored/puppet/lib/puppet/module_tool/applications/installer.rb +0 -354
- data/vendored/puppet/lib/puppet/module_tool/applications/searcher.rb +0 -29
- data/vendored/puppet/lib/puppet/module_tool/applications/uninstaller.rb +0 -120
- data/vendored/puppet/lib/puppet/module_tool/applications/unpacker.rb +0 -100
- data/vendored/puppet/lib/puppet/module_tool/applications/upgrader.rb +0 -280
- data/vendored/puppet/lib/puppet/module_tool/checksums.rb +0 -49
- data/vendored/puppet/lib/puppet/module_tool/contents_description.rb +0 -88
- data/vendored/puppet/lib/puppet/module_tool/dependency.rb +0 -41
- data/vendored/puppet/lib/puppet/module_tool/errors.rb +0 -11
- data/vendored/puppet/lib/puppet/module_tool/errors/base.rb +0 -15
- data/vendored/puppet/lib/puppet/module_tool/errors/installer.rb +0 -93
- data/vendored/puppet/lib/puppet/module_tool/errors/shared.rb +0 -195
- data/vendored/puppet/lib/puppet/module_tool/errors/uninstaller.rb +0 -50
- data/vendored/puppet/lib/puppet/module_tool/errors/upgrader.rb +0 -63
- data/vendored/puppet/lib/puppet/module_tool/install_directory.rb +0 -45
- data/vendored/puppet/lib/puppet/module_tool/installed_modules.rb +0 -96
- data/vendored/puppet/lib/puppet/module_tool/local_tarball.rb +0 -90
- data/vendored/puppet/lib/puppet/module_tool/metadata.rb +0 -222
- data/vendored/puppet/lib/puppet/module_tool/shared_behaviors.rb +0 -180
- data/vendored/puppet/lib/puppet/module_tool/tar.rb +0 -18
- data/vendored/puppet/lib/puppet/module_tool/tar/gnu.rb +0 -19
- data/vendored/puppet/lib/puppet/module_tool/tar/mini.rb +0 -106
- data/vendored/puppet/lib/puppet/network.rb +0 -3
- data/vendored/puppet/lib/puppet/network/auth_config_parser.rb +0 -90
- data/vendored/puppet/lib/puppet/network/authconfig.rb +0 -99
- data/vendored/puppet/lib/puppet/network/authorization.rb +0 -41
- data/vendored/puppet/lib/puppet/network/authstore.rb +0 -282
- data/vendored/puppet/lib/puppet/network/client_request.rb +0 -29
- data/vendored/puppet/lib/puppet/network/format.rb +0 -110
- data/vendored/puppet/lib/puppet/network/format_handler.rb +0 -108
- data/vendored/puppet/lib/puppet/network/format_support.rb +0 -139
- data/vendored/puppet/lib/puppet/network/formats.rb +0 -260
- data/vendored/puppet/lib/puppet/network/http.rb +0 -28
- data/vendored/puppet/lib/puppet/network/http/api.rb +0 -35
- data/vendored/puppet/lib/puppet/network/http/api/indirected_routes.rb +0 -286
- data/vendored/puppet/lib/puppet/network/http/api/indirection_type.rb +0 -32
- data/vendored/puppet/lib/puppet/network/http/api/master.rb +0 -2
- data/vendored/puppet/lib/puppet/network/http/api/master/v3.rb +0 -28
- data/vendored/puppet/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
- data/vendored/puppet/lib/puppet/network/http/api/master/v3/environment.rb +0 -85
- data/vendored/puppet/lib/puppet/network/http/api/master/v3/environments.rb +0 -35
- data/vendored/puppet/lib/puppet/network/http/compression.rb +0 -120
- data/vendored/puppet/lib/puppet/network/http/connection.rb +0 -319
- data/vendored/puppet/lib/puppet/network/http/error.rb +0 -73
- data/vendored/puppet/lib/puppet/network/http/factory.rb +0 -55
- data/vendored/puppet/lib/puppet/network/http/handler.rb +0 -215
- data/vendored/puppet/lib/puppet/network/http/issues.rb +0 -12
- data/vendored/puppet/lib/puppet/network/http/memory_response.rb +0 -13
- data/vendored/puppet/lib/puppet/network/http/nocache_pool.rb +0 -21
- data/vendored/puppet/lib/puppet/network/http/pool.rb +0 -129
- data/vendored/puppet/lib/puppet/network/http/request.rb +0 -70
- data/vendored/puppet/lib/puppet/network/http/response.rb +0 -23
- data/vendored/puppet/lib/puppet/network/http/route.rb +0 -100
- data/vendored/puppet/lib/puppet/network/http/session.rb +0 -17
- data/vendored/puppet/lib/puppet/network/http/site.rb +0 -39
- data/vendored/puppet/lib/puppet/network/http_pool.rb +0 -61
- data/vendored/puppet/lib/puppet/network/resolver.rb +0 -158
- data/vendored/puppet/lib/puppet/network/rest_controller.rb +0 -2
- data/vendored/puppet/lib/puppet/network/rights.rb +0 -209
- data/vendored/puppet/lib/puppet/node.rb +0 -281
- data/vendored/puppet/lib/puppet/node/environment.rb +0 -575
- data/vendored/puppet/lib/puppet/node/facts.rb +0 -147
- data/vendored/puppet/lib/puppet/parameter.rb +0 -572
- data/vendored/puppet/lib/puppet/parameter/boolean.rb +0 -15
- data/vendored/puppet/lib/puppet/parameter/package_options.rb +0 -31
- data/vendored/puppet/lib/puppet/parameter/path.rb +0 -57
- data/vendored/puppet/lib/puppet/parameter/value.rb +0 -91
- data/vendored/puppet/lib/puppet/parameter/value_collection.rb +0 -212
- data/vendored/puppet/lib/puppet/parser.rb +0 -20
- data/vendored/puppet/lib/puppet/parser/abstract_compiler.rb +0 -36
- data/vendored/puppet/lib/puppet/parser/ast.rb +0 -61
- data/vendored/puppet/lib/puppet/parser/ast/block_expression.rb +0 -15
- data/vendored/puppet/lib/puppet/parser/ast/branch.rb +0 -19
- data/vendored/puppet/lib/puppet/parser/ast/hostclass.rb +0 -27
- data/vendored/puppet/lib/puppet/parser/ast/leaf.rb +0 -80
- data/vendored/puppet/lib/puppet/parser/ast/node.rb +0 -17
- data/vendored/puppet/lib/puppet/parser/ast/pops_bridge.rb +0 -291
- data/vendored/puppet/lib/puppet/parser/ast/resource.rb +0 -66
- data/vendored/puppet/lib/puppet/parser/ast/resource_instance.rb +0 -10
- data/vendored/puppet/lib/puppet/parser/ast/resourceparam.rb +0 -31
- data/vendored/puppet/lib/puppet/parser/ast/top_level_construct.rb +0 -4
- data/vendored/puppet/lib/puppet/parser/catalog_compiler.rb +0 -56
- data/vendored/puppet/lib/puppet/parser/compiler.rb +0 -798
- data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator.rb +0 -33
- data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -64
- data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +0 -64
- data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -20
- data/vendored/puppet/lib/puppet/parser/e4_parser_adapter.rb +0 -60
- data/vendored/puppet/lib/puppet/parser/environment_compiler.rb +0 -199
- data/vendored/puppet/lib/puppet/parser/files.rb +0 -92
- data/vendored/puppet/lib/puppet/parser/functions.rb +0 -311
- data/vendored/puppet/lib/puppet/parser/functions/assert_type.rb +0 -60
- data/vendored/puppet/lib/puppet/parser/functions/binary_file.rb +0 -24
- data/vendored/puppet/lib/puppet/parser/functions/break.rb +0 -39
- data/vendored/puppet/lib/puppet/parser/functions/contain.rb +0 -30
- data/vendored/puppet/lib/puppet/parser/functions/create_resources.rb +0 -106
- data/vendored/puppet/lib/puppet/parser/functions/defined.rb +0 -107
- data/vendored/puppet/lib/puppet/parser/functions/dig.rb +0 -38
- data/vendored/puppet/lib/puppet/parser/functions/digest.rb +0 -5
- data/vendored/puppet/lib/puppet/parser/functions/each.rb +0 -104
- data/vendored/puppet/lib/puppet/parser/functions/epp.rb +0 -39
- data/vendored/puppet/lib/puppet/parser/functions/fail.rb +0 -4
- data/vendored/puppet/lib/puppet/parser/functions/file.rb +0 -33
- data/vendored/puppet/lib/puppet/parser/functions/filter.rb +0 -78
- data/vendored/puppet/lib/puppet/parser/functions/find_file.rb +0 -28
- data/vendored/puppet/lib/puppet/parser/functions/fqdn_rand.rb +0 -36
- data/vendored/puppet/lib/puppet/parser/functions/generate.rb +0 -36
- data/vendored/puppet/lib/puppet/parser/functions/hiera.rb +0 -103
- data/vendored/puppet/lib/puppet/parser/functions/hiera_array.rb +0 -92
- data/vendored/puppet/lib/puppet/parser/functions/hiera_hash.rb +0 -102
- data/vendored/puppet/lib/puppet/parser/functions/hiera_include.rb +0 -101
- data/vendored/puppet/lib/puppet/parser/functions/include.rb +0 -34
- data/vendored/puppet/lib/puppet/parser/functions/inline_epp.rb +0 -51
- data/vendored/puppet/lib/puppet/parser/functions/inline_template.rb +0 -26
- data/vendored/puppet/lib/puppet/parser/functions/lest.rb +0 -49
- data/vendored/puppet/lib/puppet/parser/functions/lookup.rb +0 -132
- data/vendored/puppet/lib/puppet/parser/functions/map.rb +0 -76
- data/vendored/puppet/lib/puppet/parser/functions/match.rb +0 -43
- data/vendored/puppet/lib/puppet/parser/functions/md5.rb +0 -5
- data/vendored/puppet/lib/puppet/parser/functions/new.rb +0 -991
- data/vendored/puppet/lib/puppet/parser/functions/next.rb +0 -38
- data/vendored/puppet/lib/puppet/parser/functions/realize.rb +0 -20
- data/vendored/puppet/lib/puppet/parser/functions/reduce.rb +0 -137
- data/vendored/puppet/lib/puppet/parser/functions/regsubst.rb +0 -62
- data/vendored/puppet/lib/puppet/parser/functions/require.rb +0 -40
- data/vendored/puppet/lib/puppet/parser/functions/return.rb +0 -92
- data/vendored/puppet/lib/puppet/parser/functions/reverse_each.rb +0 -83
- data/vendored/puppet/lib/puppet/parser/functions/scanf.rb +0 -38
- data/vendored/puppet/lib/puppet/parser/functions/sha1.rb +0 -5
- data/vendored/puppet/lib/puppet/parser/functions/sha256.rb +0 -5
- data/vendored/puppet/lib/puppet/parser/functions/shellquote.rb +0 -61
- data/vendored/puppet/lib/puppet/parser/functions/slice.rb +0 -39
- data/vendored/puppet/lib/puppet/parser/functions/split.rb +0 -28
- data/vendored/puppet/lib/puppet/parser/functions/sprintf.rb +0 -61
- data/vendored/puppet/lib/puppet/parser/functions/step.rb +0 -84
- data/vendored/puppet/lib/puppet/parser/functions/strftime.rb +0 -185
- data/vendored/puppet/lib/puppet/parser/functions/tag.rb +0 -12
- data/vendored/puppet/lib/puppet/parser/functions/tagged.rb +0 -21
- data/vendored/puppet/lib/puppet/parser/functions/template.rb +0 -39
- data/vendored/puppet/lib/puppet/parser/functions/then.rb +0 -73
- data/vendored/puppet/lib/puppet/parser/functions/type.rb +0 -53
- data/vendored/puppet/lib/puppet/parser/functions/versioncmp.rb +0 -30
- data/vendored/puppet/lib/puppet/parser/functions/with.rb +0 -28
- data/vendored/puppet/lib/puppet/parser/parser_factory.rb +0 -30
- data/vendored/puppet/lib/puppet/parser/relationship.rb +0 -83
- data/vendored/puppet/lib/puppet/parser/resource.rb +0 -416
- data/vendored/puppet/lib/puppet/parser/resource/param.rb +0 -29
- data/vendored/puppet/lib/puppet/parser/scope.rb +0 -1123
- data/vendored/puppet/lib/puppet/parser/script_compiler.rb +0 -123
- data/vendored/puppet/lib/puppet/parser/templatewrapper.rb +0 -102
- data/vendored/puppet/lib/puppet/parser/type_loader.rb +0 -149
- data/vendored/puppet/lib/puppet/plugins.rb +0 -9
- data/vendored/puppet/lib/puppet/plugins/configuration.rb +0 -25
- data/vendored/puppet/lib/puppet/plugins/syntax_checkers.rb +0 -98
- data/vendored/puppet/lib/puppet/pops.rb +0 -121
- data/vendored/puppet/lib/puppet/pops/adaptable.rb +0 -206
- data/vendored/puppet/lib/puppet/pops/adapters.rb +0 -152
- data/vendored/puppet/lib/puppet/pops/evaluator/access_operator.rb +0 -719
- data/vendored/puppet/lib/puppet/pops/evaluator/callable_signature.rb +0 -107
- data/vendored/puppet/lib/puppet/pops/evaluator/closure.rb +0 -373
- data/vendored/puppet/lib/puppet/pops/evaluator/collector_transformer.rb +0 -234
- data/vendored/puppet/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +0 -86
- data/vendored/puppet/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +0 -29
- data/vendored/puppet/lib/puppet/pops/evaluator/collectors/exported_collector.rb +0 -69
- data/vendored/puppet/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +0 -37
- data/vendored/puppet/lib/puppet/pops/evaluator/compare_operator.rb +0 -254
- data/vendored/puppet/lib/puppet/pops/evaluator/deferred_resolver.rb +0 -130
- data/vendored/puppet/lib/puppet/pops/evaluator/epp_evaluator.rb +0 -120
- data/vendored/puppet/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -1299
- data/vendored/puppet/lib/puppet/pops/evaluator/external_syntax_support.rb +0 -45
- data/vendored/puppet/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +0 -82
- data/vendored/puppet/lib/puppet/pops/evaluator/literal_evaluator.rb +0 -87
- data/vendored/puppet/lib/puppet/pops/evaluator/puppet_proc.rb +0 -69
- data/vendored/puppet/lib/puppet/pops/evaluator/relationship_operator.rb +0 -185
- data/vendored/puppet/lib/puppet/pops/evaluator/runtime3_converter.rb +0 -221
- data/vendored/puppet/lib/puppet/pops/evaluator/runtime3_resource_support.rb +0 -117
- data/vendored/puppet/lib/puppet/pops/evaluator/runtime3_support.rb +0 -534
- data/vendored/puppet/lib/puppet/pops/functions/dispatch.rb +0 -107
- data/vendored/puppet/lib/puppet/pops/functions/dispatcher.rb +0 -71
- data/vendored/puppet/lib/puppet/pops/functions/function.rb +0 -141
- data/vendored/puppet/lib/puppet/pops/issue_reporter.rb +0 -137
- data/vendored/puppet/lib/puppet/pops/issues.rb +0 -921
- data/vendored/puppet/lib/puppet/pops/label_provider.rb +0 -90
- data/vendored/puppet/lib/puppet/pops/loader/base_loader.rb +0 -166
- data/vendored/puppet/lib/puppet/pops/loader/dependency_loader.rb +0 -92
- data/vendored/puppet/lib/puppet/pops/loader/gem_support.rb +0 -49
- data/vendored/puppet/lib/puppet/pops/loader/loader.rb +0 -209
- data/vendored/puppet/lib/puppet/pops/loader/loader_paths.rb +0 -377
- data/vendored/puppet/lib/puppet/pops/loader/module_loaders.rb +0 -549
- data/vendored/puppet/lib/puppet/pops/loader/null_loader.rb +0 -60
- data/vendored/puppet/lib/puppet/pops/loader/predefined_loader.rb +0 -24
- data/vendored/puppet/lib/puppet/pops/loader/puppet_function_instantiator.rb +0 -84
- data/vendored/puppet/lib/puppet/pops/loader/puppet_plan_instantiator.rb +0 -84
- data/vendored/puppet/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +0 -79
- data/vendored/puppet/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +0 -39
- data/vendored/puppet/lib/puppet/pops/loader/ruby_function_instantiator.rb +0 -45
- data/vendored/puppet/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +0 -62
- data/vendored/puppet/lib/puppet/pops/loader/runtime3_type_loader.rb +0 -101
- data/vendored/puppet/lib/puppet/pops/loader/simple_environment_loader.rb +0 -20
- data/vendored/puppet/lib/puppet/pops/loader/static_loader.rb +0 -127
- data/vendored/puppet/lib/puppet/pops/loader/task_instantiator.rb +0 -40
- data/vendored/puppet/lib/puppet/pops/loader/type_definition_instantiator.rb +0 -100
- data/vendored/puppet/lib/puppet/pops/loader/typed_name.rb +0 -54
- data/vendored/puppet/lib/puppet/pops/loader/uri_helper.rb +0 -22
- data/vendored/puppet/lib/puppet/pops/loaders.rb +0 -533
- data/vendored/puppet/lib/puppet/pops/lookup.rb +0 -96
- data/vendored/puppet/lib/puppet/pops/lookup/configured_data_provider.rb +0 -93
- data/vendored/puppet/lib/puppet/pops/lookup/context.rb +0 -200
- data/vendored/puppet/lib/puppet/pops/lookup/data_adapter.rb +0 -27
- data/vendored/puppet/lib/puppet/pops/lookup/data_dig_function_provider.rb +0 -145
- data/vendored/puppet/lib/puppet/pops/lookup/data_hash_function_provider.rb +0 -126
- data/vendored/puppet/lib/puppet/pops/lookup/data_provider.rb +0 -92
- data/vendored/puppet/lib/puppet/pops/lookup/environment_data_provider.rb +0 -35
- data/vendored/puppet/lib/puppet/pops/lookup/explainer.rb +0 -595
- data/vendored/puppet/lib/puppet/pops/lookup/function_provider.rb +0 -110
- data/vendored/puppet/lib/puppet/pops/lookup/global_data_provider.rb +0 -75
- data/vendored/puppet/lib/puppet/pops/lookup/hiera_config.rb +0 -761
- data/vendored/puppet/lib/puppet/pops/lookup/interpolation.rb +0 -154
- data/vendored/puppet/lib/puppet/pops/lookup/invocation.rb +0 -261
- data/vendored/puppet/lib/puppet/pops/lookup/location_resolver.rb +0 -99
- data/vendored/puppet/lib/puppet/pops/lookup/lookup_adapter.rb +0 -520
- data/vendored/puppet/lib/puppet/pops/lookup/lookup_key.rb +0 -99
- data/vendored/puppet/lib/puppet/pops/lookup/lookup_key_function_provider.rb +0 -92
- data/vendored/puppet/lib/puppet/pops/lookup/module_data_provider.rb +0 -89
- data/vendored/puppet/lib/puppet/pops/lookup/sub_lookup.rb +0 -92
- data/vendored/puppet/lib/puppet/pops/merge_strategy.rb +0 -437
- data/vendored/puppet/lib/puppet/pops/migration/migration_checker.rb +0 -58
- data/vendored/puppet/lib/puppet/pops/model/ast.rb +0 -4964
- data/vendored/puppet/lib/puppet/pops/model/ast_transformer.rb +0 -131
- data/vendored/puppet/lib/puppet/pops/model/factory.rb +0 -1163
- data/vendored/puppet/lib/puppet/pops/model/model_label_provider.rb +0 -139
- data/vendored/puppet/lib/puppet/pops/model/model_tree_dumper.rb +0 -467
- data/vendored/puppet/lib/puppet/pops/model/pn_transformer.rb +0 -400
- data/vendored/puppet/lib/puppet/pops/model/tree_dumper.rb +0 -59
- data/vendored/puppet/lib/puppet/pops/parser/code_merger.rb +0 -29
- data/vendored/puppet/lib/puppet/pops/parser/eparser.rb +0 -3361
- data/vendored/puppet/lib/puppet/pops/parser/epp_parser.rb +0 -51
- data/vendored/puppet/lib/puppet/pops/parser/epp_support.rb +0 -264
- data/vendored/puppet/lib/puppet/pops/parser/evaluating_parser.rb +0 -165
- data/vendored/puppet/lib/puppet/pops/parser/heredoc_support.rb +0 -143
- data/vendored/puppet/lib/puppet/pops/parser/interpolation_support.rb +0 -244
- data/vendored/puppet/lib/puppet/pops/parser/lexer2.rb +0 -772
- data/vendored/puppet/lib/puppet/pops/parser/lexer_support.rb +0 -221
- data/vendored/puppet/lib/puppet/pops/parser/locatable.rb +0 -23
- data/vendored/puppet/lib/puppet/pops/parser/locator.rb +0 -336
- data/vendored/puppet/lib/puppet/pops/parser/parser_support.rb +0 -247
- data/vendored/puppet/lib/puppet/pops/parser/pn_parser.rb +0 -316
- data/vendored/puppet/lib/puppet/pops/parser/slurp_support.rb +0 -117
- data/vendored/puppet/lib/puppet/pops/patterns.rb +0 -60
- data/vendored/puppet/lib/puppet/pops/pcore.rb +0 -135
- data/vendored/puppet/lib/puppet/pops/pn.rb +0 -236
- data/vendored/puppet/lib/puppet/pops/puppet_stack.rb +0 -57
- data/vendored/puppet/lib/puppet/pops/resource/param.rb +0 -55
- data/vendored/puppet/lib/puppet/pops/resource/resource_type_impl.rb +0 -314
- data/vendored/puppet/lib/puppet/pops/semantic_error.rb +0 -29
- data/vendored/puppet/lib/puppet/pops/serialization.rb +0 -43
- data/vendored/puppet/lib/puppet/pops/serialization/abstract_reader.rb +0 -180
- data/vendored/puppet/lib/puppet/pops/serialization/abstract_writer.rb +0 -222
- data/vendored/puppet/lib/puppet/pops/serialization/deserializer.rb +0 -80
- data/vendored/puppet/lib/puppet/pops/serialization/extension.rb +0 -158
- data/vendored/puppet/lib/puppet/pops/serialization/from_data_converter.rb +0 -224
- data/vendored/puppet/lib/puppet/pops/serialization/instance_reader.rb +0 -19
- data/vendored/puppet/lib/puppet/pops/serialization/instance_writer.rb +0 -14
- data/vendored/puppet/lib/puppet/pops/serialization/json.rb +0 -297
- data/vendored/puppet/lib/puppet/pops/serialization/json_path.rb +0 -127
- data/vendored/puppet/lib/puppet/pops/serialization/object.rb +0 -70
- data/vendored/puppet/lib/puppet/pops/serialization/serializer.rb +0 -140
- data/vendored/puppet/lib/puppet/pops/serialization/time_factory.rb +0 -67
- data/vendored/puppet/lib/puppet/pops/serialization/to_data_converter.rb +0 -313
- data/vendored/puppet/lib/puppet/pops/serialization/to_stringified_converter.rb +0 -226
- data/vendored/puppet/lib/puppet/pops/time/timespan.rb +0 -718
- data/vendored/puppet/lib/puppet/pops/time/timestamp.rb +0 -160
- data/vendored/puppet/lib/puppet/pops/types/annotatable.rb +0 -36
- data/vendored/puppet/lib/puppet/pops/types/annotation.rb +0 -71
- data/vendored/puppet/lib/puppet/pops/types/class_loader.rb +0 -132
- data/vendored/puppet/lib/puppet/pops/types/enumeration.rb +0 -16
- data/vendored/puppet/lib/puppet/pops/types/implementation_registry.rb +0 -134
- data/vendored/puppet/lib/puppet/pops/types/iterable.rb +0 -339
- data/vendored/puppet/lib/puppet/pops/types/p_binary_type.rb +0 -232
- data/vendored/puppet/lib/puppet/pops/types/p_init_type.rb +0 -238
- data/vendored/puppet/lib/puppet/pops/types/p_meta_type.rb +0 -94
- data/vendored/puppet/lib/puppet/pops/types/p_object_type.rb +0 -1117
- data/vendored/puppet/lib/puppet/pops/types/p_object_type_extension.rb +0 -218
- data/vendored/puppet/lib/puppet/pops/types/p_runtime_type.rb +0 -115
- data/vendored/puppet/lib/puppet/pops/types/p_sem_ver_range_type.rb +0 -190
- data/vendored/puppet/lib/puppet/pops/types/p_sem_ver_type.rb +0 -149
- data/vendored/puppet/lib/puppet/pops/types/p_sensitive_type.rb +0 -73
- data/vendored/puppet/lib/puppet/pops/types/p_timespan_type.rb +0 -192
- data/vendored/puppet/lib/puppet/pops/types/p_timestamp_type.rb +0 -73
- data/vendored/puppet/lib/puppet/pops/types/p_type_set_type.rb +0 -383
- data/vendored/puppet/lib/puppet/pops/types/p_uri_type.rb +0 -190
- data/vendored/puppet/lib/puppet/pops/types/puppet_object.rb +0 -40
- data/vendored/puppet/lib/puppet/pops/types/recursion_guard.rb +0 -136
- data/vendored/puppet/lib/puppet/pops/types/ruby_generator.rb +0 -472
- data/vendored/puppet/lib/puppet/pops/types/ruby_method.rb +0 -31
- data/vendored/puppet/lib/puppet/pops/types/string_converter.rb +0 -1123
- data/vendored/puppet/lib/puppet/pops/types/tree_iterators.rb +0 -254
- data/vendored/puppet/lib/puppet/pops/types/type_acceptor.rb +0 -25
- data/vendored/puppet/lib/puppet/pops/types/type_asserter.rb +0 -47
- data/vendored/puppet/lib/puppet/pops/types/type_assertion_error.rb +0 -27
- data/vendored/puppet/lib/puppet/pops/types/type_calculator.rb +0 -809
- data/vendored/puppet/lib/puppet/pops/types/type_conversion_error.rb +0 -15
- data/vendored/puppet/lib/puppet/pops/types/type_factory.rb +0 -631
- data/vendored/puppet/lib/puppet/pops/types/type_formatter.rb +0 -802
- data/vendored/puppet/lib/puppet/pops/types/type_mismatch_describer.rb +0 -1075
- data/vendored/puppet/lib/puppet/pops/types/type_parser.rb +0 -685
- data/vendored/puppet/lib/puppet/pops/types/type_set_reference.rb +0 -59
- data/vendored/puppet/lib/puppet/pops/types/type_with_members.rb +0 -43
- data/vendored/puppet/lib/puppet/pops/types/types.rb +0 -3631
- data/vendored/puppet/lib/puppet/pops/utils.rb +0 -119
- data/vendored/puppet/lib/puppet/pops/validation.rb +0 -466
- data/vendored/puppet/lib/puppet/pops/validation/checker4_0.rb +0 -1127
- data/vendored/puppet/lib/puppet/pops/validation/tasks_checker.rb +0 -101
- data/vendored/puppet/lib/puppet/pops/validation/validator_factory_4_0.rb +0 -43
- data/vendored/puppet/lib/puppet/pops/visitable.rb +0 -6
- data/vendored/puppet/lib/puppet/pops/visitor.rb +0 -116
- data/vendored/puppet/lib/puppet/property.rb +0 -608
- data/vendored/puppet/lib/puppet/property/boolean.rb +0 -7
- data/vendored/puppet/lib/puppet/property/ensure.rb +0 -105
- data/vendored/puppet/lib/puppet/property/keyvalue.rb +0 -157
- data/vendored/puppet/lib/puppet/property/list.rb +0 -69
- data/vendored/puppet/lib/puppet/property/ordered_list.rb +0 -29
- data/vendored/puppet/lib/puppet/provider.rb +0 -624
- data/vendored/puppet/lib/puppet/provider/aix_object.rb +0 -483
- data/vendored/puppet/lib/puppet/provider/command.rb +0 -25
- data/vendored/puppet/lib/puppet/provider/confine.rb +0 -6
- data/vendored/puppet/lib/puppet/provider/exec.rb +0 -96
- data/vendored/puppet/lib/puppet/provider/exec/posix.rb +0 -48
- data/vendored/puppet/lib/puppet/provider/exec/shell.rb +0 -25
- data/vendored/puppet/lib/puppet/provider/exec/windows.rb +0 -55
- data/vendored/puppet/lib/puppet/provider/file/posix.rb +0 -136
- data/vendored/puppet/lib/puppet/provider/file/windows.rb +0 -104
- data/vendored/puppet/lib/puppet/provider/group/aix.rb +0 -82
- data/vendored/puppet/lib/puppet/provider/group/directoryservice.rb +0 -22
- data/vendored/puppet/lib/puppet/provider/group/groupadd.rb +0 -111
- data/vendored/puppet/lib/puppet/provider/group/ldap.rb +0 -45
- data/vendored/puppet/lib/puppet/provider/group/pw.rb +0 -49
- data/vendored/puppet/lib/puppet/provider/group/windows_adsi.rb +0 -106
- data/vendored/puppet/lib/puppet/provider/ldap.rb +0 -137
- data/vendored/puppet/lib/puppet/provider/nameservice.rb +0 -325
- data/vendored/puppet/lib/puppet/provider/nameservice/directoryservice.rb +0 -508
- data/vendored/puppet/lib/puppet/provider/nameservice/objectadd.rb +0 -22
- data/vendored/puppet/lib/puppet/provider/nameservice/pw.rb +0 -21
- data/vendored/puppet/lib/puppet/provider/network_device.rb +0 -72
- data/vendored/puppet/lib/puppet/provider/package.rb +0 -56
- data/vendored/puppet/lib/puppet/provider/package/aix.rb +0 -152
- data/vendored/puppet/lib/puppet/provider/package/appdmg.rb +0 -109
- data/vendored/puppet/lib/puppet/provider/package/apple.rb +0 -46
- data/vendored/puppet/lib/puppet/provider/package/apt.rb +0 -116
- data/vendored/puppet/lib/puppet/provider/package/aptitude.rb +0 -29
- data/vendored/puppet/lib/puppet/provider/package/aptrpm.rb +0 -83
- data/vendored/puppet/lib/puppet/provider/package/blastwave.rb +0 -111
- data/vendored/puppet/lib/puppet/provider/package/dnf.rb +0 -47
- data/vendored/puppet/lib/puppet/provider/package/dpkg.rb +0 -165
- data/vendored/puppet/lib/puppet/provider/package/fink.rb +0 -79
- data/vendored/puppet/lib/puppet/provider/package/freebsd.rb +0 -47
- data/vendored/puppet/lib/puppet/provider/package/gem.rb +0 -175
- data/vendored/puppet/lib/puppet/provider/package/hpux.rb +0 -44
- data/vendored/puppet/lib/puppet/provider/package/macports.rb +0 -107
- data/vendored/puppet/lib/puppet/provider/package/nim.rb +0 -282
- data/vendored/puppet/lib/puppet/provider/package/openbsd.rb +0 -242
- data/vendored/puppet/lib/puppet/provider/package/opkg.rb +0 -81
- data/vendored/puppet/lib/puppet/provider/package/pacman.rb +0 -267
- data/vendored/puppet/lib/puppet/provider/package/pip.rb +0 -188
- data/vendored/puppet/lib/puppet/provider/package/pip3.rb +0 -20
- data/vendored/puppet/lib/puppet/provider/package/pkg.rb +0 -255
- data/vendored/puppet/lib/puppet/provider/package/pkgdmg.rb +0 -151
- data/vendored/puppet/lib/puppet/provider/package/pkgin.rb +0 -87
- data/vendored/puppet/lib/puppet/provider/package/pkgng.rb +0 -143
- data/vendored/puppet/lib/puppet/provider/package/pkgutil.rb +0 -186
- data/vendored/puppet/lib/puppet/provider/package/portage.rb +0 -300
- data/vendored/puppet/lib/puppet/provider/package/ports.rb +0 -91
- data/vendored/puppet/lib/puppet/provider/package/portupgrade.rb +0 -239
- data/vendored/puppet/lib/puppet/provider/package/puppet_gem.rb +0 -17
- data/vendored/puppet/lib/puppet/provider/package/rpm.rb +0 -405
- data/vendored/puppet/lib/puppet/provider/package/rug.rb +0 -51
- data/vendored/puppet/lib/puppet/provider/package/sun.rb +0 -133
- data/vendored/puppet/lib/puppet/provider/package/sunfreeware.rb +0 -9
- data/vendored/puppet/lib/puppet/provider/package/tdnf.rb +0 -28
- data/vendored/puppet/lib/puppet/provider/package/up2date.rb +0 -40
- data/vendored/puppet/lib/puppet/provider/package/urpmi.rb +0 -55
- data/vendored/puppet/lib/puppet/provider/package/windows.rb +0 -113
- data/vendored/puppet/lib/puppet/provider/package/windows/exe_package.rb +0 -71
- data/vendored/puppet/lib/puppet/provider/package/windows/msi_package.rb +0 -62
- data/vendored/puppet/lib/puppet/provider/package/windows/package.rb +0 -100
- data/vendored/puppet/lib/puppet/provider/package/yum.rb +0 -293
- data/vendored/puppet/lib/puppet/provider/package/zypper.rb +0 -145
- data/vendored/puppet/lib/puppet/provider/parsedfile.rb +0 -459
- data/vendored/puppet/lib/puppet/provider/service/base.rb +0 -134
- data/vendored/puppet/lib/puppet/provider/service/bsd.rb +0 -51
- data/vendored/puppet/lib/puppet/provider/service/daemontools.rb +0 -194
- data/vendored/puppet/lib/puppet/provider/service/debian.rb +0 -75
- data/vendored/puppet/lib/puppet/provider/service/freebsd.rb +0 -143
- data/vendored/puppet/lib/puppet/provider/service/gentoo.rb +0 -45
- data/vendored/puppet/lib/puppet/provider/service/init.rb +0 -194
- data/vendored/puppet/lib/puppet/provider/service/launchd.rb +0 -345
- data/vendored/puppet/lib/puppet/provider/service/openbsd.rb +0 -100
- data/vendored/puppet/lib/puppet/provider/service/openrc.rb +0 -71
- data/vendored/puppet/lib/puppet/provider/service/openwrt.rb +0 -36
- data/vendored/puppet/lib/puppet/provider/service/rcng.rb +0 -51
- data/vendored/puppet/lib/puppet/provider/service/redhat.rb +0 -72
- data/vendored/puppet/lib/puppet/provider/service/runit.rb +0 -112
- data/vendored/puppet/lib/puppet/provider/service/service.rb +0 -42
- data/vendored/puppet/lib/puppet/provider/service/smf.rb +0 -169
- data/vendored/puppet/lib/puppet/provider/service/src.rb +0 -147
- data/vendored/puppet/lib/puppet/provider/service/systemd.rb +0 -189
- data/vendored/puppet/lib/puppet/provider/service/upstart.rb +0 -369
- data/vendored/puppet/lib/puppet/provider/service/windows.rb +0 -103
- data/vendored/puppet/lib/puppet/provider/user/aix.rb +0 -271
- data/vendored/puppet/lib/puppet/provider/user/directoryservice.rb +0 -632
- data/vendored/puppet/lib/puppet/provider/user/hpux.rb +0 -95
- data/vendored/puppet/lib/puppet/provider/user/ldap.rb +0 -128
- data/vendored/puppet/lib/puppet/provider/user/openbsd.rb +0 -76
- data/vendored/puppet/lib/puppet/provider/user/pw.rb +0 -98
- data/vendored/puppet/lib/puppet/provider/user/user_role_add.rb +0 -233
- data/vendored/puppet/lib/puppet/provider/user/useradd.rb +0 -265
- data/vendored/puppet/lib/puppet/provider/user/windows_adsi.rb +0 -148
- data/vendored/puppet/lib/puppet/reference/configuration.rb +0 -92
- data/vendored/puppet/lib/puppet/reference/function.rb +0 -17
- data/vendored/puppet/lib/puppet/reference/indirection.rb +0 -71
- data/vendored/puppet/lib/puppet/reference/metaparameter.rb +0 -35
- data/vendored/puppet/lib/puppet/reference/providers.rb +0 -118
- data/vendored/puppet/lib/puppet/reference/report.rb +0 -20
- data/vendored/puppet/lib/puppet/reference/type.rb +0 -113
- data/vendored/puppet/lib/puppet/relationship.rb +0 -89
- data/vendored/puppet/lib/puppet/reports.rb +0 -93
- data/vendored/puppet/lib/puppet/reports/http.rb +0 -37
- data/vendored/puppet/lib/puppet/reports/log.rb +0 -14
- data/vendored/puppet/lib/puppet/reports/store.rb +0 -68
- data/vendored/puppet/lib/puppet/resource.rb +0 -687
- data/vendored/puppet/lib/puppet/resource/capability_finder.rb +0 -150
- data/vendored/puppet/lib/puppet/resource/catalog.rb +0 -675
- data/vendored/puppet/lib/puppet/resource/status.rb +0 -229
- data/vendored/puppet/lib/puppet/resource/type.rb +0 -528
- data/vendored/puppet/lib/puppet/resource/type_collection.rb +0 -263
- data/vendored/puppet/lib/puppet/rest/client.rb +0 -83
- data/vendored/puppet/lib/puppet/rest/errors.rb +0 -14
- data/vendored/puppet/lib/puppet/rest/response.rb +0 -34
- data/vendored/puppet/lib/puppet/rest/route.rb +0 -84
- data/vendored/puppet/lib/puppet/rest/routes.rb +0 -154
- data/vendored/puppet/lib/puppet/rest/ssl_context.rb +0 -13
- data/vendored/puppet/lib/puppet/scheduler.rb +0 -16
- data/vendored/puppet/lib/puppet/scheduler/job.rb +0 -53
- data/vendored/puppet/lib/puppet/scheduler/scheduler.rb +0 -44
- data/vendored/puppet/lib/puppet/scheduler/splay_job.rb +0 -32
- data/vendored/puppet/lib/puppet/scheduler/timer.rb +0 -13
- data/vendored/puppet/lib/puppet/settings.rb +0 -1485
- data/vendored/puppet/lib/puppet/settings/array_setting.rb +0 -17
- data/vendored/puppet/lib/puppet/settings/autosign_setting.rb +0 -22
- data/vendored/puppet/lib/puppet/settings/base_setting.rb +0 -197
- data/vendored/puppet/lib/puppet/settings/boolean_setting.rb +0 -32
- data/vendored/puppet/lib/puppet/settings/certificate_revocation_setting.rb +0 -21
- data/vendored/puppet/lib/puppet/settings/config_file.rb +0 -152
- data/vendored/puppet/lib/puppet/settings/directory_setting.rb +0 -18
- data/vendored/puppet/lib/puppet/settings/duration_setting.rb +0 -32
- data/vendored/puppet/lib/puppet/settings/enum_setting.rb +0 -16
- data/vendored/puppet/lib/puppet/settings/environment_conf.rb +0 -222
- data/vendored/puppet/lib/puppet/settings/errors.rb +0 -11
- data/vendored/puppet/lib/puppet/settings/file_or_directory_setting.rb +0 -40
- data/vendored/puppet/lib/puppet/settings/file_setting.rb +0 -245
- data/vendored/puppet/lib/puppet/settings/ini_file.rb +0 -225
- data/vendored/puppet/lib/puppet/settings/path_setting.rb +0 -8
- data/vendored/puppet/lib/puppet/settings/priority_setting.rb +0 -42
- data/vendored/puppet/lib/puppet/settings/server_list_setting.rb +0 -20
- data/vendored/puppet/lib/puppet/settings/string_setting.rb +0 -9
- data/vendored/puppet/lib/puppet/settings/symbolic_enum_setting.rb +0 -17
- data/vendored/puppet/lib/puppet/settings/terminus_setting.rb +0 -14
- data/vendored/puppet/lib/puppet/settings/ttl_setting.rb +0 -51
- data/vendored/puppet/lib/puppet/settings/value_translator.rb +0 -15
- data/vendored/puppet/lib/puppet/ssl.rb +0 -12
- data/vendored/puppet/lib/puppet/ssl/base.rb +0 -150
- data/vendored/puppet/lib/puppet/ssl/certificate.rb +0 -99
- data/vendored/puppet/lib/puppet/ssl/certificate_request.rb +0 -325
- data/vendored/puppet/lib/puppet/ssl/certificate_request_attributes.rb +0 -37
- data/vendored/puppet/lib/puppet/ssl/certificate_signer.rb +0 -33
- data/vendored/puppet/lib/puppet/ssl/digest.rb +0 -20
- data/vendored/puppet/lib/puppet/ssl/host.rb +0 -626
- data/vendored/puppet/lib/puppet/ssl/key.rb +0 -59
- data/vendored/puppet/lib/puppet/ssl/oids.rb +0 -193
- data/vendored/puppet/lib/puppet/ssl/validator.rb +0 -60
- data/vendored/puppet/lib/puppet/ssl/validator/default_validator.rb +0 -187
- data/vendored/puppet/lib/puppet/ssl/validator/no_validator.rb +0 -20
- data/vendored/puppet/lib/puppet/status.rb +0 -40
- data/vendored/puppet/lib/puppet/syntax_checkers.rb +0 -3
- data/vendored/puppet/lib/puppet/syntax_checkers/base64.rb +0 -40
- data/vendored/puppet/lib/puppet/syntax_checkers/json.rb +0 -35
- data/vendored/puppet/lib/puppet/test/test_helper.rb +0 -251
- data/vendored/puppet/lib/puppet/transaction.rb +0 -444
- data/vendored/puppet/lib/puppet/transaction/additional_resource_generator.rb +0 -220
- data/vendored/puppet/lib/puppet/transaction/event.rb +0 -167
- data/vendored/puppet/lib/puppet/transaction/event_manager.rb +0 -169
- data/vendored/puppet/lib/puppet/transaction/persistence.rb +0 -99
- data/vendored/puppet/lib/puppet/transaction/report.rb +0 -471
- data/vendored/puppet/lib/puppet/transaction/resource_harness.rb +0 -318
- data/vendored/puppet/lib/puppet/type.rb +0 -2673
- data/vendored/puppet/lib/puppet/type/component.rb +0 -88
- data/vendored/puppet/lib/puppet/type/exec.rb +0 -625
- data/vendored/puppet/lib/puppet/type/file.rb +0 -1042
- data/vendored/puppet/lib/puppet/type/file/checksum.rb +0 -50
- data/vendored/puppet/lib/puppet/type/file/checksum_value.rb +0 -54
- data/vendored/puppet/lib/puppet/type/file/content.rb +0 -172
- data/vendored/puppet/lib/puppet/type/file/ctime.rb +0 -20
- data/vendored/puppet/lib/puppet/type/file/data_sync.rb +0 -93
- data/vendored/puppet/lib/puppet/type/file/ensure.rb +0 -192
- data/vendored/puppet/lib/puppet/type/file/group.rb +0 -41
- data/vendored/puppet/lib/puppet/type/file/mode.rb +0 -177
- data/vendored/puppet/lib/puppet/type/file/mtime.rb +0 -18
- data/vendored/puppet/lib/puppet/type/file/owner.rb +0 -44
- data/vendored/puppet/lib/puppet/type/file/selcontext.rb +0 -141
- data/vendored/puppet/lib/puppet/type/file/source.rb +0 -369
- data/vendored/puppet/lib/puppet/type/file/target.rb +0 -87
- data/vendored/puppet/lib/puppet/type/file/type.rb +0 -19
- data/vendored/puppet/lib/puppet/type/filebucket.rb +0 -117
- data/vendored/puppet/lib/puppet/type/group.rb +0 -207
- data/vendored/puppet/lib/puppet/type/notify.rb +0 -46
- data/vendored/puppet/lib/puppet/type/package.rb +0 -568
- data/vendored/puppet/lib/puppet/type/resources.rb +0 -180
- data/vendored/puppet/lib/puppet/type/schedule.rb +0 -430
- data/vendored/puppet/lib/puppet/type/service.rb +0 -255
- data/vendored/puppet/lib/puppet/type/stage.rb +0 -27
- data/vendored/puppet/lib/puppet/type/tidy.rb +0 -349
- data/vendored/puppet/lib/puppet/type/user.rb +0 -818
- data/vendored/puppet/lib/puppet/type/whit.rb +0 -34
- data/vendored/puppet/lib/puppet/util.rb +0 -705
- data/vendored/puppet/lib/puppet/util/at_fork.rb +0 -35
- data/vendored/puppet/lib/puppet/util/at_fork/noop.rb +0 -18
- data/vendored/puppet/lib/puppet/util/at_fork/solaris.rb +0 -160
- data/vendored/puppet/lib/puppet/util/autoload.rb +0 -234
- data/vendored/puppet/lib/puppet/util/backups.rb +0 -86
- data/vendored/puppet/lib/puppet/util/character_encoding.rb +0 -76
- data/vendored/puppet/lib/puppet/util/checksums.rb +0 -361
- data/vendored/puppet/lib/puppet/util/classgen.rb +0 -222
- data/vendored/puppet/lib/puppet/util/colors.rb +0 -100
- data/vendored/puppet/lib/puppet/util/command_line.rb +0 -189
- data/vendored/puppet/lib/puppet/util/command_line/puppet_option_parser.rb +0 -87
- data/vendored/puppet/lib/puppet/util/command_line/trollop.rb +0 -825
- data/vendored/puppet/lib/puppet/util/connection.rb +0 -74
- data/vendored/puppet/lib/puppet/util/constant_inflector.rb +0 -24
- data/vendored/puppet/lib/puppet/util/diff.rb +0 -79
- data/vendored/puppet/lib/puppet/util/docs.rb +0 -128
- data/vendored/puppet/lib/puppet/util/errors.rb +0 -159
- data/vendored/puppet/lib/puppet/util/execution.rb +0 -412
- data/vendored/puppet/lib/puppet/util/execution_stub.rb +0 -26
- data/vendored/puppet/lib/puppet/util/feature.rb +0 -117
- data/vendored/puppet/lib/puppet/util/file_watcher.rb +0 -28
- data/vendored/puppet/lib/puppet/util/fileparsing.rb +0 -397
- data/vendored/puppet/lib/puppet/util/filetype.rb +0 -309
- data/vendored/puppet/lib/puppet/util/http_proxy.rb +0 -207
- data/vendored/puppet/lib/puppet/util/inifile.rb +0 -340
- data/vendored/puppet/lib/puppet/util/instance_loader.rb +0 -61
- data/vendored/puppet/lib/puppet/util/json.rb +0 -69
- data/vendored/puppet/lib/puppet/util/json_lockfile.rb +0 -44
- data/vendored/puppet/lib/puppet/util/ldap.rb +0 -2
- data/vendored/puppet/lib/puppet/util/ldap/connection.rb +0 -71
- data/vendored/puppet/lib/puppet/util/ldap/generator.rb +0 -42
- data/vendored/puppet/lib/puppet/util/ldap/manager.rb +0 -281
- data/vendored/puppet/lib/puppet/util/libuser.rb +0 -12
- data/vendored/puppet/lib/puppet/util/limits.rb +0 -12
- data/vendored/puppet/lib/puppet/util/lockfile.rb +0 -66
- data/vendored/puppet/lib/puppet/util/log.rb +0 -415
- data/vendored/puppet/lib/puppet/util/log/destination.rb +0 -49
- data/vendored/puppet/lib/puppet/util/log/destinations.rb +0 -258
- data/vendored/puppet/lib/puppet/util/logging.rb +0 -311
- data/vendored/puppet/lib/puppet/util/metaid.rb +0 -21
- data/vendored/puppet/lib/puppet/util/metric.rb +0 -64
- data/vendored/puppet/lib/puppet/util/monkey_patches.rb +0 -108
- data/vendored/puppet/lib/puppet/util/multi_match.rb +0 -51
- data/vendored/puppet/lib/puppet/util/network_device.rb +0 -17
- data/vendored/puppet/lib/puppet/util/network_device/base.rb +0 -23
- data/vendored/puppet/lib/puppet/util/network_device/config.rb +0 -105
- data/vendored/puppet/lib/puppet/util/network_device/transport.rb +0 -5
- data/vendored/puppet/lib/puppet/util/network_device/transport/base.rb +0 -26
- data/vendored/puppet/lib/puppet/util/package.rb +0 -31
- data/vendored/puppet/lib/puppet/util/pidlock.rb +0 -62
- data/vendored/puppet/lib/puppet/util/platform.rb +0 -38
- data/vendored/puppet/lib/puppet/util/plist.rb +0 -155
- data/vendored/puppet/lib/puppet/util/posix.rb +0 -137
- data/vendored/puppet/lib/puppet/util/profiler.rb +0 -53
- data/vendored/puppet/lib/puppet/util/profiler/aggregate.rb +0 -85
- data/vendored/puppet/lib/puppet/util/profiler/around_profiler.rb +0 -67
- data/vendored/puppet/lib/puppet/util/profiler/logging.rb +0 -48
- data/vendored/puppet/lib/puppet/util/profiler/object_counts.rb +0 -17
- data/vendored/puppet/lib/puppet/util/profiler/wall_clock.rb +0 -35
- data/vendored/puppet/lib/puppet/util/provider_features.rb +0 -181
- data/vendored/puppet/lib/puppet/util/psych_support.rb +0 -30
- data/vendored/puppet/lib/puppet/util/rdoc.rb +0 -60
- data/vendored/puppet/lib/puppet/util/rdoc/code_objects.rb +0 -294
- data/vendored/puppet/lib/puppet/util/rdoc/generators/puppet_generator.rb +0 -910
- data/vendored/puppet/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +0 -1085
- data/vendored/puppet/lib/puppet/util/rdoc/parser.rb +0 -12
- data/vendored/puppet/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +0 -259
- data/vendored/puppet/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +0 -14
- data/vendored/puppet/lib/puppet/util/reference.rb +0 -119
- data/vendored/puppet/lib/puppet/util/resource_template.rb +0 -61
- data/vendored/puppet/lib/puppet/util/retry_action.rb +0 -46
- data/vendored/puppet/lib/puppet/util/rubygems.rb +0 -63
- data/vendored/puppet/lib/puppet/util/run_mode.rb +0 -110
- data/vendored/puppet/lib/puppet/util/selinux.rb +0 -264
- data/vendored/puppet/lib/puppet/util/skip_tags.rb +0 -9
- data/vendored/puppet/lib/puppet/util/splayer.rb +0 -18
- data/vendored/puppet/lib/puppet/util/ssl.rb +0 -92
- data/vendored/puppet/lib/puppet/util/storage.rb +0 -89
- data/vendored/puppet/lib/puppet/util/suidmanager.rb +0 -167
- data/vendored/puppet/lib/puppet/util/symbolic_file_mode.rb +0 -144
- data/vendored/puppet/lib/puppet/util/tag_set.rb +0 -27
- data/vendored/puppet/lib/puppet/util/tagging.rb +0 -131
- data/vendored/puppet/lib/puppet/util/terminal.rb +0 -16
- data/vendored/puppet/lib/puppet/util/user_attr.rb +0 -21
- data/vendored/puppet/lib/puppet/util/warnings.rb +0 -31
- data/vendored/puppet/lib/puppet/util/watched_file.rb +0 -37
- data/vendored/puppet/lib/puppet/util/watcher.rb +0 -17
- data/vendored/puppet/lib/puppet/util/watcher/change_watcher.rb +0 -33
- data/vendored/puppet/lib/puppet/util/watcher/periodic_watcher.rb +0 -37
- data/vendored/puppet/lib/puppet/util/watcher/timer.rb +0 -19
- data/vendored/puppet/lib/puppet/util/windows.rb +0 -52
- data/vendored/puppet/lib/puppet/util/windows/access_control_entry.rb +0 -84
- data/vendored/puppet/lib/puppet/util/windows/access_control_list.rb +0 -113
- data/vendored/puppet/lib/puppet/util/windows/adsi.rb +0 -494
- data/vendored/puppet/lib/puppet/util/windows/api_types.rb +0 -282
- data/vendored/puppet/lib/puppet/util/windows/com.rb +0 -225
- data/vendored/puppet/lib/puppet/util/windows/error.rb +0 -83
- data/vendored/puppet/lib/puppet/util/windows/eventlog.rb +0 -197
- data/vendored/puppet/lib/puppet/util/windows/file.rb +0 -589
- data/vendored/puppet/lib/puppet/util/windows/principal.rb +0 -192
- data/vendored/puppet/lib/puppet/util/windows/process.rb +0 -497
- data/vendored/puppet/lib/puppet/util/windows/registry.rb +0 -374
- data/vendored/puppet/lib/puppet/util/windows/root_certs.rb +0 -108
- data/vendored/puppet/lib/puppet/util/windows/security.rb +0 -869
- data/vendored/puppet/lib/puppet/util/windows/security_descriptor.rb +0 -62
- data/vendored/puppet/lib/puppet/util/windows/service.rb +0 -770
- data/vendored/puppet/lib/puppet/util/windows/sid.rb +0 -282
- data/vendored/puppet/lib/puppet/util/windows/string.rb +0 -16
- data/vendored/puppet/lib/puppet/util/windows/user.rb +0 -309
- data/vendored/puppet/lib/puppet/util/yaml.rb +0 -72
- data/vendored/puppet/lib/puppet/vendor.rb +0 -57
- data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge.rb +0 -2
- data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge/core.rb +0 -210
- data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge/deep_merge_hash.rb +0 -28
- data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge/rails_compat.rb +0 -27
- data/vendored/puppet/lib/puppet/vendor/deep_merge/test/test_deep_merge.rb +0 -608
- data/vendored/puppet/lib/puppet/vendor/load_deep_merge.rb +0 -1
- data/vendored/puppet/lib/puppet/vendor/load_pathspec.rb +0 -1
- data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
- data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
- data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
- data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
- data/vendored/puppet/lib/puppet/vendor/require_vendored.rb +0 -6
- data/vendored/puppet/lib/puppet/version.rb +0 -93
- data/vendored/puppet/lib/puppet_pal.rb +0 -1135
- data/vendored/puppet/lib/puppet_x.rb +0 -14
- data/vendored/require_vendored.rb +0 -3
@@ -1,1127 +0,0 @@
|
|
1
|
-
module Puppet::Pops
|
2
|
-
module Validation
|
3
|
-
# A Validator validates a model.
|
4
|
-
#
|
5
|
-
# Validation is performed on each model element in isolation. Each method should validate the model element's state
|
6
|
-
# but not validate its referenced/contained elements except to check their validity in their respective role.
|
7
|
-
# The intent is to drive the validation with a tree iterator that visits all elements in a model.
|
8
|
-
#
|
9
|
-
#
|
10
|
-
# TODO: Add validation of multiplicities - this is a general validation that can be checked for all
|
11
|
-
# Model objects via their metamodel. (I.e an extra call to multiplicity check in polymorph check).
|
12
|
-
# This is however mostly valuable when validating model to model transformations, and is therefore T.B.D
|
13
|
-
#
|
14
|
-
class Checker4_0 < Evaluator::LiteralEvaluator
|
15
|
-
attr_reader :acceptor
|
16
|
-
attr_reader :migration_checker
|
17
|
-
|
18
|
-
def self.check_visitor
|
19
|
-
# Class instance variable rather than Class variable because methods visited
|
20
|
-
# may be overridden in subclass
|
21
|
-
@check_visitor ||= Visitor.new(nil, 'check', 0, 0)
|
22
|
-
end
|
23
|
-
|
24
|
-
# Initializes the validator with a diagnostics producer. This object must respond to
|
25
|
-
# `:will_accept?` and `:accept`.
|
26
|
-
#
|
27
|
-
def initialize(diagnostics_producer)
|
28
|
-
super()
|
29
|
-
@@rvalue_visitor ||= Visitor.new(nil, "rvalue", 0, 0)
|
30
|
-
@@hostname_visitor ||= Visitor.new(nil, "hostname", 1, 2)
|
31
|
-
@@assignment_visitor ||= Visitor.new(nil, "assign", 0, 1)
|
32
|
-
@@query_visitor ||= Visitor.new(nil, "query", 0, 0)
|
33
|
-
@@relation_visitor ||= Visitor.new(nil, "relation", 0, 0)
|
34
|
-
@@idem_visitor ||= Visitor.new(nil, "idem", 0, 0)
|
35
|
-
|
36
|
-
@check_visitor = self.class.check_visitor
|
37
|
-
@acceptor = diagnostics_producer
|
38
|
-
|
39
|
-
# Use null migration checker unless given in context
|
40
|
-
@migration_checker = (Puppet.lookup(:migration_checker) { Migration::MigrationChecker.new() })
|
41
|
-
end
|
42
|
-
|
43
|
-
# Validates the entire model by visiting each model element and calling `check`.
|
44
|
-
# The result is collected (or acted on immediately) by the configured diagnostic provider/acceptor
|
45
|
-
# given when creating this Checker.
|
46
|
-
#
|
47
|
-
def validate(model)
|
48
|
-
# tree iterate the model, and call check for each element
|
49
|
-
@path = []
|
50
|
-
check(model)
|
51
|
-
internal_check_top_construct_in_module(model)
|
52
|
-
model._pcore_all_contents(@path) { |element| check(element) }
|
53
|
-
end
|
54
|
-
|
55
|
-
def container(index = -1)
|
56
|
-
@path[index]
|
57
|
-
end
|
58
|
-
|
59
|
-
# Performs regular validity check
|
60
|
-
def check(o)
|
61
|
-
@check_visitor.visit_this_0(self, o)
|
62
|
-
end
|
63
|
-
|
64
|
-
# Performs check if this is a vaid hostname expression
|
65
|
-
# @param single_feature_name [String, nil] the name of a single valued hostname feature of the value's container. e.g. 'parent'
|
66
|
-
def hostname(o, semantic)
|
67
|
-
@@hostname_visitor.visit_this_1(self, o, semantic)
|
68
|
-
end
|
69
|
-
|
70
|
-
# Performs check if this is valid as a query
|
71
|
-
def query(o)
|
72
|
-
@@query_visitor.visit_this_0(self, o)
|
73
|
-
end
|
74
|
-
|
75
|
-
# Performs check if this is valid as a relationship side
|
76
|
-
def relation(o)
|
77
|
-
@@relation_visitor.visit_this_0(self, o)
|
78
|
-
end
|
79
|
-
|
80
|
-
# Performs check if this is valid as a rvalue
|
81
|
-
def rvalue(o)
|
82
|
-
@@rvalue_visitor.visit_this_0(self, o)
|
83
|
-
end
|
84
|
-
|
85
|
-
#---TOP CHECK
|
86
|
-
# Performs check if this is valid as a container of a definition (class, define, node)
|
87
|
-
def top(definition, idx = -1)
|
88
|
-
o = container(idx)
|
89
|
-
idx -= 1
|
90
|
-
case o
|
91
|
-
when NilClass, Model::HostClassDefinition, Model::Program
|
92
|
-
# ok, stop scanning parents
|
93
|
-
when Model::BlockExpression
|
94
|
-
c = container(idx)
|
95
|
-
if !c.is_a?(Model::Program) &&
|
96
|
-
(definition.is_a?(Model::FunctionDefinition) || definition.is_a?(Model::TypeAlias) || definition.is_a?(Model::TypeDefinition))
|
97
|
-
|
98
|
-
# not ok. These can never be nested in a block
|
99
|
-
acceptor.accept(Issues::NOT_ABSOLUTE_TOP_LEVEL, definition)
|
100
|
-
else
|
101
|
-
# ok, if this is a block representing the body of a class, or is top level
|
102
|
-
top(definition, idx)
|
103
|
-
end
|
104
|
-
when Model::LambdaExpression
|
105
|
-
# A LambdaExpression is a BlockExpression, and this check is needed to prevent the polymorph method for BlockExpression
|
106
|
-
# to accept a lambda.
|
107
|
-
# A lambda can not iteratively create classes, nodes or defines as the lambda does not have a closure.
|
108
|
-
acceptor.accept(Issues::NOT_TOP_LEVEL, definition)
|
109
|
-
else
|
110
|
-
# fail, reached a container that is not top level
|
111
|
-
acceptor.accept(Issues::NOT_TOP_LEVEL, definition)
|
112
|
-
end
|
113
|
-
end
|
114
|
-
|
115
|
-
# Checks the LHS of an assignment (is it assignable?).
|
116
|
-
# If args[0] is true, assignment via index is checked.
|
117
|
-
#
|
118
|
-
def assign(o, via_index = false)
|
119
|
-
@@assignment_visitor.visit_this_1(self, o, via_index)
|
120
|
-
end
|
121
|
-
|
122
|
-
# Checks if the expression has side effect ('idem' is latin for 'the same', here meaning that the evaluation state
|
123
|
-
# is known to be unchanged after the expression has been evaluated). The result is not 100% authoritative for
|
124
|
-
# negative answers since analysis of function behavior is not possible.
|
125
|
-
# @return [Boolean] true if expression is known to have no effect on evaluation state
|
126
|
-
#
|
127
|
-
def idem(o)
|
128
|
-
@@idem_visitor.visit_this_0(self, o)
|
129
|
-
end
|
130
|
-
|
131
|
-
# Returns the last expression in a block, or the expression, if that expression is idem
|
132
|
-
def ends_with_idem(o)
|
133
|
-
if o.is_a?(Model::BlockExpression)
|
134
|
-
last = o.statements[-1]
|
135
|
-
idem(last) ? last : nil
|
136
|
-
else
|
137
|
-
idem(o) ? o : nil
|
138
|
-
end
|
139
|
-
end
|
140
|
-
|
141
|
-
#---ASSIGNMENT CHECKS
|
142
|
-
|
143
|
-
def assign_VariableExpression(o, via_index)
|
144
|
-
varname_string = varname_to_s(o.expr)
|
145
|
-
if varname_string =~ Patterns::NUMERIC_VAR_NAME
|
146
|
-
acceptor.accept(Issues::ILLEGAL_NUMERIC_ASSIGNMENT, o, :varname => varname_string)
|
147
|
-
end
|
148
|
-
# Can not assign to something in another namespace (i.e. a '::' in the name is not legal)
|
149
|
-
if acceptor.will_accept? Issues::CROSS_SCOPE_ASSIGNMENT
|
150
|
-
if varname_string =~ /::/
|
151
|
-
acceptor.accept(Issues::CROSS_SCOPE_ASSIGNMENT, o, :name => varname_string)
|
152
|
-
end
|
153
|
-
end
|
154
|
-
|
155
|
-
# TODO: Could scan for reassignment of the same variable if done earlier in the same container
|
156
|
-
# Or if assigning to a parameter (more work).
|
157
|
-
end
|
158
|
-
|
159
|
-
def assign_AccessExpression(o, via_index)
|
160
|
-
# Are indexed assignments allowed at all ? $x[x] = '...'
|
161
|
-
if acceptor.will_accept? Issues::ILLEGAL_INDEXED_ASSIGNMENT
|
162
|
-
acceptor.accept(Issues::ILLEGAL_INDEXED_ASSIGNMENT, o)
|
163
|
-
else
|
164
|
-
# Then the left expression must be assignable-via-index
|
165
|
-
assign(o.left_expr, true)
|
166
|
-
end
|
167
|
-
end
|
168
|
-
|
169
|
-
def assign_LiteralList(o, via_index)
|
170
|
-
o.values.each {|x| assign(x) }
|
171
|
-
end
|
172
|
-
|
173
|
-
def assign_Object(o, via_index)
|
174
|
-
# Can not assign to anything else (differentiate if this is via index or not)
|
175
|
-
# i.e. 10 = 'hello' vs. 10['x'] = 'hello' (the root is reported as being in error in both cases)
|
176
|
-
#
|
177
|
-
acceptor.accept(via_index ? Issues::ILLEGAL_ASSIGNMENT_VIA_INDEX : Issues::ILLEGAL_ASSIGNMENT, o)
|
178
|
-
end
|
179
|
-
|
180
|
-
#---CHECKS
|
181
|
-
|
182
|
-
def check_Object(o)
|
183
|
-
end
|
184
|
-
|
185
|
-
def check_Factory(o)
|
186
|
-
check(o.model)
|
187
|
-
end
|
188
|
-
|
189
|
-
def check_AccessExpression(o)
|
190
|
-
# Only min range is checked, all other checks are RT checks as they depend on the resulting type
|
191
|
-
# of the LHS.
|
192
|
-
if o.keys.size < 1
|
193
|
-
acceptor.accept(Issues::MISSING_INDEX, o)
|
194
|
-
end
|
195
|
-
end
|
196
|
-
|
197
|
-
def check_AssignmentExpression(o)
|
198
|
-
case o.operator
|
199
|
-
when '='
|
200
|
-
assign(o.left_expr)
|
201
|
-
rvalue(o.right_expr)
|
202
|
-
when '+=', '-='
|
203
|
-
acceptor.accept(Issues::APPENDS_DELETES_NO_LONGER_SUPPORTED, o, {:operator => o.operator})
|
204
|
-
else
|
205
|
-
acceptor.accept(Issues::UNSUPPORTED_OPERATOR, o, {:operator => o.operator})
|
206
|
-
end
|
207
|
-
end
|
208
|
-
|
209
|
-
# Checks that operation with :+> is contained in a ResourceOverride or Collector.
|
210
|
-
#
|
211
|
-
# Parent of an AttributeOperation can be one of:
|
212
|
-
# * CollectExpression
|
213
|
-
# * ResourceOverride
|
214
|
-
# * ResourceBody (ILLEGAL this is a regular resource expression)
|
215
|
-
# * ResourceDefaults (ILLEGAL)
|
216
|
-
#
|
217
|
-
def check_AttributeOperation(o)
|
218
|
-
if o.operator == '+>'
|
219
|
-
# Append operator use is constrained
|
220
|
-
p = container
|
221
|
-
unless p.is_a?(Model::CollectExpression) || p.is_a?(Model::ResourceOverrideExpression)
|
222
|
-
acceptor.accept(Issues::ILLEGAL_ATTRIBUTE_APPEND, o, {:name=>o.attribute_name, :parent=>p})
|
223
|
-
end
|
224
|
-
end
|
225
|
-
rvalue(o.value_expr)
|
226
|
-
end
|
227
|
-
|
228
|
-
def check_AttributesOperation(o)
|
229
|
-
# Append operator use is constrained
|
230
|
-
p = container
|
231
|
-
case p
|
232
|
-
when Model::AbstractResource
|
233
|
-
when Model::CollectExpression
|
234
|
-
when Model::CapabilityMapping
|
235
|
-
acceptor.accept(Issues::UNSUPPORTED_OPERATOR_IN_CONTEXT, p, :operator=>'* =>')
|
236
|
-
else
|
237
|
-
# protect against just testing a snippet that has no parent, error message will be a bit strange
|
238
|
-
# but it is not for a real program.
|
239
|
-
parent2 = p.nil? ? o : container(-2)
|
240
|
-
unless parent2.is_a?(Model::AbstractResource)
|
241
|
-
acceptor.accept(Issues::UNSUPPORTED_OPERATOR_IN_CONTEXT, parent2, :operator=>'* =>')
|
242
|
-
end
|
243
|
-
end
|
244
|
-
rvalue(o.expr)
|
245
|
-
end
|
246
|
-
|
247
|
-
def check_BinaryExpression(o)
|
248
|
-
rvalue(o.left_expr)
|
249
|
-
rvalue(o.right_expr)
|
250
|
-
end
|
251
|
-
|
252
|
-
def resource_without_title?(o)
|
253
|
-
if o.instance_of?(Model::BlockExpression)
|
254
|
-
statements = o.statements
|
255
|
-
statements.length == 2 && statements[0].instance_of?(Model::QualifiedName) && statements[1].instance_of?(Model::LiteralHash)
|
256
|
-
else
|
257
|
-
false
|
258
|
-
end
|
259
|
-
end
|
260
|
-
|
261
|
-
def check_BlockExpression(o)
|
262
|
-
if resource_without_title?(o)
|
263
|
-
acceptor.accept(Issues::RESOURCE_WITHOUT_TITLE, o, :name => o.statements[0].value)
|
264
|
-
else
|
265
|
-
o.statements[0..-2].each do |statement|
|
266
|
-
if idem(statement)
|
267
|
-
acceptor.accept(Issues::IDEM_EXPRESSION_NOT_LAST, statement)
|
268
|
-
break # only flag the first
|
269
|
-
end
|
270
|
-
end
|
271
|
-
end
|
272
|
-
end
|
273
|
-
|
274
|
-
def check_CallNamedFunctionExpression(o)
|
275
|
-
functor = o.functor_expr
|
276
|
-
if functor.is_a?(Model::QualifiedReference) ||
|
277
|
-
functor.is_a?(Model::AccessExpression) && functor.left_expr.is_a?(Model::QualifiedReference)
|
278
|
-
# ok (a call to a type)
|
279
|
-
return nil
|
280
|
-
end
|
281
|
-
case functor
|
282
|
-
when Model::QualifiedName
|
283
|
-
# ok
|
284
|
-
nil
|
285
|
-
when Model::RenderStringExpression
|
286
|
-
# helpful to point out this easy to make Epp error
|
287
|
-
acceptor.accept(Issues::ILLEGAL_EPP_PARAMETERS, o)
|
288
|
-
else
|
289
|
-
acceptor.accept(Issues::ILLEGAL_EXPRESSION, o.functor_expr, {:feature=>'function name', :container => o})
|
290
|
-
end
|
291
|
-
end
|
292
|
-
|
293
|
-
def check_CapabilityMapping(o)
|
294
|
-
ok =
|
295
|
-
case o.component
|
296
|
-
when Model::QualifiedReference
|
297
|
-
name = o.component.cased_value
|
298
|
-
acceptor.accept(Issues::ILLEGAL_CLASSREF, o.component, {:name=>name}) unless name =~ Patterns::CLASSREF_EXT
|
299
|
-
true
|
300
|
-
when Model::AccessExpression
|
301
|
-
keys = o.component.keys
|
302
|
-
expr = o.component.left_expr
|
303
|
-
if expr.is_a?(Model::QualifiedReference) && keys.size == 1
|
304
|
-
key = keys[0]
|
305
|
-
key.is_a?(Model::LiteralString) || key.is_a?(Model::QualifiedName) || key.is_a?(Model::QualifiedReference)
|
306
|
-
else
|
307
|
-
false
|
308
|
-
end
|
309
|
-
else
|
310
|
-
false
|
311
|
-
end
|
312
|
-
acceptor.accept(Issues::ILLEGAL_EXPRESSION, o.component, :feature=>'capability mapping', :container => o) unless ok
|
313
|
-
|
314
|
-
if o.capability !~ Patterns::CLASSREF_EXT
|
315
|
-
acceptor.accept(Issues::ILLEGAL_CLASSREF, o, {:name=>o.capability})
|
316
|
-
end
|
317
|
-
end
|
318
|
-
|
319
|
-
def check_EppExpression(o)
|
320
|
-
p = container
|
321
|
-
if p.is_a?(Model::LambdaExpression)
|
322
|
-
internal_check_no_capture(p, o)
|
323
|
-
internal_check_parameter_name_uniqueness(p)
|
324
|
-
end
|
325
|
-
end
|
326
|
-
|
327
|
-
def check_MethodCallExpression(o)
|
328
|
-
unless o.functor_expr.is_a? Model::QualifiedName
|
329
|
-
acceptor.accept(Issues::ILLEGAL_EXPRESSION, o.functor_expr, :feature => 'function name', :container => o)
|
330
|
-
end
|
331
|
-
end
|
332
|
-
|
333
|
-
def check_CaseExpression(o)
|
334
|
-
rvalue(o.test)
|
335
|
-
# There can only be one LiteralDefault case option value
|
336
|
-
found_default = false
|
337
|
-
o.options.each do |option|
|
338
|
-
option.values.each do |value|
|
339
|
-
if value.is_a?(Model::LiteralDefault)
|
340
|
-
# Flag the second default as 'unreachable'
|
341
|
-
acceptor.accept(Issues::DUPLICATE_DEFAULT, value, :container => o) if found_default
|
342
|
-
found_default = true
|
343
|
-
end
|
344
|
-
end
|
345
|
-
end
|
346
|
-
end
|
347
|
-
|
348
|
-
def check_CaseOption(o)
|
349
|
-
o.values.each { |v| rvalue(v) }
|
350
|
-
end
|
351
|
-
|
352
|
-
def check_CollectExpression(o)
|
353
|
-
unless o.type_expr.is_a? Model::QualifiedReference
|
354
|
-
acceptor.accept(Issues::ILLEGAL_EXPRESSION, o.type_expr, :feature=> 'type name', :container => o)
|
355
|
-
end
|
356
|
-
end
|
357
|
-
|
358
|
-
# Only used for function names, grammar should not be able to produce something faulty, but
|
359
|
-
# check anyway if model is created programmatically (it will fail in transformation to AST for sure).
|
360
|
-
def check_NamedAccessExpression(o)
|
361
|
-
name = o.right_expr
|
362
|
-
unless name.is_a? Model::QualifiedName
|
363
|
-
acceptor.accept(Issues::ILLEGAL_EXPRESSION, name, :feature=> 'function name', :container => container)
|
364
|
-
end
|
365
|
-
end
|
366
|
-
|
367
|
-
RESERVED_TYPE_NAMES = {
|
368
|
-
'type' => true,
|
369
|
-
'any' => true,
|
370
|
-
'unit' => true,
|
371
|
-
'scalar' => true,
|
372
|
-
'boolean' => true,
|
373
|
-
'numeric' => true,
|
374
|
-
'integer' => true,
|
375
|
-
'float' => true,
|
376
|
-
'collection' => true,
|
377
|
-
'array' => true,
|
378
|
-
'hash' => true,
|
379
|
-
'tuple' => true,
|
380
|
-
'struct' => true,
|
381
|
-
'variant' => true,
|
382
|
-
'optional' => true,
|
383
|
-
'enum' => true,
|
384
|
-
'regexp' => true,
|
385
|
-
'pattern' => true,
|
386
|
-
'runtime' => true,
|
387
|
-
}
|
388
|
-
|
389
|
-
FUTURE_RESERVED_WORDS = {
|
390
|
-
'plan' => true
|
391
|
-
}
|
392
|
-
|
393
|
-
# for 'class', 'define', and function
|
394
|
-
def check_NamedDefinition(o)
|
395
|
-
top(o)
|
396
|
-
if o.name !~ Patterns::CLASSREF_DECL
|
397
|
-
acceptor.accept(Issues::ILLEGAL_DEFINITION_NAME, o, {:name=>o.name})
|
398
|
-
end
|
399
|
-
|
400
|
-
internal_check_file_namespace(o)
|
401
|
-
internal_check_reserved_type_name(o, o.name)
|
402
|
-
internal_check_future_reserved_word(o, o.name)
|
403
|
-
end
|
404
|
-
|
405
|
-
def check_TypeAlias(o)
|
406
|
-
top(o)
|
407
|
-
if o.name !~ Patterns::CLASSREF_EXT_DECL
|
408
|
-
acceptor.accept(Issues::ILLEGAL_DEFINITION_NAME, o, {:name=>o.name})
|
409
|
-
end
|
410
|
-
internal_check_reserved_type_name(o, o.name)
|
411
|
-
internal_check_type_ref(o, o.type_expr)
|
412
|
-
end
|
413
|
-
|
414
|
-
def check_TypeMapping(o)
|
415
|
-
top(o)
|
416
|
-
lhs = o.type_expr
|
417
|
-
lhs_type = 0 # Not Runtime
|
418
|
-
if lhs.is_a?(Model::AccessExpression)
|
419
|
-
left = lhs.left_expr
|
420
|
-
if left.is_a?(Model::QualifiedReference) && left.cased_value == 'Runtime'
|
421
|
-
lhs_type = 1 # Runtime
|
422
|
-
keys = lhs.keys
|
423
|
-
|
424
|
-
# Must be a literal string or pattern replacement
|
425
|
-
lhs_type = 2 if keys.size == 2 && pattern_with_replacement?(keys[1])
|
426
|
-
end
|
427
|
-
end
|
428
|
-
|
429
|
-
if lhs_type == 0
|
430
|
-
# This is not a TypeMapping. Something other than Runtime[] on LHS
|
431
|
-
acceptor.accept(Issues::UNSUPPORTED_EXPRESSION, o)
|
432
|
-
else
|
433
|
-
rhs = o.mapping_expr
|
434
|
-
if pattern_with_replacement?(rhs)
|
435
|
-
acceptor.accept(Issues::ILLEGAL_SINGLE_TYPE_MAPPING, o) if lhs_type == 1
|
436
|
-
elsif type_ref?(rhs)
|
437
|
-
acceptor.accept(Issues::ILLEGAL_REGEXP_TYPE_MAPPING, o) if lhs_type == 2
|
438
|
-
else
|
439
|
-
acceptor.accept(lhs_type == 1 ? Issues::ILLEGAL_SINGLE_TYPE_MAPPING : Issues::ILLEGAL_REGEXP_TYPE_MAPPING, o)
|
440
|
-
end
|
441
|
-
end
|
442
|
-
end
|
443
|
-
|
444
|
-
def pattern_with_replacement?(o)
|
445
|
-
if o.is_a?(Model::LiteralList)
|
446
|
-
v = o.values
|
447
|
-
v.size == 2 && v[0].is_a?(Model::LiteralRegularExpression) && v[1].is_a?(Model::LiteralString)
|
448
|
-
else
|
449
|
-
false
|
450
|
-
end
|
451
|
-
end
|
452
|
-
|
453
|
-
def type_ref?(o)
|
454
|
-
o = o.left_expr if o.is_a?(Model::AccessExpression)
|
455
|
-
o.is_a?(Model::QualifiedReference)
|
456
|
-
end
|
457
|
-
|
458
|
-
def check_TypeDefinition(o)
|
459
|
-
top(o)
|
460
|
-
internal_check_reserved_type_name(o, o.name)
|
461
|
-
# TODO: Check TypeDefinition body. For now, just error out
|
462
|
-
acceptor.accept(Issues::UNSUPPORTED_EXPRESSION, o)
|
463
|
-
end
|
464
|
-
|
465
|
-
def check_FunctionDefinition(o)
|
466
|
-
check_NamedDefinition(o)
|
467
|
-
internal_check_return_type(o)
|
468
|
-
internal_check_parameter_name_uniqueness(o)
|
469
|
-
end
|
470
|
-
|
471
|
-
def check_HostClassDefinition(o)
|
472
|
-
check_NamedDefinition(o)
|
473
|
-
internal_check_no_capture(o)
|
474
|
-
internal_check_parameter_name_uniqueness(o)
|
475
|
-
internal_check_reserved_params(o)
|
476
|
-
internal_check_no_idem_last(o)
|
477
|
-
end
|
478
|
-
|
479
|
-
def check_ResourceTypeDefinition(o)
|
480
|
-
check_NamedDefinition(o)
|
481
|
-
internal_check_no_capture(o)
|
482
|
-
internal_check_parameter_name_uniqueness(o)
|
483
|
-
internal_check_reserved_params(o)
|
484
|
-
internal_check_no_idem_last(o)
|
485
|
-
end
|
486
|
-
|
487
|
-
def internal_check_return_type(o)
|
488
|
-
r = o.return_type
|
489
|
-
internal_check_type_ref(o, r) unless r.nil?
|
490
|
-
end
|
491
|
-
|
492
|
-
def internal_check_type_ref(o, r)
|
493
|
-
n = r.is_a?(Model::AccessExpression) ? r.left_expr : r
|
494
|
-
if n.is_a? Model::QualifiedReference
|
495
|
-
internal_check_future_reserved_word(r, n.value)
|
496
|
-
else
|
497
|
-
acceptor.accept(Issues::ILLEGAL_EXPRESSION, r, :feature => 'a type reference', :container => o)
|
498
|
-
end
|
499
|
-
end
|
500
|
-
|
501
|
-
def internal_check_no_idem_last(o)
|
502
|
-
if violator = ends_with_idem(o.body)
|
503
|
-
acceptor.accept(Issues::IDEM_NOT_ALLOWED_LAST, violator, {:container => o}) unless resource_without_title?(violator)
|
504
|
-
end
|
505
|
-
end
|
506
|
-
|
507
|
-
def internal_check_capture_last(o)
|
508
|
-
accepted_index = o.parameters.size() -1
|
509
|
-
o.parameters.each_with_index do |p, index|
|
510
|
-
if p.captures_rest && index != accepted_index
|
511
|
-
acceptor.accept(Issues::CAPTURES_REST_NOT_LAST, p, {:param_name => p.name})
|
512
|
-
end
|
513
|
-
end
|
514
|
-
end
|
515
|
-
|
516
|
-
def internal_check_no_capture(o, container = o)
|
517
|
-
o.parameters.each do |p|
|
518
|
-
if p.captures_rest
|
519
|
-
acceptor.accept(Issues::CAPTURES_REST_NOT_SUPPORTED, p, {:container => container, :param_name => p.name})
|
520
|
-
end
|
521
|
-
end
|
522
|
-
end
|
523
|
-
|
524
|
-
def internal_check_reserved_type_name(o, name)
|
525
|
-
if RESERVED_TYPE_NAMES[name]
|
526
|
-
acceptor.accept(Issues::RESERVED_TYPE_NAME, o, {:name => name})
|
527
|
-
end
|
528
|
-
end
|
529
|
-
|
530
|
-
def internal_check_future_reserved_word(o, name)
|
531
|
-
if FUTURE_RESERVED_WORDS[name]
|
532
|
-
acceptor.accept(Issues::FUTURE_RESERVED_WORD, o, {:word => name})
|
533
|
-
end
|
534
|
-
end
|
535
|
-
|
536
|
-
NO_NAMESPACE = :no_namespace
|
537
|
-
NO_PATH = :no_path
|
538
|
-
BAD_MODULE_FILE = :bad_module_file
|
539
|
-
|
540
|
-
def internal_check_file_namespace(o)
|
541
|
-
file = o.locator.file
|
542
|
-
return if file.nil? || file == '' #e.g. puppet apply -e '...'
|
543
|
-
|
544
|
-
file_namespace = namespace_for_file(file)
|
545
|
-
return if file_namespace == NO_NAMESPACE
|
546
|
-
|
547
|
-
# Downcasing here because check is case-insensitive
|
548
|
-
if file_namespace == BAD_MODULE_FILE || !o.name.downcase.start_with?(file_namespace)
|
549
|
-
acceptor.accept(Issues::ILLEGAL_DEFINITION_LOCATION, o, {:name => o.name, :file => file})
|
550
|
-
end
|
551
|
-
end
|
552
|
-
|
553
|
-
def internal_check_top_construct_in_module(prog)
|
554
|
-
return unless prog.is_a?(Model::Program) && !prog.body.nil?
|
555
|
-
|
556
|
-
#Check that this is a module autoloaded file
|
557
|
-
file = prog.locator.file
|
558
|
-
return if file.nil?
|
559
|
-
return if namespace_for_file(file) == NO_NAMESPACE
|
560
|
-
|
561
|
-
body = prog.body
|
562
|
-
if(body.is_a?(Model::BlockExpression))
|
563
|
-
body.statements.each { |s| acceptor.accept(Issues::ILLEGAL_TOP_CONSTRUCT_LOCATION, s) unless valid_top_construct?(s) }
|
564
|
-
else
|
565
|
-
acceptor.accept(Issues::ILLEGAL_TOP_CONSTRUCT_LOCATION, body) unless valid_top_construct?(body)
|
566
|
-
end
|
567
|
-
end
|
568
|
-
|
569
|
-
def valid_top_construct?(o)
|
570
|
-
o.is_a?(Model::Definition) && !o.is_a?(Model::NodeDefinition)
|
571
|
-
end
|
572
|
-
|
573
|
-
# @api private
|
574
|
-
class Puppet::Util::FileNamespaceAdapter < Puppet::Pops::Adaptable::Adapter
|
575
|
-
attr_accessor :file_to_namespace
|
576
|
-
end
|
577
|
-
|
578
|
-
def namespace_for_file(file)
|
579
|
-
env = Puppet.lookup(:current_environment)
|
580
|
-
return NO_NAMESPACE if env.nil?
|
581
|
-
|
582
|
-
Puppet::Util::FileNamespaceAdapter.adapt(env) do |adapter|
|
583
|
-
adapter.file_to_namespace ||= {}
|
584
|
-
|
585
|
-
file_namespace = adapter.file_to_namespace[file]
|
586
|
-
return file_namespace unless file_namespace.nil? # No cache entry, so we do the calculation
|
587
|
-
|
588
|
-
path = Pathname.new(file)
|
589
|
-
|
590
|
-
return adapter.file_to_namespace[file] = NO_NAMESPACE if path.extname != ".pp"
|
591
|
-
|
592
|
-
path = path.expand_path
|
593
|
-
|
594
|
-
return adapter.file_to_namespace[file] = NO_NAMESPACE if initial_manifest?(path, env.manifest)
|
595
|
-
|
596
|
-
#All auto-loaded files from modules come from a module search path dir
|
597
|
-
relative_path = get_module_relative_path(path, env.full_modulepath)
|
598
|
-
|
599
|
-
return adapter.file_to_namespace[file] = NO_NAMESPACE if relative_path == NO_PATH
|
600
|
-
|
601
|
-
#If a file comes from a module, but isn't in the right place, always error
|
602
|
-
names = dir_to_names(relative_path)
|
603
|
-
|
604
|
-
return adapter.file_to_namespace[file] = (names == BAD_MODULE_FILE ? BAD_MODULE_FILE : names.join("::").freeze)
|
605
|
-
end
|
606
|
-
end
|
607
|
-
|
608
|
-
def initial_manifest?(path, manifest_setting)
|
609
|
-
return false if manifest_setting.nil? || manifest_setting == :no_manifest
|
610
|
-
|
611
|
-
string_path = path.to_s
|
612
|
-
|
613
|
-
string_path == manifest_setting || string_path.start_with?(manifest_setting)
|
614
|
-
end
|
615
|
-
|
616
|
-
def get_module_relative_path(file_path, modulepath_directories)
|
617
|
-
clean_file = file_path.cleanpath
|
618
|
-
parent_path = modulepath_directories.find { |path_dir| is_parent_dir_of(path_dir, clean_file) }
|
619
|
-
return NO_PATH if parent_path.nil?
|
620
|
-
|
621
|
-
file_path.relative_path_from(Pathname.new(parent_path))
|
622
|
-
end
|
623
|
-
|
624
|
-
def is_parent_dir_of(parent_dir, child_dir)
|
625
|
-
parent_dir_path = Pathname.new(parent_dir)
|
626
|
-
clean_parent = parent_dir_path.cleanpath
|
627
|
-
|
628
|
-
return child_dir.to_s.start_with?(clean_parent.to_s)
|
629
|
-
end
|
630
|
-
|
631
|
-
def dir_to_names(relative_path)
|
632
|
-
# Downcasing here because check is case-insensitive
|
633
|
-
path_components = relative_path.to_s.downcase.split(File::SEPARATOR)
|
634
|
-
|
635
|
-
# Example definition dir: manifests in this path:
|
636
|
-
# <module name>/manifests/<module subdir>/<classfile>.pp
|
637
|
-
dir = path_components[1]
|
638
|
-
|
639
|
-
# How can we get this result?
|
640
|
-
# If it is not an initial manifest, it must come from a module,
|
641
|
-
# and from the manifests dir there. This may never get used...
|
642
|
-
return BAD_MODULE_FILE unless dir == 'manifests' || dir == 'functions' || dir == 'types' || dir == 'plans'
|
643
|
-
|
644
|
-
names = path_components[2 .. -2] # Directories inside module
|
645
|
-
names.unshift(path_components[0]) # Name of the module itself
|
646
|
-
|
647
|
-
# Do not include name of module init file at top level of module
|
648
|
-
# e.g. <module name>/manifests/init.pp
|
649
|
-
filename = path_components[-1]
|
650
|
-
if !(path_components.length == 3 && filename == 'init.pp')
|
651
|
-
names.push(filename[0 .. -4]) # Remove .pp from filename
|
652
|
-
end
|
653
|
-
|
654
|
-
names
|
655
|
-
end
|
656
|
-
|
657
|
-
RESERVED_PARAMETERS = {
|
658
|
-
'name' => true,
|
659
|
-
'title' => true,
|
660
|
-
}
|
661
|
-
|
662
|
-
def internal_check_reserved_params(o)
|
663
|
-
o.parameters.each do |p|
|
664
|
-
if RESERVED_PARAMETERS[p.name]
|
665
|
-
acceptor.accept(Issues::RESERVED_PARAMETER, p, {:container => o, :param_name => p.name})
|
666
|
-
end
|
667
|
-
end
|
668
|
-
end
|
669
|
-
|
670
|
-
def internal_check_parameter_name_uniqueness(o)
|
671
|
-
unique = Set.new
|
672
|
-
o.parameters.each do |p|
|
673
|
-
acceptor.accept(Issues::DUPLICATE_PARAMETER, p, {:param_name => p.name}) unless unique.add?(p.name)
|
674
|
-
end
|
675
|
-
end
|
676
|
-
|
677
|
-
def check_IfExpression(o)
|
678
|
-
rvalue(o.test)
|
679
|
-
end
|
680
|
-
|
681
|
-
def check_KeyedEntry(o)
|
682
|
-
rvalue(o.key)
|
683
|
-
rvalue(o.value)
|
684
|
-
# In case there are additional things to forbid than non-rvalues
|
685
|
-
# acceptor.accept(Issues::ILLEGAL_EXPRESSION, o.key, :feature => 'hash key', :container => container)
|
686
|
-
end
|
687
|
-
|
688
|
-
def check_LambdaExpression(o)
|
689
|
-
internal_check_capture_last(o)
|
690
|
-
internal_check_return_type(o)
|
691
|
-
end
|
692
|
-
|
693
|
-
def check_LiteralList(o)
|
694
|
-
o.values.each {|v| rvalue(v) }
|
695
|
-
end
|
696
|
-
|
697
|
-
def check_LiteralInteger(o)
|
698
|
-
v = o.value
|
699
|
-
if v < MIN_INTEGER || v > MAX_INTEGER
|
700
|
-
acceptor.accept(Issues::NUMERIC_OVERFLOW, o, {:value => v})
|
701
|
-
end
|
702
|
-
end
|
703
|
-
|
704
|
-
def check_LiteralHash(o)
|
705
|
-
# the keys of a literal hash may be non-literal expressions. They cannot be checked.
|
706
|
-
unique = Set.new
|
707
|
-
o.entries.each do |entry|
|
708
|
-
catch(:not_literal) do
|
709
|
-
literal_key = literal(entry.key)
|
710
|
-
acceptor.accept(Issues::DUPLICATE_KEY, entry, {:key => literal_key}) if unique.add?(literal_key).nil?
|
711
|
-
end
|
712
|
-
end
|
713
|
-
end
|
714
|
-
|
715
|
-
def check_NodeDefinition(o)
|
716
|
-
# Check that hostnames are valid hostnames (or regular expressions)
|
717
|
-
hostname(o.host_matches, o)
|
718
|
-
top(o)
|
719
|
-
if violator = ends_with_idem(o.body)
|
720
|
-
acceptor.accept(Issues::IDEM_NOT_ALLOWED_LAST, violator, {:container => o}) unless resource_without_title?(violator)
|
721
|
-
end
|
722
|
-
unless o.parent.nil?
|
723
|
-
acceptor.accept(Issues::ILLEGAL_NODE_INHERITANCE, o.parent)
|
724
|
-
end
|
725
|
-
end
|
726
|
-
|
727
|
-
# No checking takes place - all expressions using a QualifiedName need to check. This because the
|
728
|
-
# rules are slightly different depending on the container (A variable allows a numeric start, but not
|
729
|
-
# other names). This means that (if the lexer/parser so chooses) a QualifiedName
|
730
|
-
# can be anything when it represents a Bare Word and evaluates to a String.
|
731
|
-
#
|
732
|
-
def check_QualifiedName(o)
|
733
|
-
end
|
734
|
-
|
735
|
-
# Checks that the value is a valid UpperCaseWord (a CLASSREF), and optionally if it contains a hypen.
|
736
|
-
# DOH: QualifiedReferences are created with LOWER CASE NAMES at parse time
|
737
|
-
def check_QualifiedReference(o)
|
738
|
-
# Is this a valid qualified name?
|
739
|
-
if o.cased_value !~ Patterns::CLASSREF_EXT
|
740
|
-
acceptor.accept(Issues::ILLEGAL_CLASSREF, o, {:name=>o.cased_value})
|
741
|
-
end
|
742
|
-
end
|
743
|
-
|
744
|
-
def check_QueryExpression(o)
|
745
|
-
query(o.expr) if o.expr # is optional
|
746
|
-
end
|
747
|
-
|
748
|
-
def relation_Object(o)
|
749
|
-
rvalue(o)
|
750
|
-
end
|
751
|
-
|
752
|
-
def relation_CollectExpression(o); end
|
753
|
-
|
754
|
-
def relation_RelationshipExpression(o); end
|
755
|
-
|
756
|
-
def check_Parameter(o)
|
757
|
-
if o.name =~ /^(?:0x)?[0-9]+$/
|
758
|
-
acceptor.accept(Issues::ILLEGAL_NUMERIC_PARAMETER, o, :name => o.name)
|
759
|
-
end
|
760
|
-
|
761
|
-
unless o.name =~ Patterns::PARAM_NAME
|
762
|
-
acceptor.accept(Issues::ILLEGAL_PARAM_NAME, o, :name => o.name)
|
763
|
-
end
|
764
|
-
return unless o.value
|
765
|
-
|
766
|
-
internal_check_illegal_assignment(o.value)
|
767
|
-
end
|
768
|
-
|
769
|
-
def internal_check_illegal_assignment(o)
|
770
|
-
if o.is_a?(Model::AssignmentExpression)
|
771
|
-
acceptor.accept(Issues::ILLEGAL_ASSIGNMENT_CONTEXT, o)
|
772
|
-
else
|
773
|
-
# recursively check all contents unless it's a lambda expression. A lambda may contain
|
774
|
-
# local assignments
|
775
|
-
o._pcore_contents {|model| internal_check_illegal_assignment(model) } unless o.is_a?(Model::LambdaExpression)
|
776
|
-
end
|
777
|
-
end
|
778
|
-
|
779
|
-
#relationship_side: resource
|
780
|
-
# | resourceref
|
781
|
-
# | collection
|
782
|
-
# | variable
|
783
|
-
# | quotedtext
|
784
|
-
# | selector
|
785
|
-
# | casestatement
|
786
|
-
# | hasharrayaccesses
|
787
|
-
|
788
|
-
def check_RelationshipExpression(o)
|
789
|
-
relation(o.left_expr)
|
790
|
-
relation(o.right_expr)
|
791
|
-
end
|
792
|
-
|
793
|
-
def check_ResourceExpression(o)
|
794
|
-
# The expression for type name cannot be statically checked - this is instead done at runtime
|
795
|
-
# to enable better error message of the result of the expression rather than the static instruction.
|
796
|
-
# (This can be revised as there are static constructs that are illegal, but require updating many
|
797
|
-
# tests that expect the detailed reporting).
|
798
|
-
type_name_expr = o.type_name
|
799
|
-
if o.form && o.form != 'regular' && type_name_expr.is_a?(Model::QualifiedName) && type_name_expr.value == 'class'
|
800
|
-
acceptor.accept(Issues::CLASS_NOT_VIRTUALIZABLE, o)
|
801
|
-
end
|
802
|
-
end
|
803
|
-
|
804
|
-
def check_ResourceBody(o)
|
805
|
-
seenUnfolding = false
|
806
|
-
o.operations.each do |ao|
|
807
|
-
if ao.is_a?(Model::AttributesOperation)
|
808
|
-
if seenUnfolding
|
809
|
-
acceptor.accept(Issues::MULTIPLE_ATTRIBUTES_UNFOLD, ao)
|
810
|
-
else
|
811
|
-
seenUnfolding = true
|
812
|
-
end
|
813
|
-
end
|
814
|
-
end
|
815
|
-
end
|
816
|
-
|
817
|
-
def check_ResourceDefaultsExpression(o)
|
818
|
-
if o.form != 'regular'
|
819
|
-
acceptor.accept(Issues::NOT_VIRTUALIZEABLE, o)
|
820
|
-
end
|
821
|
-
end
|
822
|
-
|
823
|
-
def check_ResourceOverrideExpression(o)
|
824
|
-
if o.form != 'regular'
|
825
|
-
acceptor.accept(Issues::NOT_VIRTUALIZEABLE, o)
|
826
|
-
end
|
827
|
-
end
|
828
|
-
|
829
|
-
def check_ReservedWord(o)
|
830
|
-
if o.future
|
831
|
-
acceptor.accept(Issues::FUTURE_RESERVED_WORD, o, :word => o.word)
|
832
|
-
else
|
833
|
-
acceptor.accept(Issues::RESERVED_WORD, o, :word => o.word)
|
834
|
-
end
|
835
|
-
end
|
836
|
-
|
837
|
-
def check_SelectorExpression(o)
|
838
|
-
rvalue(o.left_expr)
|
839
|
-
# There can only be one LiteralDefault case option value
|
840
|
-
defaults = o.selectors.select {|v| v.matching_expr.is_a?(Model::LiteralDefault) }
|
841
|
-
unless defaults.size <= 1
|
842
|
-
# Flag the second default as 'unreachable'
|
843
|
-
acceptor.accept(Issues::DUPLICATE_DEFAULT, defaults[1].matching_expr, :container => o)
|
844
|
-
end
|
845
|
-
end
|
846
|
-
|
847
|
-
def check_SelectorEntry(o)
|
848
|
-
rvalue(o.matching_expr)
|
849
|
-
end
|
850
|
-
|
851
|
-
def check_UnaryExpression(o)
|
852
|
-
rvalue(o.expr)
|
853
|
-
end
|
854
|
-
|
855
|
-
def check_UnlessExpression(o)
|
856
|
-
rvalue(o.test)
|
857
|
-
# TODO: Unless may not have an else part that is an IfExpression (grammar denies this though)
|
858
|
-
end
|
859
|
-
|
860
|
-
# Checks that variable is either strictly 0, or a non 0 starting decimal number, or a valid VAR_NAME
|
861
|
-
def check_VariableExpression(o)
|
862
|
-
# The expression must be a qualified name or an integer
|
863
|
-
name_expr = o.expr
|
864
|
-
return if name_expr.is_a?(Model::LiteralInteger)
|
865
|
-
if !name_expr.is_a?(Model::QualifiedName)
|
866
|
-
acceptor.accept(Issues::ILLEGAL_EXPRESSION, o, :feature => 'name', :container => o)
|
867
|
-
else
|
868
|
-
# name must be either a decimal string value, or a valid NAME
|
869
|
-
name = o.expr.value
|
870
|
-
if name[0,1] =~ /[0-9]/
|
871
|
-
unless name =~ Patterns::NUMERIC_VAR_NAME
|
872
|
-
acceptor.accept(Issues::ILLEGAL_NUMERIC_VAR_NAME, o, :name => name)
|
873
|
-
end
|
874
|
-
else
|
875
|
-
unless name =~ Patterns::VAR_NAME
|
876
|
-
acceptor.accept(Issues::ILLEGAL_VAR_NAME, o, :name => name)
|
877
|
-
end
|
878
|
-
end
|
879
|
-
end
|
880
|
-
end
|
881
|
-
|
882
|
-
#--- HOSTNAME CHECKS
|
883
|
-
|
884
|
-
# Transforms Array of host matching expressions into a (Ruby) array of AST::HostName
|
885
|
-
def hostname_Array(o, semantic)
|
886
|
-
o.each {|x| hostname(x, semantic) }
|
887
|
-
end
|
888
|
-
|
889
|
-
def hostname_String(o, semantic)
|
890
|
-
# The 3.x checker only checks for illegal characters - if matching /[^-\w.]/ the name is invalid,
|
891
|
-
# but this allows pathological names like "a..b......c", "----"
|
892
|
-
# TODO: Investigate if more illegal hostnames should be flagged.
|
893
|
-
#
|
894
|
-
if o =~ Patterns::ILLEGAL_HOSTNAME_CHARS
|
895
|
-
acceptor.accept(Issues::ILLEGAL_HOSTNAME_CHARS, semantic, :hostname => o)
|
896
|
-
end
|
897
|
-
end
|
898
|
-
|
899
|
-
def hostname_LiteralValue(o, semantic)
|
900
|
-
hostname_String(o.value.to_s, o)
|
901
|
-
end
|
902
|
-
|
903
|
-
def hostname_ConcatenatedString(o, semantic)
|
904
|
-
# Puppet 3.1. only accepts a concatenated string without interpolated expressions
|
905
|
-
if the_expr = o.segments.index {|s| s.is_a?(Model::TextExpression) }
|
906
|
-
acceptor.accept(Issues::ILLEGAL_HOSTNAME_INTERPOLATION, o.segments[the_expr].expr)
|
907
|
-
elsif o.segments.size() != 1
|
908
|
-
# corner case, bad model, concatenation of several plain strings
|
909
|
-
acceptor.accept(Issues::ILLEGAL_HOSTNAME_INTERPOLATION, o)
|
910
|
-
else
|
911
|
-
# corner case, may be ok, but lexer may have replaced with plain string, this is
|
912
|
-
# here if it does not
|
913
|
-
hostname_String(o.segments[0], o.segments[0])
|
914
|
-
end
|
915
|
-
end
|
916
|
-
|
917
|
-
def hostname_QualifiedName(o, semantic)
|
918
|
-
hostname_String(o.value.to_s, o)
|
919
|
-
end
|
920
|
-
|
921
|
-
def hostname_QualifiedReference(o, semantic)
|
922
|
-
hostname_String(o.value.to_s, o)
|
923
|
-
end
|
924
|
-
|
925
|
-
def hostname_LiteralNumber(o, semantic)
|
926
|
-
# always ok
|
927
|
-
end
|
928
|
-
|
929
|
-
def hostname_LiteralDefault(o, semantic)
|
930
|
-
# always ok
|
931
|
-
end
|
932
|
-
|
933
|
-
def hostname_LiteralRegularExpression(o, semantic)
|
934
|
-
# always ok
|
935
|
-
end
|
936
|
-
|
937
|
-
def hostname_Object(o, semantic)
|
938
|
-
acceptor.accept(Issues::ILLEGAL_EXPRESSION, o, {:feature => 'hostname', :container => semantic})
|
939
|
-
end
|
940
|
-
|
941
|
-
#---QUERY CHECKS
|
942
|
-
|
943
|
-
# Anything not explicitly allowed is flagged as error.
|
944
|
-
def query_Object(o)
|
945
|
-
acceptor.accept(Issues::ILLEGAL_QUERY_EXPRESSION, o)
|
946
|
-
end
|
947
|
-
|
948
|
-
# Puppet AST only allows == and !=
|
949
|
-
#
|
950
|
-
def query_ComparisonExpression(o)
|
951
|
-
acceptor.accept(Issues::ILLEGAL_QUERY_EXPRESSION, o) unless ['==', '!='].include? o.operator
|
952
|
-
end
|
953
|
-
|
954
|
-
# Allows AND, OR, and checks if left/right are allowed in query.
|
955
|
-
def query_BooleanExpression(o)
|
956
|
-
query o.left_expr
|
957
|
-
query o.right_expr
|
958
|
-
end
|
959
|
-
|
960
|
-
def query_ParenthesizedExpression(o)
|
961
|
-
query(o.expr)
|
962
|
-
end
|
963
|
-
|
964
|
-
def query_VariableExpression(o); end
|
965
|
-
|
966
|
-
def query_QualifiedName(o); end
|
967
|
-
|
968
|
-
def query_LiteralNumber(o); end
|
969
|
-
|
970
|
-
def query_LiteralString(o); end
|
971
|
-
|
972
|
-
def query_LiteralBoolean(o); end
|
973
|
-
|
974
|
-
#---RVALUE CHECKS
|
975
|
-
|
976
|
-
# By default, all expressions are reported as being rvalues
|
977
|
-
# Implement specific rvalue checks for those that are not.
|
978
|
-
#
|
979
|
-
def rvalue_Expression(o); end
|
980
|
-
|
981
|
-
def rvalue_CollectExpression(o)
|
982
|
-
acceptor.accept(Issues::NOT_RVALUE, o)
|
983
|
-
end
|
984
|
-
|
985
|
-
def rvalue_Definition(o)
|
986
|
-
acceptor.accept(Issues::NOT_RVALUE, o)
|
987
|
-
end
|
988
|
-
|
989
|
-
def rvalue_NodeDefinition(o)
|
990
|
-
acceptor.accept(Issues::NOT_RVALUE, o)
|
991
|
-
end
|
992
|
-
|
993
|
-
def rvalue_UnaryExpression(o)
|
994
|
-
rvalue o.expr
|
995
|
-
end
|
996
|
-
|
997
|
-
#--IDEM CHECK
|
998
|
-
def idem_Object(o)
|
999
|
-
false
|
1000
|
-
end
|
1001
|
-
|
1002
|
-
def idem_Nop(o)
|
1003
|
-
true
|
1004
|
-
end
|
1005
|
-
|
1006
|
-
def idem_NilClass(o)
|
1007
|
-
true
|
1008
|
-
end
|
1009
|
-
|
1010
|
-
def idem_Literal(o)
|
1011
|
-
true
|
1012
|
-
end
|
1013
|
-
|
1014
|
-
def idem_LiteralList(o)
|
1015
|
-
true
|
1016
|
-
end
|
1017
|
-
|
1018
|
-
def idem_LiteralHash(o)
|
1019
|
-
true
|
1020
|
-
end
|
1021
|
-
|
1022
|
-
def idem_Factory(o)
|
1023
|
-
idem(o.model)
|
1024
|
-
end
|
1025
|
-
|
1026
|
-
def idem_AccessExpression(o)
|
1027
|
-
true
|
1028
|
-
end
|
1029
|
-
|
1030
|
-
def idem_BinaryExpression(o)
|
1031
|
-
true
|
1032
|
-
end
|
1033
|
-
|
1034
|
-
def idem_MatchExpression(o)
|
1035
|
-
false # can have side effect of setting $n match variables
|
1036
|
-
end
|
1037
|
-
|
1038
|
-
def idem_RelationshipExpression(o)
|
1039
|
-
# Always side effect
|
1040
|
-
false
|
1041
|
-
end
|
1042
|
-
|
1043
|
-
def idem_AssignmentExpression(o)
|
1044
|
-
# Always side effect
|
1045
|
-
false
|
1046
|
-
end
|
1047
|
-
|
1048
|
-
# Handles UnaryMinusExpression, NotExpression, VariableExpression
|
1049
|
-
def idem_UnaryExpression(o)
|
1050
|
-
true
|
1051
|
-
end
|
1052
|
-
|
1053
|
-
# Allow (no-effect parentheses) to be used around a productive expression
|
1054
|
-
def idem_ParenthesizedExpression(o)
|
1055
|
-
idem(o.expr)
|
1056
|
-
end
|
1057
|
-
|
1058
|
-
def idem_RenderExpression(o)
|
1059
|
-
false
|
1060
|
-
end
|
1061
|
-
|
1062
|
-
def idem_RenderStringExpression(o)
|
1063
|
-
false
|
1064
|
-
end
|
1065
|
-
|
1066
|
-
def idem_BlockExpression(o)
|
1067
|
-
# productive if there is at least one productive expression
|
1068
|
-
! o.statements.any? {|expr| !idem(expr) }
|
1069
|
-
end
|
1070
|
-
|
1071
|
-
# Returns true even though there may be interpolated expressions that have side effect.
|
1072
|
-
# Report as idem anyway, as it is very bad design to evaluate an interpolated string for its
|
1073
|
-
# side effect only.
|
1074
|
-
def idem_ConcatenatedString(o)
|
1075
|
-
true
|
1076
|
-
end
|
1077
|
-
|
1078
|
-
# Heredoc is just a string, but may contain interpolated string (which may have side effects).
|
1079
|
-
# This is still bad design and should be reported as idem.
|
1080
|
-
def idem_HeredocExpression(o)
|
1081
|
-
true
|
1082
|
-
end
|
1083
|
-
|
1084
|
-
# May technically have side effects inside the Selector, but this is bad design - treat as idem
|
1085
|
-
def idem_SelectorExpression(o)
|
1086
|
-
true
|
1087
|
-
end
|
1088
|
-
|
1089
|
-
# An apply expression exists purely for the side effect of applying a
|
1090
|
-
# catalog somewhere, so it always has side effects
|
1091
|
-
def idem_ApplyExpression(o)
|
1092
|
-
false
|
1093
|
-
end
|
1094
|
-
|
1095
|
-
def idem_IfExpression(o)
|
1096
|
-
[o.test, o.then_expr, o.else_expr].all? {|e| idem(e) }
|
1097
|
-
end
|
1098
|
-
|
1099
|
-
# Case expression is idem, if test, and all options are idem
|
1100
|
-
def idem_CaseExpression(o)
|
1101
|
-
return false if !idem(o.test)
|
1102
|
-
! o.options.any? {|opt| !idem(opt) }
|
1103
|
-
end
|
1104
|
-
|
1105
|
-
# An option is idem if values and the then_expression are idem
|
1106
|
-
def idem_CaseOption(o)
|
1107
|
-
return false if o.values.any? { |value| !idem(value) }
|
1108
|
-
idem(o.then_expr)
|
1109
|
-
end
|
1110
|
-
|
1111
|
-
#--- NON POLYMORPH, NON CHECKING CODE
|
1112
|
-
|
1113
|
-
# Produces string part of something named, or nil if not a QualifiedName or QualifiedReference
|
1114
|
-
#
|
1115
|
-
def varname_to_s(o)
|
1116
|
-
case o
|
1117
|
-
when Model::QualifiedName
|
1118
|
-
o.value
|
1119
|
-
when Model::QualifiedReference
|
1120
|
-
o.value
|
1121
|
-
else
|
1122
|
-
nil
|
1123
|
-
end
|
1124
|
-
end
|
1125
|
-
end
|
1126
|
-
end
|
1127
|
-
end
|