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;