File Index
Symbol Index
#include "WfAnalyzer.h"
namespace
vl
{
namespace
workflow
{
namespace
analyzer
{
using
namespace
reflection
::
description
;
/*********************************************************************** BuildGlobalNameFromTypeDescriptors ***********************************************************************/
void
BuildGlobalNameFromTypeDescriptors
(
WfLexicalScopeManager
*
manager
) {
for
(
vint
i
=
0
;
i
<
GetGlobalTypeManager
()->
GetTypeDescriptorCount
();
i
++) {
ITypeDescriptor
*
typeDescriptor
=
GetGlobalTypeManager
()->
GetTypeDescriptor
(
i
);
WString
name
=
typeDescriptor
->
GetTypeName
();
const
wchar_t
*
reading
=
name
.
Buffer
();
Ptr
<
WfLexicalScopeName
>
currentName
=
manager
->
globalName
;
while
(
true
) {
WString
fragment
;
const
wchar_t
*
delimiter
=
wcsstr
(
reading
,
L"::"
);
if
(
delimiter
) {
fragment
=
WString
(
reading
,
vint
(
delimiter
-
reading
));
reading
=
delimiter
+
2
; }
else
{
fragment
=
reading
;
reading
=
0
; }
currentName
=
currentName
-
>
AccessChild
(
fragment
,
true
);
if
(!
reading
) {
currentName
-
>
typeDescriptor
=
typeDescriptor
;
manager
->
typeNames
.
Add
(
typeDescriptor
,
currentName
);
break
; } } } } } } }