Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(339)

Unified Diff: Source/bindings/scripts/IDLParser.pm

Issue 14044026: Ready for latest WebIDL for named property getters. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink@master
Patch Set: fixed spaces Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/bindings/scripts/IDLAttributes.txt ('k') | Source/bindings/tests/idls/TestEventTarget.idl » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/bindings/scripts/IDLParser.pm
diff --git a/Source/bindings/scripts/IDLParser.pm b/Source/bindings/scripts/IDLParser.pm
index 42c56360172249d02c88e4082e288333a804f150..aaf86501840d24c489d040e5ec273dabd531d236 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,13 @@ sub parseSpecialOperation
my $next = $self->nextToken();
if ($next->value() =~ /$nextSpecials_1/) {
- $self->parseSpecial();
- $self->parseSpecials();
+ my @specials = ();
+ push(@specials, @{$self->parseSpecials()});
my $returnType = $self->parseReturnType();
my $interface = $self->parseOperationRest($extendedAttributeList);
if (defined ($interface)) {
$interface->signature->type($returnType);
+ $interface->signature->specials(\@specials);
}
return $interface;
}
@@ -1220,16 +1222,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;
}
sub parseSpecial
« no previous file with comments | « Source/bindings/scripts/IDLAttributes.txt ('k') | Source/bindings/tests/idls/TestEventTarget.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698