Chromium Code Reviews| Index: Source/bindings/scripts/IDLParser.pm |
| diff --git a/Source/bindings/scripts/IDLParser.pm b/Source/bindings/scripts/IDLParser.pm |
| index 42c56360172249d02c88e4082e288333a804f150..94fa23987e1968018afe3a4b4d012ce85d811ba4 100644 |
| --- a/Source/bindings/scripts/IDLParser.pm |
| +++ b/Source/bindings/scripts/IDLParser.pm |
| @@ -75,6 +75,7 @@ struct( domAttribute => { |
| struct( domSignature => { |
| name => '$', # Variable name |
| type => '$', # Variable type |
| + specials => '@', # Specials |
| extendedAttributes => '$', # Extended attributes |
| isOptional => '$', # Is variable optional (optional T) |
| isNullable => '$', # Is variable type Nullable (T?) |
| @@ -1205,12 +1206,14 @@ sub parseSpecialOperation |
| my $next = $self->nextToken(); |
| if ($next->value() =~ /$nextSpecials_1/) { |
| - $self->parseSpecial(); |
| - $self->parseSpecials(); |
| + my $specials = []; |
| + push(@$specials, $self->parseSpecial()); |
|
haraken
2013/04/26 11:47:15
I think this isn't needed.
|
| + push(@$specials, @{$self->parseSpecials()}); |
| my $returnType = $self->parseReturnType(); |
| my $interface = $self->parseOperationRest($extendedAttributeList); |
| if (defined ($interface)) { |
| $interface->signature->type($returnType); |
| + $interface->signature->specials($specials); |
|
haraken
2013/04/26 11:47:15
You can also write:
my @specials = ();
push(@spec
kojih
2013/04/26 12:03:24
I like that style, but it's OK :)
haraken
2013/04/26 12:09:52
Other parts of IDLParser.pm uses 'my @foo=...' sty
|
| } |
| return $interface; |
| } |
| @@ -1220,16 +1223,17 @@ sub parseSpecialOperation |
| sub parseSpecials |
| { |
| my $self = shift; |
| + my $specials = []; |
| while (1) { |
| my $next = $self->nextToken(); |
| if ($next->value() =~ /$nextSpecials_1/) { |
| - $self->parseSpecial(); |
| + push(@$specials, $self->parseSpecial()); |
| } else { |
| last; |
| } |
| } |
| - return []; |
| + return $specials; |
|
haraken
2013/04/26 11:47:15
Ditto. You can write:
my @specials = ();
push(@sp
|
| } |
| sub parseSpecial |