| OLD | NEW | 
|---|
| 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 # | 
| 11 # This library is distributed in the hope that it will be useful, | 11 # This library is distributed in the hope that it will be useful, | 
| 12 # but WITHOUT ANY WARRANTY; without even the implied warranty of | 12 # but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| 13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
| 14 # Library General Public License for more details. | 14 # Library General Public License for more details. | 
| 15 # | 15 # | 
| 16 # You should have received a copy of the GNU Library General Public License | 16 # You should have received a copy of the GNU Library General Public License | 
| 17 # along with this library; see the file COPYING.LIB.  If not, write to | 17 # along with this library; see the file COPYING.LIB.  If not, write to | 
| 18 # the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 18 # the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 
| 19 # Boston, MA 02110-1301, USA. | 19 # Boston, MA 02110-1301, USA. | 
| 20 # | 20 # | 
| 21 | 21 | 
| 22 package deprecated_idl_parser; | 22 package idl_parser; | 
| 23 | 23 | 
| 24 use strict; | 24 use strict; | 
| 25 | 25 | 
| 26 use preprocessor; | 26 use preprocessor; | 
| 27 use Class::Struct; | 27 use Class::Struct; | 
| 28 | 28 | 
| 29 use constant StringToken => 0; | 29 use constant StringToken => 0; | 
| 30 use constant IntegerToken => 1; | 30 use constant IntegerToken => 1; | 
| 31 use constant FloatToken => 2; | 31 use constant FloatToken => 2; | 
| 32 use constant IdentifierToken => 3; | 32 use constant IdentifierToken => 3; | 
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 145 } | 145 } | 
| 146 | 146 | 
| 147 sub assertTokenValue | 147 sub assertTokenValue | 
| 148 { | 148 { | 
| 149     my $self = shift; | 149     my $self = shift; | 
| 150     my $token = shift; | 150     my $token = shift; | 
| 151     my $value = shift; | 151     my $value = shift; | 
| 152     my $line = shift; | 152     my $line = shift; | 
| 153     my $msg = "Next token should be " . $value . ", but " . $token->value() . " 
      at " . $self->{Line}; | 153     my $msg = "Next token should be " . $value . ", but " . $token->value() . " 
      at " . $self->{Line}; | 
| 154     if (defined ($line)) { | 154     if (defined ($line)) { | 
| 155         $msg .= " deprecated_idl_parser.pm:" . $line; | 155         $msg .= " idl_parser.pm:" . $line; | 
| 156     } | 156     } | 
| 157     die $msg unless $token->value() eq $value; | 157     die $msg unless $token->value() eq $value; | 
| 158 } | 158 } | 
| 159 | 159 | 
| 160 sub assertTokenType | 160 sub assertTokenType | 
| 161 { | 161 { | 
| 162     my $self = shift; | 162     my $self = shift; | 
| 163     my $token = shift; | 163     my $token = shift; | 
| 164     my $type = shift; | 164     my $type = shift; | 
| 165     die "Next token's type should be " . $type . ", but " . $token->type() . " a
      t " . $self->{Line} unless $token->type() eq $type; | 165     die "Next token's type should be " . $type . ", but " . $token->type() . " a
      t " . $self->{Line} unless $token->type() eq $type; | 
| 166 } | 166 } | 
| 167 | 167 | 
| 168 sub assertUnexpectedToken | 168 sub assertUnexpectedToken | 
| 169 { | 169 { | 
| 170     my $self = shift; | 170     my $self = shift; | 
| 171     my $token = shift; | 171     my $token = shift; | 
| 172     my $line = shift; | 172     my $line = shift; | 
| 173     my $msg = "Unexpected token " . $token . " at " . $self->{Line}; | 173     my $msg = "Unexpected token " . $token . " at " . $self->{Line}; | 
| 174     if (defined ($line)) { | 174     if (defined ($line)) { | 
| 175         $msg .= " deprecated_idl_parser.pm:" . $line; | 175         $msg .= " idl_parser.pm:" . $line; | 
| 176     } | 176     } | 
| 177     die $msg; | 177     die $msg; | 
| 178 } | 178 } | 
| 179 | 179 | 
| 180 sub assertNoExtendedAttributesInTypedef | 180 sub assertNoExtendedAttributesInTypedef | 
| 181 { | 181 { | 
| 182     my $self = shift; | 182     my $self = shift; | 
| 183     my $name = shift; | 183     my $name = shift; | 
| 184     my $line = shift; | 184     my $line = shift; | 
| 185     my $typedef = $typedefs{$name}; | 185     my $typedef = $typedefs{$name}; | 
| 186     my $msg = "Unexpected extendedAttributeList in typedef \"$name\" at " . $sel
      f->{Line}; | 186     my $msg = "Unexpected extendedAttributeList in typedef \"$name\" at " . $sel
      f->{Line}; | 
| 187     if (defined ($line)) { | 187     if (defined ($line)) { | 
| 188         $msg .= " deprecated_idl_parser.pm:" . $line; | 188         $msg .= " idl_parser.pm:" . $line; | 
| 189     } | 189     } | 
| 190     die $msg if %{$typedef->extendedAttributes}; | 190     die $msg if %{$typedef->extendedAttributes}; | 
| 191 } | 191 } | 
| 192 | 192 | 
| 193 sub Parse | 193 sub Parse | 
| 194 { | 194 { | 
| 195     my $self = shift; | 195     my $self = shift; | 
| 196     my $fileName = shift; | 196     my $fileName = shift; | 
| 197     my $preprocessor = shift; | 197     my $preprocessor = shift; | 
| 198     my $defines = ""; | 198     my $defines = ""; | 
| (...skipping 2041 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2240             $customConstructor->overloadedIndex($index++); | 2240             $customConstructor->overloadedIndex($index++); | 
| 2241             push(@{$interface->customConstructors}, $customConstructor); | 2241             push(@{$interface->customConstructors}, $customConstructor); | 
| 2242         } | 2242         } | 
| 2243         delete $extendedAttributeList->{"CustomConstructors"}; | 2243         delete $extendedAttributeList->{"CustomConstructors"}; | 
| 2244         $extendedAttributeList->{"CustomConstructor"} = "VALUE_IS_MISSING"; | 2244         $extendedAttributeList->{"CustomConstructor"} = "VALUE_IS_MISSING"; | 
| 2245     } | 2245     } | 
| 2246     $interface->extendedAttributes($extendedAttributeList); | 2246     $interface->extendedAttributes($extendedAttributeList); | 
| 2247 } | 2247 } | 
| 2248 | 2248 | 
| 2249 1; | 2249 1; | 
| OLD | NEW | 
|---|