diff --git a/wst/trunk/tests/test_suite/files/class_properties_extended_metadata_2.wsdl b/wst/trunk/tests/test_suite/files/class_properties_extended_metadata_2.wsdl new file mode 100644 index 000000000..4529dd146 --- /dev/null +++ b/wst/trunk/tests/test_suite/files/class_properties_extended_metadata_2.wsdl @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wst/trunk/tests/test_suite/files/class_properties_extended_metadata_2.xsd b/wst/trunk/tests/test_suite/files/class_properties_extended_metadata_2.xsd new file mode 100644 index 000000000..b878a09fe --- /dev/null +++ b/wst/trunk/tests/test_suite/files/class_properties_extended_metadata_2.xsd @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/wst/trunk/tests/test_suite/wst_test_suite_gui.lpi b/wst/trunk/tests/test_suite/wst_test_suite_gui.lpi index 010e37baf..266d38209 100644 --- a/wst/trunk/tests/test_suite/wst_test_suite_gui.lpi +++ b/wst/trunk/tests/test_suite/wst_test_suite_gui.lpi @@ -1,12 +1,12 @@ - + - + @@ -14,13 +14,14 @@ + - + @@ -96,12 +97,12 @@ - + - + @@ -129,12 +130,13 @@ + - - + + diff --git a/wst/trunk/ws_helper/ws_parser_imp.pas b/wst/trunk/ws_helper/ws_parser_imp.pas index dc9330956..0aa13c9d3 100644 --- a/wst/trunk/ws_helper/ws_parser_imp.pas +++ b/wst/trunk/ws_helper/ws_parser_imp.pas @@ -942,7 +942,16 @@ var end; end; end; - + + procedure CopyExtendedMetaData(ASource,ADesc : TPasElement); + var + ls : TStrings; + begin + ls := FSymbols.Properties.FindList(ASource); + if ( ls <> nil ) then + FSymbols.Properties.GetList(ADesc).Assign(ls); + end; + var eltCrs, eltAttCrs : IObjectCursor; internalName : string; @@ -1029,6 +1038,7 @@ begin tmpPropTyp.VarType.AddRef(); tmpPropTyp.StoredAccessorName := propTyp.StoredAccessorName; FSymbols.RegisterExternalAlias(tmpPropTyp,FSymbols.GetExternalName(propTyp)); + CopyExtendedMetaData(propTyp,tmpPropTyp); classDef.Members.Add(tmpPropTyp); end else begin tmpPropTyp := TPasProperty(FSymbols.CreateElement(TPasProperty,propTyp.Name,classDef,visPublished,'',0)); @@ -1036,6 +1046,7 @@ begin tmpPropTyp.VarType := FSymbols.FindElement(Format('%s_%sArray',[internalName,propTyp.Name])) as TPasType; tmpPropTyp.VarType.AddRef(); FSymbols.RegisterExternalAlias(tmpPropTyp,FSymbols.GetExternalName(propTyp)); + CopyExtendedMetaData(propTyp,tmpPropTyp); classDef.Members.Add(tmpPropTyp); end; end;