You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by ma...@apache.org on 2011/01/14 20:38:31 UTC
[lucy-commits] svn commit: r1059138 - in
/incubator/lucy/trunk/clownfish/lib/Clownfish/Binding/Perl: Constructor.pm
Method.pm Subroutine.pm
Author: marvin
Date: Fri Jan 14 19:38:31 2011
New Revision: 1059138
URL: http://svn.apache.org/viewvc?rev=1059138&view=rev
Log:
Remove extra bracketed scope in XS binding wrapper functions, since we no
longer need to adhere to C89 declaration-before-statement rules.
Modified:
incubator/lucy/trunk/clownfish/lib/Clownfish/Binding/Perl/Constructor.pm
incubator/lucy/trunk/clownfish/lib/Clownfish/Binding/Perl/Method.pm
incubator/lucy/trunk/clownfish/lib/Clownfish/Binding/Perl/Subroutine.pm
Modified: incubator/lucy/trunk/clownfish/lib/Clownfish/Binding/Perl/Constructor.pm
URL: http://svn.apache.org/viewvc/incubator/lucy/trunk/clownfish/lib/Clownfish/Binding/Perl/Constructor.pm?rev=1059138&r1=1059137&r2=1059138&view=diff
==============================================================================
--- incubator/lucy/trunk/clownfish/lib/Clownfish/Binding/Perl/Constructor.pm (original)
+++ incubator/lucy/trunk/clownfish/lib/Clownfish/Binding/Perl/Constructor.pm Fri Jan 14 19:38:31 2011
@@ -67,7 +67,7 @@ sub xsub_def {
my @var_assignments;
my @refcount_mods;
my $allot_params = qq|chy_bool_t args_ok = XSBind_allot_params(\n|
- . qq| &(ST(0)), 1, items, "$params_hash_name",\n|;
+ . qq| &(ST(0)), 1, items, "$params_hash_name",\n|;
# Iterate over args in param list.
for ( my $i = 1; $i <= $#$arg_vars; $i++ ) {
@@ -79,25 +79,25 @@ sub xsub_def {
my $len = length $name;
# Create snippet for extracting sv from stack, if supplied.
- $allot_params .= qq| &$sv_name, "$name", $len,\n|;
+ $allot_params .= qq| &$sv_name, "$name", $len,\n|;
# Create code for determining and validating value.
my $statement = from_perl( $type, $name, $sv_name );
if ( defined $val ) {
my $assignment = qq|if ($sv_name && XSBind_sv_defined($sv_name)) {
- $statement
- }
- else {
- $name = $val;
- }|;
+ $statement
+ }
+ else {
+ $name = $val;
+ }|;
push @var_assignments, $assignment;
}
else {
my $assignment
= qq#if ( !$sv_name || !XSBind_sv_defined($sv_name) ) {
- CFISH_THROW(CFISH_ERR, "Missing required param '$name'");
- }
- $statement#;
+ CFISH_THROW(CFISH_ERR, "Missing required param '$name'");
+ }
+ $statement#;
push @var_assignments, $assignment;
}
@@ -106,7 +106,7 @@ sub xsub_def {
push @refcount_mods, "if ($name) { LUCY_INCREF($name); }";
}
}
- $allot_params .= " NULL);";
+ $allot_params .= " NULL);";
# Last, so that earlier exceptions while fetching params don't trigger bad
# DESTROY.
@@ -115,9 +115,8 @@ sub xsub_def {
push @var_assignments,
qq|self = ($self_type)XSBind_new_blank_obj( ST(0) );|;
- # Bundle up variable assignment statments.
- my $var_assignments = join( "\n ", @var_assignments );
- my $refcount_mods = join( "\n ", @refcount_mods );
+ # Bundle up variable assignment statments and refcount modifications.
+ my $var_assignments = join( "\n ", @var_assignments, @refcount_mods );
return <<END_STUFF;
XS($c_name);
@@ -128,25 +127,24 @@ XS($c_name)
CHY_UNUSED_VAR(ax);
if (items < 1) { CFISH_THROW(CFISH_ERR, "Usage: %s(class_name, ...)", GvNAME(CvGV(cv))); }
SP -= items;
- {
- $var_declarations
- $allot_params
- if (!args_ok) {
- CFISH_RETHROW(LUCY_INCREF(cfish_Err_get_error()));
- }
- $var_assignments
- $refcount_mods
- retval = $func_sym($name_list);
- if (retval) {
- ST(0) = (SV*)Cfish_Obj_To_Host((cfish_Obj*)retval);
- Cfish_Obj_Dec_RefCount((cfish_Obj*)retval);
- }
- else {
- ST(0) = newSV(0);
- }
- sv_2mortal( ST(0) );
- XSRETURN(1);
+
+ $var_declarations
+ $allot_params
+ if (!args_ok) {
+ CFISH_RETHROW(LUCY_INCREF(cfish_Err_get_error()));
+ }
+ $var_assignments
+
+ retval = $func_sym($name_list);
+ if (retval) {
+ ST(0) = (SV*)Cfish_Obj_To_Host((cfish_Obj*)retval);
+ Cfish_Obj_Dec_RefCount((cfish_Obj*)retval);
+ }
+ else {
+ ST(0) = newSV(0);
}
+ sv_2mortal( ST(0) );
+ XSRETURN(1);
}
END_STUFF
Modified: incubator/lucy/trunk/clownfish/lib/Clownfish/Binding/Perl/Method.pm
URL: http://svn.apache.org/viewvc/incubator/lucy/trunk/clownfish/lib/Clownfish/Binding/Perl/Method.pm?rev=1059138&r1=1059137&r2=1059138&view=diff
==============================================================================
--- incubator/lucy/trunk/clownfish/lib/Clownfish/Binding/Perl/Method.pm (original)
+++ incubator/lucy/trunk/clownfish/lib/Clownfish/Binding/Perl/Method.pm Fri Jan 14 19:38:31 2011
@@ -75,12 +75,12 @@ sub _xsub_body {
next unless $arg_type->is_object;
next unless $arg_type->decremented;
my $var_name = $arg_var->micro_sym;
- $body .= "if ($var_name) (void)LUCY_INCREF($var_name);\n ";
+ $body .= "if ($var_name) (void)LUCY_INCREF($var_name);\n ";
}
if ( $method->void ) {
# Invoke method in void context.
- $body .= qq|$full_func_sym($name_list);\n| . qq| XSRETURN(0);|;
+ $body .= qq|$full_func_sym($name_list);\n| . qq| XSRETURN(0);|;
}
else {
# Return a value for method invoked in a scalar context.
@@ -91,9 +91,9 @@ sub _xsub_body {
$decrement = "LUCY_DECREF(retval);\n";
}
$body .= qq|retval = $full_func_sym($name_list);
- $retval_assignment$decrement
- sv_2mortal( ST(0) );
- XSRETURN(1);|
+ $retval_assignment$decrement
+ sv_2mortal( ST(0) );
+ XSRETURN(1);|
}
return $body;
@@ -152,11 +152,11 @@ sub _xsub_def_positional_args {
if ( defined $val ) {
$statement
= qq| if ( items >= $i && XSBind_sv_defined(ST($i)) ) {
- $statement
- }
- else {
- $var_name = $val;
- }|;
+ $statement
+ }
+ else {
+ $var_name = $val;
+ }|;
}
push @var_assignments, $statement;
}
@@ -171,14 +171,13 @@ XS($c_name)
CHY_UNUSED_VAR(ax);
SP -= items;
$num_args_check;
- {
- /* Extract vars from Perl stack. */
- $var_declarations
- $var_assignments
- /* Execute */
- $body
- }
+ /* Extract vars from Perl stack. */
+ $var_declarations
+ $var_assignments
+
+ /* Execute */
+ $body
}
END_STUFF
}
@@ -208,7 +207,7 @@ sub _xsub_def_labeled_params {
= _self_assign_statement( $self_type, $self->{method}->micro_sym );
my @var_assignments;
my $allot_params = qq|chy_bool_t args_ok = XSBind_allot_params(\n|
- . qq| &(ST(0)), 1, items, "$params_hash_name",\n|;
+ . qq| &(ST(0)), 1, items, "$params_hash_name",\n|;
# Iterate over args in param list.
for ( my $i = 1; $i <= $#$arg_vars; $i++ ) {
@@ -220,31 +219,31 @@ sub _xsub_def_labeled_params {
my $len = length $name;
# Code for extracting sv from stack, if supplied.
- $allot_params .= qq| &$sv_name, "$name", $len,\n|;
+ $allot_params .= qq| &$sv_name, "$name", $len,\n|;
# Code for determining and validating value.
my $statement = from_perl( $type, $name, $sv_name );
if ( defined $val ) {
my $assignment
- = qq|if ( $sv_name && XSBind_sv_defined($sv_name) ) {
- $statement;
- }
- else {
- $name = $val;
- }|;
+ = qq|if ( $sv_name && XSBind_sv_defined($sv_name) ) {
+ $statement;
+ }
+ else {
+ $name = $val;
+ }|;
push @var_assignments, $assignment;
}
else {
my $assignment
= qq#if ( !$sv_name || !XSBind_sv_defined($sv_name) ) { #
. qq#CFISH_THROW(CFISH_ERR, "Missing required param '$name'"); }\n#
- . qq# $statement;#;
+ . qq# $statement;#;
push @var_assignments, $assignment;
}
}
- $allot_params .= " NULL);";
+ $allot_params .= " NULL);";
my $var_assignments
- = join( "\n ", $self_assignment, @var_assignments, );
+ = join( "\n ", $self_assignment, @var_assignments, );
return <<END_STUFF;
XS($c_name);
@@ -255,18 +254,17 @@ XS($c_name)
CHY_UNUSED_VAR(ax);
$num_args_check;
SP -= items;
- {
- /* Extract vars from Perl stack. */
- $var_declarations
- $allot_params
- if (!args_ok) {
- CFISH_RETHROW(LUCY_INCREF(cfish_Err_get_error()));
- }
- $var_assignments
- /* Execute */
- $body
+ /* Extract vars from Perl stack. */
+ $var_declarations
+ $allot_params
+ if (!args_ok) {
+ CFISH_RETHROW(LUCY_INCREF(cfish_Err_get_error()));
}
+ $var_assignments
+
+ /* Execute */
+ $body
}
END_STUFF
}
Modified: incubator/lucy/trunk/clownfish/lib/Clownfish/Binding/Perl/Subroutine.pm
URL: http://svn.apache.org/viewvc/incubator/lucy/trunk/clownfish/lib/Clownfish/Binding/Perl/Subroutine.pm?rev=1059138&r1=1059137&r2=1059138&view=diff
==============================================================================
--- incubator/lucy/trunk/clownfish/lib/Clownfish/Binding/Perl/Subroutine.pm (original)
+++ incubator/lucy/trunk/clownfish/lib/Clownfish/Binding/Perl/Subroutine.pm Fri Jan 14 19:38:31 2011
@@ -111,7 +111,7 @@ sub var_declarations {
map { "SV* " . $_->micro_sym . "_sv = NULL;" }
@$arg_vars[ 1 .. $#$arg_vars ];
}
- return join( "\n ", @var_declarations );
+ return join( "\n ", @var_declarations );
}
sub xsub_def { confess "Abstract method" }