Declare versions for classes and roles #6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a change that allows you to declare version numbers for your classes and roles, similar to the
package Foo v1.2.3
syntax.Using MX::D, you can now say
class Foo v1.2.3 { ... }
orrole Bar v1.2.3
. The version numbers must appear before any options, but otherwiseextends
andwith
and so forth work fine.The parser creates a
version
object from the supplied version number and uses it to alter the generatedpackage
statement behind-the-scenes, so you end up with something looking like{ package Foo v1.2.3; ... }
.It's a pretty rough sketch of the feature, but it works. I'd love to hear any additional ideas for it.
I added t/version.t to test it.
Mike