~ubuntu-branches/ubuntu/trusty/enigmail/trusty-updates

« back to all changes in this revision

Viewing changes to config/static-checking.js

  • Committer: Package Import Robot
  • Author(s): Chris Coulson
  • Date: 2011-06-07 14:35:53 UTC
  • mfrom: (0.12.1 upstream)
  • Revision ID: package-import@ubuntu.com-20110607143553-fbgqhhvh8g8h6j1y
Tags: 2:1.2~a2~cvs20110606t2200-0ubuntu1
* Update to latest trunk snapshot for Thunderbird beta compat

* Remove build/pgo/profileserver.py from debian/clean. The new build
  system has a target depending on this
  - update debian/clean
* Drop debian/patches/autoconf.diff, just generate this at build time
* Refresh debian/patches/build_system_dont_link_libxul.diff
* libipc seems to be renamed to libipc-pipe. Fix genxpi and chrome.manifest
  to fix this 
  - add debian/patches/ipc-pipe_rename.diff
  - update debian/patches/series
* The makefiles in extensions/enigmail/ipc have an incorrect DEPTH
  attribute. Fix this so that they can find the rest of the build system
  - add debian/patches/makefile_depth.diff
  - update debian/patches/series
* Drop debian/patches/makefile-in-empty-xpcom-fix.diff - fixed in the
  current version
* Don't register a class ID multiple times, as this breaks enigmail entirely
  - add debian/patches/dont_register_cids_multiple_times.diff
  - update debian/patches/series
* Look for the Thunderbird 5 SDK
  - update debian/rules
  - update debian/control
* Run autoconf2.13 at build time
  - update debian/rules
  - update debian/control
* Add useless mesa-common-dev build-dep, just to satisfy the build system.
  We should just patch this out entirely really, but that's for another upload
  - update debian/control

Show diffs side-by-side

added added

removed removed

Lines of Context:
10
10
  return this.hasOwnProperty('TREE_CODE');
11
11
}
12
12
 
13
 
include('unstable/getopt.js');
14
 
[options, args] = getopt();
15
 
 
16
13
sys.include_path.push(options.topsrcdir);
17
14
 
18
15
include('string-format.js');
63
60
  if (m1.shortName != m2.shortName)
64
61
    return false;
65
62
 
66
 
  if (m1.isVirtual != m2.isVirtual)
 
63
  if ((!!m1.isVirtual) != (!!m2.isVirtual))
67
64
    return false;
68
65
  
69
66
  if (m1.isStatic != m2.isStatic)
71
68
  
72
69
  let p1 = m1.type.parameters;
73
70
  let p2 = m2.type.parameters;
74
 
  
 
71
 
75
72
  if (p1.length != p2.length)
76
73
    return false;
77
74
  
78
75
  for (let i = 0; i < p1.length; ++i)
79
 
    if (p1[i] !== p2[i])
80
 
      return false;
81
 
  
82
 
  return true;
 
76
    if (!params_match(p1[i], p2[i]))
 
77
      return false;
 
78
 
 
79
  return true;
 
80
}
 
81
 
 
82
function params_match(p1, p2)
 
83
{
 
84
  [p1, p2] = unwrap_types(p1, p2);
 
85
 
 
86
  for (let i in p1)
 
87
    if (i == "type" && !types_match(p1.type, p2.type))
 
88
      return false;
 
89
    else if (i != "type" && p1[i] !== p2[i])
 
90
      return false;
 
91
 
 
92
  for (let i in p2)
 
93
    if (!(i in p1))
 
94
      return false;
 
95
 
 
96
  return true;
 
97
}
 
98
 
 
99
function types_match(t1, t2)
 
100
{
 
101
  if (!t1 || !t2)
 
102
    return false;
 
103
 
 
104
  [t1, t2] = unwrap_types(t1, t2);
 
105
 
 
106
  return t1 === t2;
 
107
}
 
108
 
 
109
function unwrap_types(t1, t2)
 
110
{
 
111
  while (t1.variantOf)
 
112
    t1 = t1.variantOf;
 
113
 
 
114
  while (t2.variantOf)
 
115
    t2 = t2.variantOf;
 
116
 
 
117
  return [t1, t2];
83
118
}
84
119
 
85
120
const forward_functions = [