1*b1cdbd2cSJim Jagielski#**************************************************************
2*b1cdbd2cSJim Jagielski#
3*b1cdbd2cSJim Jagielski#  Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski#  or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski#  distributed with this work for additional information
6*b1cdbd2cSJim Jagielski#  regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski#  to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski#  "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski#  with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski#
11*b1cdbd2cSJim Jagielski#    http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski#
13*b1cdbd2cSJim Jagielski#  Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski#  software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski#  KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski#  specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski#  under the License.
19*b1cdbd2cSJim Jagielski#
20*b1cdbd2cSJim Jagielski#**************************************************************
21*b1cdbd2cSJim Jagielski
22*b1cdbd2cSJim JagielskiEXPECT SUCCESS "constructor.tests 1":
23*b1cdbd2cSJim Jagielskiinterface X {};
24*b1cdbd2cSJim Jagielskiservice S: X;
25*b1cdbd2cSJim Jagielski
26*b1cdbd2cSJim Jagielski
27*b1cdbd2cSJim JagielskiEXPECT SUCCESS "constructor.tests 2":
28*b1cdbd2cSJim Jagielskiinterface X {};
29*b1cdbd2cSJim Jagielskiservice S: X {};
30*b1cdbd2cSJim Jagielski
31*b1cdbd2cSJim Jagielski
32*b1cdbd2cSJim JagielskiEXPECT SUCCESS "constructor.tests 3":
33*b1cdbd2cSJim Jagielskiinterface X {};
34*b1cdbd2cSJim Jagielskiservice S: X {
35*b1cdbd2cSJim Jagielski    f();
36*b1cdbd2cSJim Jagielski};
37*b1cdbd2cSJim Jagielski
38*b1cdbd2cSJim Jagielski
39*b1cdbd2cSJim JagielskiEXPECT FAILURE "constructor.tests 4":
40*b1cdbd2cSJim Jagielskiinterface X {};
41*b1cdbd2cSJim Jagielskiservice S: X {
42*b1cdbd2cSJim Jagielski    f();
43*b1cdbd2cSJim Jagielski    f();
44*b1cdbd2cSJim Jagielski};
45*b1cdbd2cSJim Jagielski
46*b1cdbd2cSJim Jagielski
47*b1cdbd2cSJim JagielskiEXPECT FAILURE "constructor.tests 5":
48*b1cdbd2cSJim Jagielskiinterface X {
49*b1cdbd2cSJim Jagielski    void f([in] any... p);
50*b1cdbd2cSJim Jagielski};
51*b1cdbd2cSJim Jagielski
52*b1cdbd2cSJim Jagielski
53*b1cdbd2cSJim JagielskiEXPECT FAILURE "constructor.tests 6":
54*b1cdbd2cSJim Jagielskiinterface X {
55*b1cdbd2cSJim Jagielski    void f([out] any... p);
56*b1cdbd2cSJim Jagielski};
57*b1cdbd2cSJim Jagielski
58*b1cdbd2cSJim Jagielski
59*b1cdbd2cSJim JagielskiEXPECT SUCCESS "constructor.tests 7":
60*b1cdbd2cSJim Jagielskiinterface X {};
61*b1cdbd2cSJim Jagielskiservice S: X {
62*b1cdbd2cSJim Jagielski    f([in] any... p);
63*b1cdbd2cSJim Jagielski};
64*b1cdbd2cSJim Jagielski
65*b1cdbd2cSJim Jagielski
66*b1cdbd2cSJim JagielskiEXPECT SUCCESS "constructor.tests 8":
67*b1cdbd2cSJim Jagielskiinterface X {};
68*b1cdbd2cSJim Jagielskitypedef any some;
69*b1cdbd2cSJim Jagielskiservice S: X {
70*b1cdbd2cSJim Jagielski    f([in] some... p);
71*b1cdbd2cSJim Jagielski};
72*b1cdbd2cSJim Jagielski
73*b1cdbd2cSJim Jagielski
74*b1cdbd2cSJim JagielskiEXPECT FAILURE "constructor.tests 9":
75*b1cdbd2cSJim Jagielskiinterface X {};
76*b1cdbd2cSJim Jagielskiservice S: X {
77*b1cdbd2cSJim Jagielski    f([in] long p1, [in] any... p2);
78*b1cdbd2cSJim Jagielski};
79*b1cdbd2cSJim Jagielski
80*b1cdbd2cSJim Jagielski
81*b1cdbd2cSJim JagielskiEXPECT FAILURE "constructor.tests 10":
82*b1cdbd2cSJim Jagielskiinterface X {};
83*b1cdbd2cSJim Jagielskiservice S: X {
84*b1cdbd2cSJim Jagielski    f([in] any... p2, [in] long p1);
85*b1cdbd2cSJim Jagielski};
86*b1cdbd2cSJim Jagielski
87*b1cdbd2cSJim Jagielski
88*b1cdbd2cSJim JagielskiEXPECT FAILURE "constructor.tests 11":
89*b1cdbd2cSJim Jagielskiinterface X {};
90*b1cdbd2cSJim Jagielskiservice S: X {
91*b1cdbd2cSJim Jagielski    f([in] long p1, [in] long... p2);
92*b1cdbd2cSJim Jagielski};
93*b1cdbd2cSJim Jagielski
94*b1cdbd2cSJim Jagielski
95*b1cdbd2cSJim JagielskiEXPECT FAILURE "constructor.tests 12":
96*b1cdbd2cSJim Jagielskiinterface X {};
97*b1cdbd2cSJim Jagielskiservice S: X {
98*b1cdbd2cSJim Jagielski    f([out] long p);
99*b1cdbd2cSJim Jagielski};
100*b1cdbd2cSJim Jagielski
101*b1cdbd2cSJim Jagielski
102*b1cdbd2cSJim JagielskiEXPECT FAILURE "constructor.tests 13":
103*b1cdbd2cSJim Jagielskiinterface X {};
104*b1cdbd2cSJim Jagielskiservice S: X {
105*b1cdbd2cSJim Jagielski    f([out] any... p);
106*b1cdbd2cSJim Jagielski};
107*b1cdbd2cSJim Jagielski
108*b1cdbd2cSJim Jagielski
109*b1cdbd2cSJim JagielskiEXPECT FAILURE "constructor.tests 14":
110*b1cdbd2cSJim Jagielskiinterface X {};
111*b1cdbd2cSJim Jagielskisingleton S: X {
112*b1cdbd2cSJim Jagielski    f();
113*b1cdbd2cSJim Jagielski};
114*b1cdbd2cSJim Jagielski
115*b1cdbd2cSJim Jagielski
116*b1cdbd2cSJim JagielskiEXPECT FAILURE "constructor.tests 15":
117*b1cdbd2cSJim Jagielskimodule com { module sun { module star { module test {
118*b1cdbd2cSJim Jagielski    interface X {};
119*b1cdbd2cSJim Jagielskiservice S: com::sun::star::test::X {
120*b1cdbd2cSJim Jagielski    c1([in] long a, [in] com::sun::star::test::X b);
121*b1cdbd2cSJim Jagielski    c2([in] long c, [in] X d);
122*b1cdbd2cSJim Jagielski};
123*b1cdbd2cSJim Jagielski}; }; }; };
124*b1cdbd2cSJim Jagielski
125*b1cdbd2cSJim Jagielski
126*b1cdbd2cSJim JagielskiEXPECT FAILURE "constructor.tests 16":
127*b1cdbd2cSJim Jagielskimodule com { module sun { module star { module test {
128*b1cdbd2cSJim Jagielski    interface X {};
129*b1cdbd2cSJim Jagielski}; }; }; };
130*b1cdbd2cSJim Jagielskitypedef long T;
131*b1cdbd2cSJim Jagielskiservice S: com::sun::star::test::X {
132*b1cdbd2cSJim Jagielski    c1([in] sequence<long> a);
133*b1cdbd2cSJim Jagielski    c2([in] sequence<T> b);
134*b1cdbd2cSJim Jagielski};
135*b1cdbd2cSJim Jagielski
136*b1cdbd2cSJim Jagielski
137*b1cdbd2cSJim JagielskiEXPECT FAILURE "constructor.tests 17":
138*b1cdbd2cSJim Jagielskimodule com { module sun { module star { module test {
139*b1cdbd2cSJim Jagielski    interface X {};
140*b1cdbd2cSJim Jagielski}; }; }; };
141*b1cdbd2cSJim Jagielskiservice S: com::sun::star::test::X {
142*b1cdbd2cSJim Jagielski    c1([in] any... a);
143*b1cdbd2cSJim Jagielski    c2([in] any... b);
144*b1cdbd2cSJim Jagielski};
145*b1cdbd2cSJim Jagielski
146*b1cdbd2cSJim Jagielski
147*b1cdbd2cSJim JagielskiEXPECT SUCCESS "constructor.tests 18":
148*b1cdbd2cSJim Jagielskimodule com { module sun { module star { module test {
149*b1cdbd2cSJim Jagielski    interface X {};
150*b1cdbd2cSJim Jagielski}; }; }; };
151*b1cdbd2cSJim Jagielskiservice S: com::sun::star::test::X {
152*b1cdbd2cSJim Jagielski    c1([in] any... a);
153*b1cdbd2cSJim Jagielski    c2([in] sequence<any> b);
154*b1cdbd2cSJim Jagielski};
155*b1cdbd2cSJim Jagielski
156*b1cdbd2cSJim Jagielski
157*b1cdbd2cSJim JagielskiEXPECT SUCCESS "constructor.tests 19":
158*b1cdbd2cSJim Jagielskimodule com { module sun { module star { module test {
159*b1cdbd2cSJim Jagielski    interface X { void m(); };
160*b1cdbd2cSJim Jagielski}; }; }; };
161*b1cdbd2cSJim Jagielskiservice S: com::sun::star::test::X {
162*b1cdbd2cSJim Jagielski    c([in] any... a);
163*b1cdbd2cSJim Jagielski};
164*b1cdbd2cSJim Jagielski
165*b1cdbd2cSJim Jagielski
166*b1cdbd2cSJim JagielskiEXPECT SUCCESS "constructor.tests 20":
167*b1cdbd2cSJim Jagielskimodule com { module sun { module star { module uno {
168*b1cdbd2cSJim Jagielski    interface XInterface { void m(); };
169*b1cdbd2cSJim Jagielski}; }; }; };
170*b1cdbd2cSJim Jagielskiservice S: com::sun::star::uno::XInterface {
171*b1cdbd2cSJim Jagielski    c1([in] long a, [in] long b);
172*b1cdbd2cSJim Jagielski    c2([in] long a);
173*b1cdbd2cSJim Jagielski};
174*b1cdbd2cSJim Jagielski
175*b1cdbd2cSJim Jagielski
176*b1cdbd2cSJim JagielskiEXPECT SUCCESS "constructor.tests 21":
177*b1cdbd2cSJim Jagielskimodule com { module sun { module star { module uno {
178*b1cdbd2cSJim Jagielski    interface XInterface { void m(); };
179*b1cdbd2cSJim Jagielski}; }; }; };
180*b1cdbd2cSJim Jagielskiservice S: com::sun::star::uno::XInterface {
181*b1cdbd2cSJim Jagielski    c1([in] long a);
182*b1cdbd2cSJim Jagielski    c2([in] long a, [in] long b);
183*b1cdbd2cSJim Jagielski};
184*b1cdbd2cSJim Jagielski
185*b1cdbd2cSJim Jagielski
186*b1cdbd2cSJim JagielskiEXPECT SUCCESS "constructor.tests 22":
187*b1cdbd2cSJim Jagielskimodule com { module sun { module star { module uno {
188*b1cdbd2cSJim Jagielski    interface XInterface { void m(); };
189*b1cdbd2cSJim Jagielski}; }; }; };
190*b1cdbd2cSJim Jagielskiservice S: com::sun::star::uno::XInterface {
191*b1cdbd2cSJim Jagielski    c1([in] long a, [in] short b);
192*b1cdbd2cSJim Jagielski    c2([in] long a, [in] long b);
193*b1cdbd2cSJim Jagielski};
194