summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/WebIDL/valid/xml/overloading.widlprocxml
blob: db6da7a68c779c285eca1dc311987b34f2e8fcf5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Definitions SYSTEM "widlprocxml.dtd">
<Definitions>
  <webidl>interface A {
};

interface B {
};

interface C {
  void f(<ref>A</ref> x);
  void f(<ref>B</ref> x);
};

interface A {
void f(DOMString a);
void f([AllowAny] DOMString a, DOMString b, float... c);
void f();
void f(long a, DOMString b, optional DOMString c, float... d);
};</webidl>
  <Interface name="A" id="::A">
    <webidl>interface A {
};</webidl>
  </Interface>
  <Interface name="B" id="::B">
    <webidl>interface B {
};</webidl>
  </Interface>
  <Interface name="C" id="::C">
    <webidl>interface C {
  void f(<ref>A</ref> x);
  void f(<ref>B</ref> x);
};</webidl>
    <Operation name="f" id="::C::f">
      <webidl>  void f(<ref>A</ref> x);</webidl>
      <Type type="void"/>
      <ArgumentList>
        <Argument name="x">
          <Type name="A"/>
        </Argument>
      </ArgumentList>
    </Operation>
    <Operation name="f" id="::C::f">
      <webidl>  void f(<ref>B</ref> x);</webidl>
      <Type type="void"/>
      <ArgumentList>
        <Argument name="x">
          <Type name="B"/>
        </Argument>
      </ArgumentList>
    </Operation>
  </Interface>
  <Interface name="A" id="::A">
    <webidl>interface A {
void f(DOMString a);
void f([AllowAny] DOMString a, DOMString b, float... c);
void f();
void f(long a, DOMString b, optional DOMString c, float... d);
};</webidl>
    <Operation name="f" id="::A::f">
      <webidl> void f(DOMString a);</webidl>
      <Type type="void"/>
      <ArgumentList>
        <Argument name="a">
          <Type type="DOMString"/>
        </Argument>
      </ArgumentList>
    </Operation>
    <Operation name="f" id="::A::f">
      <webidl> void f([AllowAny] DOMString a, DOMString b, float... c);</webidl>
      <Type type="void"/>
      <ArgumentList>
        <Argument name="a">
          <ExtendedAttributeList>
            <ExtendedAttribute name="AllowAny">
              <webidl>AllowAny</webidl>
            </ExtendedAttribute>
          </ExtendedAttributeList>
          <Type type="DOMString"/>
        </Argument>
        <Argument name="b">
          <Type type="DOMString"/>
        </Argument>
        <Argument ellipsis="ellipsis" name="c">
          <Type type="float"/>
        </Argument>
      </ArgumentList>
    </Operation>
    <Operation name="f" id="::A::f">
      <webidl> void f();</webidl>
      <Type type="void"/>
      <ArgumentList/>
    </Operation>
    <Operation name="f" id="::A::f">
      <webidl> void f(long a, DOMString b, optional DOMString c, float... d);</webidl>
      <Type type="void"/>
      <ArgumentList>
        <Argument name="a">
          <Type type="long"/>
        </Argument>
        <Argument name="b">
          <Type type="DOMString"/>
        </Argument>
        <Argument optional="optional" name="c">
          <Type type="DOMString"/>
        </Argument>
        <Argument ellipsis="ellipsis" name="d">
          <Type type="float"/>
        </Argument>
      </ArgumentList>
    </Operation>
  </Interface>
</Definitions>