Author: bernhard
Date: Mon Dec 29 11:27:55 2008
New Revision: 34588
Modified:
trunk/examples/pir/quine_ord.pir
trunk/languages/pipp/src/pct/actions.pm
trunk/languages/pipp/t/php/oo.t
Log:
[codingstd] remove a trailing space.
Modified: trunk/examples/pir/quine_ord.pir
==============================================================================
--- trunk/examples/pir/quine_ord.pir (original)
+++ trunk/examples/pir/quine_ord.pir Mon Dec 29 11:27:55 2008
@@ -1434,7 +1434,7 @@
push code_as_data, 44
push code_as_data, 32
push code_as_data, 39
-push code_as_data, 114
+push code_as_data, 114
push code_as_data, 39
push code_as_data, 10
push code_as_data, 32
Modified: trunk/languages/pipp/src/pct/actions.pm
==============================================================================
--- trunk/languages/pipp/src/pct/actions.pm (original)
+++ trunk/languages/pipp/src/pct/actions.pm Mon Dec 29 11:27:55 2008
@@ -409,12 +409,17 @@
}
method member($/) {
- make PAST::Op.new(
- :inline( "%r = self" )
- );
+ make
+ PAST::Op.new(
+ :pasttype('callmethod'),
+ :name('member'),
+ PAST::Var.new(
+ :name('$this'),
+ :scope('lexical')
+ )
+ );
}
-
method while_statement($/) {
my $past := $( $<conditional_expression> );
$past.pasttype('while');
@@ -639,12 +644,42 @@
}
my $methods_block := PAST::Block.new( :blocktype('immediate') );
+
+ # declare the attributes
for $<class_member_definition> {
$methods_block.symbol( ~$_<VAR_NAME><ident>, :scope('attribute') );
+ $methods_block.push(
+ PAST::Var.new(
+ :name(~$_<VAR_NAME><ident>),
+ :scope('attribute'),
+ :isdecl(1)
+ )
+ );
}
+
+ # add the methods
for $<class_method_definition> {
$methods_block.push( $($_) );
}
+
+ # add accessors for the attributes
+ for $<class_member_definition> {
+ $methods_block.push(
+ PAST::Block.new(
+ :blocktype('declaration'),
+ :name(~$_<VAR_NAME><ident>),
+ :pirflags(':method'),
+ :node( $/ ),
+ PAST::Stmts.new(
+ PAST::Var.new(
+ :name(~$_<VAR_NAME><ident>),
+ :scope('attribute')
+ )
+ )
+ )
+ );
+ }
+
$block.push( $methods_block );
make $block;
Modified: trunk/languages/pipp/t/php/oo.t
==============================================================================
--- trunk/languages/pipp/t/php/oo.t (original)
+++ trunk/languages/pipp/t/php/oo.t Mon Dec 29 11:27:55 2008
@@ -152,7 +152,7 @@
}
$foo = new Foo;
-$foo->echo_menber();
+$foo->echo_member();
?>
CODE