diff options
author | RĂ¼diger Timm <rt@openoffice.org> | 2004-08-20 08:20:54 +0000 |
---|---|---|
committer | RĂ¼diger Timm <rt@openoffice.org> | 2004-08-20 08:20:54 +0000 |
commit | 82984d31ffed915e9d7d956af08c912880105d1f (patch) | |
tree | aa7bf8fb2d76cd1000992268a8fc63cbf25fef79 | |
parent | 63bcb30f6ecf193d4222365bb040aea1f012fa9c (diff) |
INTEGRATION: CWS sb21 (1.2.16); FILE MERGED
2004/08/05 15:13:26 sb 1.2.16.2: #i32158# Using an unsigned integer type as a type argument is now an error.
2004/08/05 13:21:38 sb 1.2.16.1: #i31370# Better detect recursive uses of polymorphic struct types.
-rw-r--r-- | idlc/test/parser/polystruct.tests | 97 |
1 files changed, 95 insertions, 2 deletions
diff --git a/idlc/test/parser/polystruct.tests b/idlc/test/parser/polystruct.tests index b35e5b87f..d46ab6ec4 100644 --- a/idlc/test/parser/polystruct.tests +++ b/idlc/test/parser/polystruct.tests @@ -2,9 +2,9 @@ # # $RCSfile: polystruct.tests,v $ # -# $Revision: 1.2 $ +# $Revision: 1.3 $ # -# last change: $Author: obo $ $Date: 2004-06-03 15:12:44 $ +# last change: $Author: rt $ $Date: 2004-08-20 09:20:54 $ # # The Contents of this file are made available subject to the terms of # either of the following licenses @@ -169,3 +169,96 @@ struct Struct2: Struct1<long> { long member2; }; EXPECT FAILURE "polystruct.tests 24": struct Struct1<T> { long member1; }; struct Struct2<T>: Struct1<long> { long member2; }; + + +EXPECT FAILURE "polystruct.tests 25": +struct Struct1<T> { long member; }; +struct Struct2 { Struct1<Struct2> member; }; + + +EXPECT FAILURE "polystruct.tests 26": +struct Struct1<T> { long member; }; +struct Struct2<T> { long member; }; +struct Struct3 { Struct1<Struct2<Struct3> > member; }; + + +EXPECT SUCCESS "polystruct.tests 27": +struct Struct1<T> { long member; }; +struct Struct2 { Struct1<sequence<Struct2> > member; }; + + +EXPECT SUCCESS "polystruct.tests 28": +struct Struct1<T> { long member; }; +struct Struct2 { Struct1<sequence<sequence<Struct2> > > member; }; + + +EXPECT SUCCESS "polystruct.tests 29": +struct Struct1<T> { long member; }; +struct Struct2 { sequence<Struct1<Struct2> > member; }; + + +EXPECT SUCCESS "polystruct.tests 30": +struct Struct1<T> { long member; }; +struct Struct2 { sequence<Struct1<sequence<Struct2> > > member; }; + + +EXPECT SUCCESS "polystruct.tests 31": +struct Struct1<T> { long member; }; +struct Struct2 { sequence<sequence<Struct1<Struct2> > > member; }; + + +EXPECT FAILURE "polystruct.tests 32": +struct Struct<T> { Struct member; }; + + +EXPECT FAILURE "polystruct.tests 33": +struct Struct<T> { Struct<long> member; }; + + +EXPECT FAILURE "polystruct.tests 34": +struct Struct<T> { Struct<Struct> member; }; + + +EXPECT FAILURE "polystruct.tests 35": +struct Struct<T> { Struct<Struct<long> > member; }; + + +EXPECT FAILURE "polystruct.tests 36": +struct Struct1<T> { long member; }; +struct Struct2<T> { Struct1<Struct2> member; }; + + +EXPECT FAILURE "polystruct.tests 37": +struct Struct1<T> { long member; }; +struct Struct2<T> { long member; }; +struct Struct3<T> { Struct1<Struct2<Struct3> > member; }; + + +EXPECT FAILURE "polystruct.tests 38": +struct Struct1<T> { long member; }; +struct Struct2<T> { Struct1<Struct2<long> > member; }; + + +EXPECT FAILURE "polystruct.tests 39": +struct Struct1<T> { long member; }; +struct Struct2<T> { long member; }; +struct Struct3<T> { Struct1<Struct2<Struct3<long> > > member; }; + + +EXPECT FAILURE "polystruct.tests 40": +struct Struct1<T> { long member; }; +struct Struct2 { Struct1<unsigned short> member; }; + + +EXPECT FAILURE "polystruct.tests 41": +struct Struct1<T, U> { long member; }; +struct Struct2<T> { long member; }; +struct Struct3 { Struct2<Struct1<long, unsigned long> > member; }; + + +EXPECT FAILURE "polystruct.tests 42": +module com { module sun { module star { module uno { + interface XInterface {}; +}; }; }; }; +struct Struct<T> { long member; }; +interface X { void f([in] Struct<unsigned hyper> p); }; |