The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
{"file":"lib/Devel/PerlySense/Document.pm","branch":[[170,{"text":"unless my $file = $self->file"}],[199,{"text":"if (my $oDocument = $self->cacheGet($keyCache, $file)) { }"}],[210,{"text":"if (my $oMeta = $self->cacheGet($keyCache, $file)) { }"}],[238,{"text":"unless my $oDocument = 'PPI::Document'->new($file)"}],[276,{"text":"if not $hStop{$_}"}],[333,{"text":"unless $row > 0"}],[335,{"text":"if $_->namespace"}],[337,{"text":"unless my(@aPackage) = grep({$_->location->[0] <= $row if $_->namespace;} @{$self->oMeta->raPackage;})"}],[366,{"text":"if $self->oMeta->moduleAt('row', $row, 'col', $col)"}],[367,{"text":"if $self->oMeta->rhMethodAt('row', $row, 'col', $col)"}],[416,{"text":"unless my $rhMethod = $self->oMeta->rhMethodAt('row', $row, 'col', $col)"}],[419,{"text":"if wantarray"}],[420,{"text":"defined $oObject ? :"}],[440,{"text":"unless $method"}],[441,{"text":"unless $object and $object eq '$self'"}],[464,{"text":"unless $module and $method"}],[465,{"text":"if $module =~ /[^\\w:]/"}],[467,{"text":"if wantarray"}],[490,{"text":"unless $oObject and $oMethod"}],[491,{"text":"unless $oObject =~ /^\\$\\w+$/"}],[493,{"text":"unless my $oLocationSub = $self->oLocationEnclosingSub($oMethod)"}],[544,{"text":"if ($oLocation->rhProperty->{'nameSub'} eq $name and $oLocation->rhProperty->{'namePackage'} eq $package)"}],[574,{"text":"if ($row >= $oLocation->row and $row <= $oLocation->rhProperty->{'oLocationEnd'}->row)"}],[612,{"text":"unless $package = $self->packageAt('row', $row)"}],[611,{"text":"if ($row) { }"}],[610,{"text":"unless ($package)"}],[622,{"text":"if $oLocation"}],[626,{"text":"if $oLocation"}],[630,{"text":"unless my $oDocumentBase = $self->oPerlySense->oDocumentFindModule('nameModule', $moduleBase, 'dirOrigin', dirname($self->file))"}],[635,{"text":"if $oLocation"}],[678,{"text":"unless $lookFor eq 'method'"}],[692,{"text":"if $pod =~ /^=item\\s/"}],[685,{"text":"if ($oLocationCur->rhProperty->{'pod'} =~ /^= \\w+ \\s+ [^\\n]*? \\b $rexName \\b /x)"}],[700,{"text":"if $ignoreBaseModules"}],[704,{"text":"unless my $oDocumentBase = $self->oPerlySense->oDocumentFindModule('nameModule', $moduleBase, 'dirOrigin', dirname($self->file))"}],[713,{"text":"unless ($oLocation->rhProperty->{'pod'} =~ /\\n=head1 From <[\\w:]+>\\n$/)"}],[708,{"text":"if (my $oLocation = $oDocumentBase->oLocationPod('name', $name, 'lookFor', $lookFor))"}],[787,{"text":"if (my $rhPackageApi = $self->cacheGet($keyCache, $self->file)) { }"}],[819,{"text":"if keys %{$oApiCur->rhSub;}"}],[817,{"text":"if ($oNode->isa('PPI::Statement::Package'))"}],[829,{"text":"if ($oNode->isa('PPI::Statement::Sub') and not $oNode->forward)"}],[835,{"text":"if keys %{$oApiCur->rhSub;}"}],[841,{"text":"unless my $oDocumentBase = $self->oPerlySense->oDocumentFindModule('nameModule', $nameBase, 'dirOrigin', dirname($self->file))"}],[847,{"text":"if $nameModule eq $nameBase"}],[887,{"text":"unless my $oApiBase = $$rhPackageApiBase{$nameModuleBase}"}],[890,{"text":"unless $oApi"}],[926,{"text":"unless my $oApi = $self->rhPackageApiLikely->{$nameModule}"}],[929,{"text":"unless $oApi->isSubSupported($method)"}],[989,{"text":"if index($match, ':') > -1"}],[988,{"text":"if (index($match, 'sub') > -1)"}],[992,{"text":"if index($match, '=') > -1"}],[1077,{"text":"unless my $raList = $oNode->find($what)"}],[1106,{"text":"if ($row >= $oLocation->row and $row <= $oLocation->rhProperty->{'oLocationEnd'}->row)"}]],"statement":[31,31,31,32,32,32,33,33,33,41,41,41,42,42,42,42,42,42,42,42,42,43,43,43,44,44,44,45,45,45,46,46,46,48,48,48,49,49,49,50,50,50,51,51,51,52,52,52,53,53,53,55,55,55,145,146,148,149,151,167,168,170,173,195,196,198,199,200,202,203,206,209,210,211,213,215,217,218,221,235,236,238,239,241,243,255,256,256,256,271,274,274,276,276,276,278,291,292,294,294,294,313,315,315,316,316,316,318,331,332,333,337,335,336,340,341,363,364,366,367,369,388,389,390,413,414,416,417,419,420,436,437,439,440,441,443,460,461,463,464,465,467,468,486,487,489,490,491,493,495,516,517,519,535,536,537,538,540,540,544,546,547,551,570,571,573,573,574,577,578,582,606,607,608,608,610,611,612,615,618,621,622,625,626,629,630,634,635,638,674,675,676,677,678,680,681,681,685,686,687,688,689,691,692,693,695,700,703,704,708,713,714,717,721,742,743,747,750,753,751,752,761,783,784,786,787,788,790,791,794,806,807,810,812,813,814,815,816,817,818,819,819,822,823,824,825,829,830,831,834,835,835,840,841,846,847,850,852,862,864,884,885,887,889,890,892,894,923,924,926,928,929,932,933,933,935,936,939,941,955,956,985,986,988,989,990,992,994,996,997,999,1003,1001,1007,1010,1013,1015,1032,1033,1034,1035,1038,1058,1059,1060,1075,1076,1077,1078,1099,1100,1104,1104,1105,1105,1106,1107,1112,1134,1135,1136,1154,1155,1156,1157],"start":{"32":{"BEGIN":[{"branch":null,"pod":null,"statement":3,"subroutine":1,"time":null,"condition":null}]},"235":{"parse0":[{"statement":79,"subroutine":21,"pod":3,"condition":null,"time":null,"branch":3}]},"570":{"oLocationSubAt":[{"time":null,"condition":5,"statement":163,"subroutine":35,"pod":17,"branch":22}]},"436":{"selfMethodCallAt":[{"branch":13,"time":null,"condition":null,"statement":130,"subroutine":30,"pod":12}]},"46":{"BEGIN":[{"branch":null,"condition":null,"time":null,"statement":30,"subroutine":10,"pod":null}]},"51":{"BEGIN":[{"pod":null,"subroutine":14,"statement":42,"condition":null,"time":null,"branch":null}]},"271":{"aNameBase":[{"statement":89,"subroutine":23,"pod":5,"time":null,"condition":null,"branch":4}]},"1075":{"aNodeFind":[{"pod":29,"statement":305,"subroutine":48,"condition":10,"time":null,"branch":51}]},"49":{"BEGIN":[{"pod":null,"statement":36,"subroutine":12,"time":null,"condition":null,"branch":null}]},"48":{"BEGIN":[{"time":null,"condition":null,"statement":33,"subroutine":11,"pod":null,"branch":null}]},"674":{"oLocationPod":[{"condition":6,"time":null,"pod":19,"statement":189,"subroutine":37,"branch":30}]},"145":{"new":[{"branch":null,"condition":null,"time":null,"subroutine":18,"statement":54,"pod":null}]},"806":{"determineLikelyApi0":[{"condition":7,"time":null,"subroutine":40,"statement":230,"pod":22,"branch":38}]},"884":{"mergePackageApiWithBase":[{"subroutine":41,"statement":260,"pod":23,"time":null,"condition":8,"branch":44}]},"413":{"methodCallAt":[{"statement":124,"subroutine":29,"pod":11,"condition":null,"time":null,"branch":10}]},"1058":{"aDocumentFind":[{"branch":51,"pod":28,"statement":302,"subroutine":47,"condition":10,"time":null}]},"996":{"stringSignatureSurveyFromSource":[{"pod":26,"statement":288,"subroutine":45,"time":null,"condition":8,"branch":51}]},"606":{"oLocationSubDefinition":[{"branch":23,"condition":6,"time":null,"pod":18,"statement":171,"subroutine":36}]},"1154":{"cacheGet":[{"branch":53,"condition":11,"time":null,"pod":32,"subroutine":51,"statement":321}]},"742":{"aMethodCallOf":[{"statement":214,"subroutine":38,"pod":20,"condition":7,"time":null,"branch":37}]},"1099":{"oLocationEnclosingSub":[{"pod":30,"subroutine":49,"statement":309,"time":null,"condition":10,"branch":52}]},"50":{"BEGIN":[{"subroutine":13,"statement":39,"pod":null,"time":null,"condition":null,"branch":null}]},"313":{"aNameModuleUse":[{"branch":5,"subroutine":25,"statement":101,"pod":7,"time":null,"condition":null}]},"41":{"BEGIN":[{"branch":null,"condition":null,"time":null,"subroutine":3,"statement":9,"pod":null}]},"460":{"moduleMethodCallAt":[{"branch":15,"pod":13,"subroutine":31,"statement":136,"time":null,"condition":1}]},"955":{"stringSignatureSurveyFromFile":[{"branch":48,"subroutine":43,"statement":279,"pod":25,"time":null,"condition":8}]},"42":{"BEGIN":[{"branch":null,"pod":null,"subroutine":4,"statement":12,"condition":null,"time":null},{"branch":null,"statement":15,"subroutine":5,"pod":null,"condition":null,"time":null},{"branch":null,"statement":18,"subroutine":6,"pod":null,"condition":null,"time":null}]},"388":{"moduleAt":[{"time":null,"condition":null,"pod":10,"subroutine":28,"statement":121,"branch":10}]},"33":{"BEGIN":[{"time":null,"condition":null,"subroutine":2,"statement":6,"pod":null,"branch":null}]},"52":{"BEGIN":[{"branch":null,"subroutine":15,"statement":45,"pod":null,"condition":null,"time":null}]},"985":{"_stringReplace":[{"branch":48,"condition":8,"time":null,"pod":26,"statement":281,"subroutine":44}]},"45":{"BEGIN":[{"time":null,"condition":null,"subroutine":9,"statement":27,"pod":null,"branch":null}]},"-1":{"__COVER__":[{"time":null,"condition":11,"subroutine":52,"statement":325,"pod":33,"branch":53}]},"535":{"oLocationSub":[{"pod":16,"statement":153,"subroutine":34,"condition":3,"time":null,"branch":21}]},"195":{"parse":[{"branch":1,"pod":2,"subroutine":20,"statement":63,"condition":null,"time":null}]},"55":{"BEGIN":[{"branch":null,"subroutine":17,"statement":51,"pod":null,"time":null,"condition":null}]},"1134":{"cacheSet":[{"branch":53,"time":null,"condition":11,"pod":31,"subroutine":50,"statement":318}]},"31":{"BEGIN":[{"condition":null,"time":null,"pod":null,"statement":null,"subroutine":null,"branch":null}]},"923":{"scoreInterfaceMatch":[{"branch":46,"time":null,"condition":8,"pod":24,"subroutine":42,"statement":267}]},"44":{"BEGIN":[{"branch":null,"time":null,"condition":null,"pod":null,"subroutine":8,"statement":24}]},"516":{"rhRegexExample":[{"branch":21,"condition":3,"time":null,"subroutine":33,"statement":150,"pod":15}]},"291":{"hasBaseClass":[{"branch":5,"condition":null,"time":null,"pod":6,"statement":96,"subroutine":24}]},"1032":{"oLocationOfNode":[{"branch":51,"time":null,"condition":8,"statement":297,"subroutine":46,"pod":27}]},"255":{"aNamePackage":[{"statement":85,"subroutine":22,"pod":4,"time":null,"condition":null,"branch":4}]},"167":{"fileFindModule":[{"branch":null,"pod":1,"statement":59,"subroutine":19,"time":null,"condition":null}]},"783":{"determineLikelyApi":[{"pod":21,"subroutine":39,"statement":222,"time":null,"condition":7,"branch":37}]},"43":{"BEGIN":[{"condition":null,"time":null,"statement":21,"subroutine":7,"pod":null,"branch":null}]},"53":{"BEGIN":[{"branch":null,"statement":48,"subroutine":16,"pod":null,"time":null,"condition":null}]},"331":{"packageAt":[{"branch":5,"condition":null,"time":null,"pod":8,"statement":108,"subroutine":26}]},"363":{"isEmptyAt":[{"branch":8,"pod":9,"subroutine":27,"statement":116,"time":null,"condition":null}]},"486":{"aObjectMethodCallAt":[{"branch":18,"time":null,"condition":2,"statement":143,"subroutine":32,"pod":14}]}},"pod":[[145,"new"],[167,"fileFindModule"],[195,"parse"],[235,"parse0"],[255,"aNamePackage"],[271,"aNameBase"],[291,"hasBaseClass"],[313,"aNameModuleUse"],[331,"packageAt"],[363,"isEmptyAt"],[388,"moduleAt"],[413,"methodCallAt"],[436,"selfMethodCallAt"],[460,"moduleMethodCallAt"],[486,"aObjectMethodCallAt"],[516,"rhRegexExample"],[535,"oLocationSub"],[570,"oLocationSubAt"],[606,"oLocationSubDefinition"],[674,"oLocationPod"],[742,"aMethodCallOf"],[783,"determineLikelyApi"],[806,"determineLikelyApi0"],[884,"mergePackageApiWithBase"],[923,"scoreInterfaceMatch"],[955,"stringSignatureSurveyFromFile"],[996,"stringSignatureSurveyFromSource"],[1032,"oLocationOfNode"],[1058,"aDocumentFind"],[1075,"aNodeFind"],[1099,"oLocationEnclosingSub"],[1134,"cacheSet"],[1154,"cacheGet"]],"subroutine":[[31,"BEGIN"],[32,"BEGIN"],[33,"BEGIN"],[41,"BEGIN"],[42,"BEGIN"],[42,"BEGIN"],[42,"BEGIN"],[43,"BEGIN"],[44,"BEGIN"],[45,"BEGIN"],[46,"BEGIN"],[48,"BEGIN"],[49,"BEGIN"],[50,"BEGIN"],[51,"BEGIN"],[52,"BEGIN"],[53,"BEGIN"],[55,"BEGIN"],[145,"new"],[167,"fileFindModule"],[195,"parse"],[235,"parse0"],[255,"aNamePackage"],[271,"aNameBase"],[291,"hasBaseClass"],[313,"aNameModuleUse"],[331,"packageAt"],[363,"isEmptyAt"],[388,"moduleAt"],[413,"methodCallAt"],[436,"selfMethodCallAt"],[460,"moduleMethodCallAt"],[486,"aObjectMethodCallAt"],[516,"rhRegexExample"],[535,"oLocationSub"],[570,"oLocationSubAt"],[606,"oLocationSubDefinition"],[674,"oLocationPod"],[742,"aMethodCallOf"],[783,"determineLikelyApi"],[806,"determineLikelyApi0"],[884,"mergePackageApiWithBase"],[923,"scoreInterfaceMatch"],[955,"stringSignatureSurveyFromFile"],[985,"_stringReplace"],[996,"stringSignatureSurveyFromSource"],[1032,"oLocationOfNode"],[1058,"aDocumentFind"],[1075,"aNodeFind"],[1099,"oLocationEnclosingSub"],[1134,"cacheSet"],[1154,"cacheGet"]],"digest":"401828a6df74dccfc298cf837a726225","condition":[[441,{"left":"$object","op":"and","right":"$object eq '$self'","type":"and_3"}],[464,{"left":"$module","type":"and_3","right":"$method","op":"and"}],[490,{"type":"and_3","right":"$oMethod","op":"and","left":"$oObject"}],[538,{"left":"$p{'package'}","right":"'main'","type":"or_2","op":"||"}],[544,{"right":"$oLocation->rhProperty->{'namePackage'} eq $package","type":"and_3","op":"and","left":"$oLocation->rhProperty->{'nameSub'} eq $name"}],[574,{"op":"and","right":"$row <= $oLocation->rhProperty->{'oLocationEnd'}->row","type":"and_3","left":"$row >= $oLocation->row"}],[677,{"left":"$p{'ignoreBaseModules'}","right":"0","type":"or_2","op":"||"}],[829,{"op":"and","type":"and_3","right":"not $oNode->forward","left":"$oNode->isa('PPI::Statement::Sub')"}],[1034,{"left":"$extraRow","op":"||=","right":"0","type":"or_2"}],[1035,{"left":"$extraCol","op":"||=","type":"or_2","right":"0"}],[1106,{"left":"$row >= $oLocation->row","right":"$row <= $oLocation->rhProperty->{'oLocationEnd'}->row","type":"and_3","op":"and"}]]}