diff --git a/mozilla/js/js2/tools/icode_query.pl b/mozilla/js/js2/tools/icode_query.pl new file mode 100644 index 00000000000..32500fe72bb --- /dev/null +++ b/mozilla/js/js2/tools/icode_query.pl @@ -0,0 +1,56 @@ +#!/usr/bin/perl +# +# The contents of this file are subject to the Netscape Public +# License Version 1.1 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.mozilla.org/NPL/ +# +# Software distributed under the License is distributed on an "AS +# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr +# implied. See the License for the specific language governing +# rights and limitations under the License. +# +# The Original Code is JavaScript Core Tests. +# +# The Initial Developer of the Original Code is Netscape +# Communications Corporation. Portions created by Netscape are +# Copyright (C) 1997-1999 Netscape Communications Corporation. All +# Rights Reserved. +# +# Alternatively, the contents of this file may be used under the +# terms of the GNU Public License (the "GPL"), in which case the +# provisions of the GPL are applicable instead of those above. +# If you wish to allow use of your version of this file only +# under the terms of the GPL and not to allow others to use your +# version of this file under the NPL, indicate your decision by +# deleting the provisions above and replace them with the notice +# and other provisions required by the GPL. If you do not delete +# the provisions above, a recipient may use your version of this +# file under either the NPL or the GPL. +# +# Contributers: +# + +use strict; +use jsicodes; + +&query_types(); + +sub query_types { + # shows types used by all icodes + my $k; + my %types; + + for $k (sort(keys(%jsicodes::ops))) { + my $c = $jsicodes::ops{$k}; + if ($c->{"params"}) { + my @params = @{$c->{"params"}}; + my $p; + for $p (@params) { + $types{$p} = 1; + } + } + } + + print ("types used: " . join (", ", sort(keys(%types))) . "\n" ); +} diff --git a/mozilla/js2/tools/icode_query.pl b/mozilla/js2/tools/icode_query.pl new file mode 100644 index 00000000000..32500fe72bb --- /dev/null +++ b/mozilla/js2/tools/icode_query.pl @@ -0,0 +1,56 @@ +#!/usr/bin/perl +# +# The contents of this file are subject to the Netscape Public +# License Version 1.1 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.mozilla.org/NPL/ +# +# Software distributed under the License is distributed on an "AS +# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr +# implied. See the License for the specific language governing +# rights and limitations under the License. +# +# The Original Code is JavaScript Core Tests. +# +# The Initial Developer of the Original Code is Netscape +# Communications Corporation. Portions created by Netscape are +# Copyright (C) 1997-1999 Netscape Communications Corporation. All +# Rights Reserved. +# +# Alternatively, the contents of this file may be used under the +# terms of the GNU Public License (the "GPL"), in which case the +# provisions of the GPL are applicable instead of those above. +# If you wish to allow use of your version of this file only +# under the terms of the GPL and not to allow others to use your +# version of this file under the NPL, indicate your decision by +# deleting the provisions above and replace them with the notice +# and other provisions required by the GPL. If you do not delete +# the provisions above, a recipient may use your version of this +# file under either the NPL or the GPL. +# +# Contributers: +# + +use strict; +use jsicodes; + +&query_types(); + +sub query_types { + # shows types used by all icodes + my $k; + my %types; + + for $k (sort(keys(%jsicodes::ops))) { + my $c = $jsicodes::ops{$k}; + if ($c->{"params"}) { + my @params = @{$c->{"params"}}; + my $p; + for $p (@params) { + $types{$p} = 1; + } + } + } + + print ("types used: " . join (", ", sort(keys(%types))) . "\n" ); +}