update ooo310-m15
[ooovba.git] / applied_patches / 0860-autodoc-two-template-types.diff
blob37559c93cc33ada0ec242b91c7a2b5aea645cb03
1 --- autodoc/source/parser_i/idl/pe_type2.cxx.old 2009-06-10 21:35:32.000000000 +0200
2 +++ autodoc/source/parser_i/idl/pe_type2.cxx 2009-06-11 16:58:37.000000000 +0200
3 @@ -47,7 +47,7 @@
4 /** Implementation Concept for Parsing a Type
6 Example Type:
7 - sequence < ::abc::TName< TplType > > AnyName;
8 + sequence < ::abc::TName< TplType, TplType > > AnyName;
10 Status Changes:
12 @@ -62,6 +62,8 @@ expect_type:
14 expect_type:
15 TplType ->expect_quname_separator
16 + , -> in_template_type (process in nested PE_Type instance)
17 + TplType ->expect_quname_separator
18 > -> e_none (finish, '>' not handled)
20 > -> expect_quname_separator
21 @@ -172,9 +174,29 @@ PE_Type::Process_Punctuation( const TokP
23 else if (eState == in_template_type)
25 - csv_assert( i_rToken.Id() == TokPunctuation::Greater );
26 - eState = expect_quname_separator;
27 - SetResult(done, stay);
28 + switch (i_rToken.Id())
29 + {
30 + case TokPunctuation::Comma:
31 + eState = in_template_type;
32 + // FIXME: We started tyo call MyTemplateType() more times; we might need to create array
33 + // of nTemplateType, update the output routines, ...
34 + // Hmm, the template types are not visible in the HTML output even when only one
35 + // template type is used => there might be missing even more code
36 + // Example of the more types is in XFastSAXSerializable.idl:
37 + // sequence< beans::Pair<string, long> > registerNamespaces
38 + SetResult( done, push_sure, &MyTemplateType() );
39 + break;
41 + case TokPunctuation::Greater:
42 + eState = expect_quname_separator;
43 + SetResult(done, stay);
44 + break;
46 + default:
47 + Cerr() << "Syntax error: in template type." << Endl();
48 + SetResult( not_done, pop_failure);
49 + break;
50 + }