summaryrefslogtreecommitdiffstats
path: root/contrib/dom/scripts/IDLParser.pm
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2013-09-01 19:18:36 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2013-09-01 19:18:36 (GMT)
commitfd0778237785840ec754f98e847a524590cbf61c (patch)
treeebf4609be11843f9657810515d47faa3873c2db8 /contrib/dom/scripts/IDLParser.pm
parent99d2c52f1068b2dd4bd16b8c1c8231beeb94a649 (diff)
downloaduscxml-fd0778237785840ec754f98e847a524590cbf61c.zip
uscxml-fd0778237785840ec754f98e847a524590cbf61c.tar.gz
uscxml-fd0778237785840ec754f98e847a524590cbf61c.tar.bz2
More work on TypedArrays
Diffstat (limited to 'contrib/dom/scripts/IDLParser.pm')
-rw-r--r--contrib/dom/scripts/IDLParser.pm8
1 files changed, 6 insertions, 2 deletions
diff --git a/contrib/dom/scripts/IDLParser.pm b/contrib/dom/scripts/IDLParser.pm
index 654c920..61fab7b 100644
--- a/contrib/dom/scripts/IDLParser.pm
+++ b/contrib/dom/scripts/IDLParser.pm
@@ -25,6 +25,7 @@ use strict;
use preprocessor;
use Class::Struct;
+use Data::Dumper;
use constant StringToken => 0;
use constant IntegerToken => 1;
@@ -75,6 +76,7 @@ struct( domSignature => {
type => '$', # Variable type
extendedAttributes => '$', # Extended attributes
isNullable => '$', # Is variable type Nullable (T?)
+ isOptional => '$', # Is variable optional (T?)
isVariadic => '$' # Is variable variadic (long... numbers)
});
@@ -1282,6 +1284,8 @@ sub parseOptionalOrRequiredArgument
$paramDataNode->type($type);
$paramDataNode->name($self->parseArgumentName());
$self->parseDefault();
+ $paramDataNode->isOptional(1);
+# print Dumper($paramDataNode);
return $paramDataNode;
}
if ($next->type() == IdentifierToken || $next->value() =~ /$nextExceptionField_1/) {
@@ -2431,8 +2435,8 @@ sub applyExtendedAttributeList
$constructor->{overloadedIndex} = $index++;
push(@{$interface->constructors}, $constructor);
}
- delete $extendedAttributeList->{"Constructors"};
- $extendedAttributeList->{"Constructor"} = "VALUE_IS_MISSING";
+ # delete $extendedAttributeList->{"Constructors"};
+ # $extendedAttributeList->{"Constructor"} = "VALUE_IS_MISSING";
} elsif (defined $extendedAttributeList->{"NamedConstructor"}) {
my $newDataNode = domFunction->new();
$newDataNode->signature(domSignature->new());