| line | stmt | bran | cond | sub | pod | time | code | 
| 1 |  |  |  |  |  |  | package Repl::Spec::Types; | 
| 2 |  |  |  |  |  |  |  | 
| 3 | 1 |  |  | 1 |  | 6 | use strict; | 
|  | 1 |  |  |  |  | 3 |  | 
|  | 1 |  |  |  |  | 36 |  | 
| 4 | 1 |  |  | 1 |  | 6 | use warnings; | 
|  | 1 |  |  |  |  | 3 |  | 
|  | 1 |  |  |  |  | 31 |  | 
| 5 |  |  |  |  |  |  |  | 
| 6 | 1 |  |  | 1 |  | 557 | use Repl::Spec::Type::WhateverType; | 
|  | 1 |  |  |  |  | 3 |  | 
|  | 1 |  |  |  |  | 32 |  | 
| 7 | 1 |  |  | 1 |  | 638 | use Repl::Spec::Type::DefinedType; | 
|  | 1 |  |  |  |  | 4 |  | 
|  | 1 |  |  |  |  | 24 |  | 
| 8 | 1 |  |  | 1 |  | 475 | use Repl::Spec::Type::ScalarType; | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 22 |  | 
| 9 | 1 |  |  | 1 |  | 470 | use Repl::Spec::Type::BooleanType; | 
|  | 1 |  |  |  |  | 6 |  | 
|  | 1 |  |  |  |  | 24 |  | 
| 10 | 1 |  |  | 1 |  | 506 | use Repl::Spec::Type::IntegerType; | 
|  | 1 |  |  |  |  | 3 |  | 
|  | 1 |  |  |  |  | 26 |  | 
| 11 | 1 |  |  | 1 |  | 591 | use Repl::Spec::Type::InstanceType; | 
|  | 1 |  |  |  |  | 3 |  | 
|  | 1 |  |  |  |  | 36 |  | 
| 12 | 1 |  |  | 1 |  | 619 | use Repl::Spec::Type::CheckedArrayType; | 
|  | 1 |  |  |  |  | 4 |  | 
|  | 1 |  |  |  |  | 30 |  | 
| 13 | 1 |  |  | 1 |  | 669 | use Repl::Spec::Type::CheckedHashType; | 
|  | 1 |  |  |  |  | 1 |  | 
|  | 1 |  |  |  |  | 26 |  | 
| 14 | 1 |  |  | 1 |  | 491 | use Repl::Spec::Type::IntegerRangeType; | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 22 |  | 
| 15 | 1 |  |  | 1 |  | 462 | use Repl::Spec::Type::PatternType; | 
|  | 1 |  |  |  |  | 3 |  | 
|  | 1 |  |  |  |  | 1397 |  | 
| 16 | 1 |  |  | 1 |  | 698 | use Repl::Spec::Type::StringEnumType; | 
|  | 1 |  |  |  |  | 3 |  | 
|  | 1 |  |  |  |  | 32 |  | 
| 17 | 1 |  |  | 1 |  | 639 | use Repl::Spec::Type::NumberType; | 
|  | 1 |  |  |  |  | 3 |  | 
|  | 1 |  |  |  |  | 30 |  | 
| 18 | 1 |  |  | 1 |  | 630 | use Repl::Spec::Type::FileType; | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 26 |  | 
| 19 |  |  |  |  |  |  |  | 
| 20 | 1 |  |  | 1 |  | 585 | use Repl::Spec::Args::StdArgList; | 
|  | 1 |  |  |  |  | 3 |  | 
|  | 1 |  |  |  |  | 166 |  | 
| 21 |  |  |  |  |  |  |  | 
| 22 |  |  |  |  |  |  | require Exporter; | 
| 23 |  |  |  |  |  |  | our @ISA = qw(Exporter); | 
| 24 |  |  |  |  |  |  | our @EXPORT = qw( | 
| 25 |  |  |  |  |  |  | WHATEVER_TYPE DEFINED_TYPE | 
| 26 |  |  |  |  |  |  | SCALAR_TYPE | 
| 27 |  |  |  |  |  |  | BOOLEAN_TYPE INTEGER_TYPE NUMBER_TYPE HASH_TYPE ARRAY_TYPE PAIR_TYPE LAMBDA_TYPE | 
| 28 |  |  |  |  |  |  | HASH_HASH_TYPE | 
| 29 |  |  |  |  |  |  | ARRAY_NUMBER_TYPE | 
| 30 |  |  |  |  |  |  | MONTH_TYPE DAY_TYPE HOUR_TYPE MINUTE_TYPE SECOND_TYPE | 
| 31 |  |  |  |  |  |  | EMAIL_TYPE | 
| 32 |  |  |  |  |  |  | READABLEFILE_TYPE ARRAY_READABLEFILE_TYPE | 
| 33 |  |  |  |  |  |  |  | 
| 34 |  |  |  |  |  |  | NO_ARGS); | 
| 35 |  |  |  |  |  |  |  | 
| 36 |  |  |  |  |  |  | our @EXPORT_OK = qw(); | 
| 37 |  |  |  |  |  |  |  | 
| 38 | 1 |  |  | 1 |  | 8 | use constant WHATEVER_TYPE => new Repl::Spec::Type::WhateverType(); | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 9 |  | 
| 39 | 1 |  |  | 1 |  | 4 | use constant DEFINED_TYPE => new Repl::Spec::Type::DefinedType(); | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 9 |  | 
| 40 | 1 |  |  | 1 |  | 5 | use constant SCALAR_TYPE => new Repl::Spec::Type::ScalarType(); | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 8 |  | 
| 41 | 1 |  |  | 1 |  | 4 | use constant BOOLEAN_TYPE => new Repl::Spec::Type::BooleanType(); | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 8 |  | 
| 42 | 1 |  |  | 1 |  | 5 | use constant INTEGER_TYPE => new Repl::Spec::Type::IntegerType(); | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 9 |  | 
| 43 | 1 |  |  | 1 |  | 4 | use constant NUMBER_TYPE => new Repl::Spec::Type::NumberType(); | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 8 |  | 
| 44 | 1 |  |  | 1 |  | 4 | use constant HASH_TYPE => new Repl::Spec::Type::InstanceType("HASH"); | 
|  | 1 |  |  |  |  | 3 |  | 
|  | 1 |  |  |  |  | 9 |  | 
| 45 | 1 |  |  | 1 |  | 4 | use constant ARRAY_TYPE => new Repl::Spec::Type::InstanceType("ARRAY"); | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 10 |  | 
| 46 | 1 |  |  | 1 |  | 6 | use constant PAIR_TYPE => new Repl::Spec::Type::InstanceType("Repl::Core::Pair"); | 
|  | 1 |  |  |  |  | 7 |  | 
|  | 1 |  |  |  |  | 18 |  | 
| 47 | 1 |  |  | 1 |  | 5 | use constant LAMBDA_TYPE => new Repl::Spec::Type::InstanceType("Repl::Core::Lambda"); | 
|  | 1 |  |  |  |  | 1 |  | 
|  | 1 |  |  |  |  | 4 |  | 
| 48 |  |  |  |  |  |  |  | 
| 49 | 1 |  |  | 1 |  | 5 | use constant HASH_HASH_TYPE => new Repl::Spec::Type::CheckedHashType(HASH_TYPE); | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 7 |  | 
| 50 | 1 |  |  | 1 |  | 6 | use constant ARRAY_NUMBER_TYPE => new Repl::Spec::Type::CheckedArrayType(NUMBER_TYPE); | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 8 |  | 
| 51 |  |  |  |  |  |  |  | 
| 52 | 1 |  |  | 1 |  | 5 | use constant MONTH_TYPE => new Repl::Spec::Type::IntegerRangeType(1, 12); | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 9 |  | 
| 53 | 1 |  |  | 1 |  | 5 | use constant DAY_TYPE => new Repl::Spec::Type::IntegerRangeType(1, 31); | 
|  | 1 |  |  |  |  | 1 |  | 
|  | 1 |  |  |  |  | 4 |  | 
| 54 | 1 |  |  | 1 |  | 5 | use constant HOUR_TYPE => new Repl::Spec::Type::IntegerRangeType(0, 23); | 
|  | 1 |  |  |  |  | 1 |  | 
|  | 1 |  |  |  |  | 4 |  | 
| 55 | 1 |  |  | 1 |  | 4 | use constant MINUTE_TYPE => new Repl::Spec::Type::IntegerRangeType(0, 59); | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 4 |  | 
| 56 | 1 |  |  | 1 |  | 5 | use constant SECOND_TYPE => new Repl::Spec::Type::IntegerRangeType(0, 59); | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 3 |  | 
| 57 |  |  |  |  |  |  |  | 
| 58 | 1 |  |  | 1 |  | 5 | use constant EMAIL_TYPE => new Repl::Spec::Type::PatternType('email address', '^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$'); | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 9 |  | 
| 59 |  |  |  |  |  |  |  | 
| 60 | 1 |  |  | 1 |  | 5 | use constant READABLEFILE_TYPE => new Repl::Spec::Type::FileType(ISFILE=>1, READABLE=>1); | 
|  | 1 |  |  |  |  | 1 |  | 
|  | 1 |  |  |  |  | 7 |  | 
| 61 | 1 |  |  | 1 |  | 4 | use constant ARRAY_READABLEFILE_TYPE => new Repl::Spec::Type::CheckedArrayType(READABLEFILE_TYPE); | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 4 |  | 
| 62 |  |  |  |  |  |  |  | 
| 63 | 1 |  |  | 1 |  | 5 | use constant NO_ARGS => new Repl::Spec::Args::StdArgList([], [], []); | 
|  | 1 |  |  |  |  | 1 |  | 
|  | 1 |  |  |  |  | 6 |  | 
| 64 |  |  |  |  |  |  |  | 
| 65 |  |  |  |  |  |  | 1; | 
| 66 |  |  |  |  |  |  |  | 
| 67 |  |  |  |  |  |  | __END__ |