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

Side by Side Diff: Source/bindings/scripts/IDLParser.pm

Issue 14179013: Add support for [NoInterfaceObject] extended attribute to bindings generator (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Applied Kentaro's comments 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 unified diff | Download patch
OLDNEW
1 # 1 #
2 # KDOM IDL parser 2 # KDOM IDL parser
3 # 3 #
4 # Copyright (C) 2005 Nikolas Zimmermann <wildfox@kde.org> 4 # Copyright (C) 2005 Nikolas Zimmermann <wildfox@kde.org>
5 # 5 #
6 # This library is free software; you can redistribute it and/or 6 # This library is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU Library General Public 7 # modify it under the terms of the GNU Library General Public
8 # License as published by the Free Software Foundation; either 8 # License as published by the Free Software Foundation; either
9 # version 2 of the License, or (at your option) any later version. 9 # version 2 of the License, or (at your option) any later version.
10 # 10 #
(...skipping 807 matching lines...) Expand 10 before | Expand all | Expand 10 after
818 my $next = $self->nextToken(); 818 my $next = $self->nextToken();
819 if ($next->value() eq "typedef") { 819 if ($next->value() eq "typedef") {
820 $self->assertTokenValue($self->getToken(), "typedef", __LINE__); 820 $self->assertTokenValue($self->getToken(), "typedef", __LINE__);
821 my $typedef = Typedef->new(); 821 my $typedef = Typedef->new();
822 $typedef->extendedAttributes($self->parseExtendedAttributeListAllowEmpty ()); 822 $typedef->extendedAttributes($self->parseExtendedAttributeListAllowEmpty ());
823 $typedef->type($self->parseType()); 823 $typedef->type($self->parseType());
824 my $nameToken = $self->getToken(); 824 my $nameToken = $self->getToken();
825 $self->assertTokenType($nameToken, IdentifierToken); 825 $self->assertTokenType($nameToken, IdentifierToken);
826 $self->assertTokenValue($self->getToken(), ";", __LINE__); 826 $self->assertTokenValue($self->getToken(), ";", __LINE__);
827 my $name = $nameToken->value(); 827 my $name = $nameToken->value();
828 die "typedef redefinition for " . $name . " at " . $self->{Line} if exis ts $typedefs{$name}; 828 die "typedef redefinition for " . $name . " at " . $self->{Line} if (exi sts $typedefs{$name} && $typedef->type ne $typedefs{$name}->type);
829 $typedefs{$name} = $typedef; 829 $typedefs{$name} = $typedef;
830 return; 830 return;
831 } 831 }
832 $self->assertUnexpectedToken($next->value(), __LINE__); 832 $self->assertUnexpectedToken($next->value(), __LINE__);
833 } 833 }
834 834
835 sub parseImplementsStatement 835 sub parseImplementsStatement
836 { 836 {
837 my $self = shift; 837 my $self = shift;
838 my $extendedAttributeList = shift; 838 my $extendedAttributeList = shift;
(...skipping 1364 matching lines...) Expand 10 before | Expand all | Expand 10 after
2203 $customConstructor->{overloadedIndex} = $index++; 2203 $customConstructor->{overloadedIndex} = $index++;
2204 push(@{$interface->customConstructors}, $customConstructor); 2204 push(@{$interface->customConstructors}, $customConstructor);
2205 } 2205 }
2206 delete $extendedAttributeList->{"CustomConstructors"}; 2206 delete $extendedAttributeList->{"CustomConstructors"};
2207 $extendedAttributeList->{"CustomConstructor"} = "VALUE_IS_MISSING"; 2207 $extendedAttributeList->{"CustomConstructor"} = "VALUE_IS_MISSING";
2208 } 2208 }
2209 $interface->extendedAttributes($extendedAttributeList); 2209 $interface->extendedAttributes($extendedAttributeList);
2210 } 2210 }
2211 2211
2212 1; 2212 1;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698