Comments (5)
Would you please double-check that those results are from PPI 1.216_01? The results you report are 1.215 behavior that was fixed in 1.216_01 (see #18). With 1.216_01 I get:
ppidump '$foo ||= 0;'
PPI::Document
PPI::Statement
[ 1, 1, 1 ] PPI::Token::Symbol '$foo'
[ 1, 6, 6 ] PPI::Token::Operator '||='
[ 1, 10, 10 ] PPI::Token::Number '0'
[ 1, 11, 11 ] PPI::Token::Structure ';'
Thanks.
from ppi.
The change in parsing of ||= et al. is why I believe ValuesAndExpressions::RequireConstantVersion no longer passes its tests.
More notes I've accumulated on the same general topic:
Subroutines::RequireArgUnpacking has started reporting on:
sub BUILD {
my ($class, $options_ref) = @_;
$options_ref ||= @_;
}
ErrorHandling::RequireCheckingReturnValueOfEval has started warning on:
return ($has_module_cache{"$mod$version"} ||= eval("require $mod; Exporter::require_version('$mod', $version) if ($version); 1"));
ValuesAndExpressions::ProhibitMixedBooleanOperators has stopped reporting:
$LineEnding ||= guess_endings($File) or
$this->{_ErrorMsg} = "message $FileName.", goto done;
from ppi.
Would you please double-check that those results are from PPI 1.216_01?
You were right. I stand corrected.
The change in parsing of ||= et al. is why I believe ValuesAndExpressions::RequireConstantVersion no longer passes its tests.
That's exactly what led me here. Upon further inspection, it appears that we had written a workaround for the problem. And now that the problem is fixed in 1.216_01, I need to remove it.
I will look into those other cases. Thanks for letting me know.
from ppi.
There's also a workaround in ProhibitAugmentedAssignmentInDeclaration. I've been waiting for years to get rid of it, but you're welcome to go ahead without me :-)
from ppi.
I've been waiting for years to get rid of it, but you're welcome to go ahead without me :-)
Done.
from ppi.
Related Issues (20)
- provide delimiters for PPI::Token::QuoteLike::{Words,Regexp,Command}, PPI::Token::Quote::{Literal,Interpolate}
- dies with unicode bare key name HOT 1
- use signatures not supported by PPI HOT 1
- Lexical subroutine doesn't return correct name HOT 2
- Misparse bareword as label HOT 7
- Maybe bump minimum Perl version to 5.008?
- try/catch syntax misparsed
- Extending PPI HOT 2
- Parse DSL as a sub HOT 2
- The Keyword Question HOT 20
- Verify behaviour of BEGIN, UNITCHECK, CHECK, INIT and END
- TODO: tidy everything
- TODO: remove superfluous `#pod` lines
- TODO: verify INHERITANCE documentation for all classes
- TODO: auto-generate copyright, author, contributor notices (see strictures.pm)
- TODO: probably un-inline Inlined $self->__add_element(shift);
- TODO: create test cases for the constructs in Syntax::Construct
- Heredocs are stripped from stringified Document object HOT 1
- QuoteLike::Words->literal returns wrong results after contents change
- have the dependents test test all dependents
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ppi.