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 18636002: Remove multiple inheritance support from the bindings generator (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 6 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/CodeGeneratorV8.pm ('k') | no next file » | 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 26f7a7654074d8434618e9e2bbb9828a91d2b321..32323c7522fef140a4aec1398f8370ba063ef515 100644
--- a/Source/bindings/scripts/IDLParser.pm
+++ b/Source/bindings/scripts/IDLParser.pm
@@ -50,7 +50,7 @@ struct( callbackFunction => {
# Used to represent 'interface' blocks
struct( domInterface => {
name => '$', # Class identifier
- parents => '@', # List of strings
+ parent => '$', # Parent class identifier
constants => '@', # List of 'domConstant'
functions => '@', # List of 'domFunction'
attributes => '@', # List of 'domAttribute'
@@ -515,7 +515,7 @@ sub parseInterface
my $interfaceNameToken = $self->getToken();
$self->assertTokenType($interfaceNameToken, IdentifierToken);
$interface->name($interfaceNameToken->value());
- push(@{$interface->parents}, @{$self->parseInheritance()});
+ $interface->parent($self->parseInheritance());
$self->assertTokenValue($self->getToken(), "{", __LINE__);
my $interfaceMembers = $self->parseInterfaceMembers();
$self->assertTokenValue($self->getToken(), "}", __LINE__);
@@ -713,7 +713,7 @@ sub parseException
$self->assertTokenType($exceptionNameToken, IdentifierToken);
$interface->name($exceptionNameToken->value());
$interface->isException(1);
- push(@{$interface->parents}, @{$self->parseInheritance()});
+ $interface->parent($self->parseInheritance());
$self->assertTokenValue($self->getToken(), "{", __LINE__);
my $exceptionMembers = $self->parseExceptionMembers();
$self->assertTokenValue($self->getToken(), "}", __LINE__);
@@ -749,17 +749,14 @@ sub parseExceptionMembers
sub parseInheritance
{
my $self = shift;
- my @parent = ();
+ my $parent;
my $next = $self->nextToken();
if ($next->value() eq ":") {
$self->assertTokenValue($self->getToken(), ":", __LINE__);
- my $scopedName = $self->parseScopedName();
- push(@parent, $scopedName);
- # Multiple inheritance?
- push(@parent, @{$self->parseIdentifiers()});
+ $parent = $self->parseScopedName();
}
- return \@parent;
+ return $parent;
}
sub parseEnum
« no previous file with comments | « Source/bindings/scripts/CodeGeneratorV8.pm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698