Skip to content

Commit

Permalink
Reduce number of NEXTSTATE ops in the constructor (RT#105880)
Browse files Browse the repository at this point in the history
  • Loading branch information
ilmari committed Jul 27, 2015
1 parent fca5c15 commit f9fd856
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 18 deletions.
30 changes: 15 additions & 15 deletions lib/Method/Generate/Accessor.pm
Expand Up @@ -518,49 +518,49 @@ sub _generate_populate_set {
)
}
($spec->{isa}
? " {\n my \$value = ".$get_value.";\n "
? " do {\n my \$value = ".$get_value.";\n "
.$self->_generate_isa_check(
$name, '$value', $spec->{isa}, $init_arg
).";\n"
).",\n"
.' '.$self->_generate_simple_set($me, $name, $spec, '$value').";\n"
." }\n"
: ' '.$self->_generate_simple_set($me, $name, $spec, $get_value).";\n"
." },\n"
: ' ('.$self->_generate_simple_set($me, $name, $spec, $get_value)."),\n"
)
.($spec->{trigger}
? ' '
? " ((${test}) and ("
.$self->_generate_trigger(
$name, $me, $self->_generate_simple_get($me, $name, $spec),
$spec->{trigger}
)." if ${test};\n"
).")),\n"
: ''
);
} else {
" if (${test}) {\n"
" ((${test}) and (\n"
.($spec->{coerce}
? " $source = "
? " ($source = "
.$self->_generate_coerce(
$name, $source,
$spec->{coerce}, $init_arg
).";\n"
)."),\n"
: ""
)
.($spec->{isa}
? " "
? " ("
.$self->_generate_isa_check(
$name, $source, $spec->{isa}, $init_arg
).";\n"
)."),\n"
: ""
)
." ".$self->_generate_simple_set($me, $name, $spec, $source).";\n"
." (".$self->_generate_simple_set($me, $name, $spec, $source)."),\n"
.($spec->{trigger}
? " "
? " ("
.$self->_generate_trigger(
$name, $me, $self->_generate_simple_get($me, $name, $spec),
$spec->{trigger}
).";\n"
)."),\n"
: ""
)
." }\n";
." )),\n";
}
}

Expand Down
6 changes: 3 additions & 3 deletions lib/Method/Generate/BuildAll.pm
Expand Up @@ -28,9 +28,9 @@ sub buildall_body_for {
grep *{_getglob($_)}{CODE},
map "${_}::BUILD",
reverse @{mro::get_linear_isa($into)};
' unless (('.$args.')[0]->{__no_BUILD__}) {'."\n"
.join('', map qq{ ${me}->${_}(${args});\n}, @builds)
." }\n";
' (('.$args.')[0]->{__no_BUILD__} or ('."\n"
.join('', map qq{ ${me}->${_}(${args}),\n}, @builds)
." )),\n";
}

1;

0 comments on commit f9fd856

Please sign in to comment.