source: dev/trunk/abdev/BasicCompiler_Common/src/Meta.cpp@ 271

Last change on this file since 271 was 271, checked in by dai_9181, 17 years ago
File size: 2.6 KB
Line 
1#include "stdafx.h"
2
3#include <Compiler.h>
4
5void Meta::StaticLink( Meta &meta )
6{
7 // 名前空間
8 BOOST_FOREACH( NamespaceScopes &namespaceScopes, meta.namespaceScopesCollection )
9 {
10 if( !this->namespaceScopesCollection.IsExist( namespaceScopes ) )
11 {
12 this->namespaceScopesCollection.push_back( namespaceScopes );
13 }
14 }
15
16 // 関数・メソッド
17 meta.GetUserProcs().Iterator_Reset();
18 while( meta.GetUserProcs().Iterator_HasNext() )
19 {
20 UserProc *pUserProc = meta.GetUserProcs().Iterator_GetNext();
21 pUserProc->isTargetObjectModule = false;
22 this->userProcs.Put( pUserProc );
23 }
24 meta.GetUserProcs().PullOutAll();
25
26 // DLL関数
27 meta.GetDllProcs().Iterator_Reset();
28 while( meta.GetDllProcs().Iterator_HasNext() )
29 {
30 DllProc *pDllProc = meta.GetDllProcs().Iterator_GetNext();
31 pDllProc->isTargetObjectModule = false;
32 this->dllProcs.Put( pDllProc );
33 }
34 meta.GetDllProcs().PullOutAll();
35
36 // クラス
37 meta.GetClasses().Iterator_Reset();
38 while( meta.GetClasses().Iterator_HasNext() )
39 {
40 CClass *pClass = meta.GetClasses().Iterator_GetNext();
41 pClass->isTargetObjectModule = false;
42 this->GetClasses().Put( pClass );
43 }
44 meta.GetClasses().PullOutAll();
45
46 // グローバル変数
47 BOOST_FOREACH( Variable *pVar, meta.globalVars )
48 {
49 pVar->isTargetObjectModule = false;
50 this->globalVars.push_back( pVar );
51 }
52 meta.globalVars.PullOutAll();
53
54 // グローバル定数
55 meta.GetGlobalConsts().Iterator_Reset();
56 while( meta.GetGlobalConsts().Iterator_HasNext() )
57 {
58 CConst *pConst = meta.GetGlobalConsts().Iterator_GetNext();
59 pConst->isTargetObjectModule = false;
60 this->GetGlobalConsts().Put( pConst );
61 }
62 meta.GetGlobalConsts().PullOutAll();
63
64 // グローバル定数マクロ
65 meta.GetGlobalConstMacros().Iterator_Reset();
66 while( meta.GetGlobalConstMacros().Iterator_HasNext() )
67 {
68 ConstMacro *pConstMacro = meta.GetGlobalConstMacros().Iterator_GetNext();
69 pConstMacro->isTargetObjectModule = false;
70 this->GetGlobalConstMacros().Put( pConstMacro );
71 }
72 meta.GetGlobalConstMacros().PullOutAll();
73
74 // blittable型
75 BOOST_FOREACH( BlittableType &blittableType, meta.blittableTypes )
76 {
77 blittableType.isTargetObjectModule = false;
78 this->blittableTypes.push_back( blittableType );
79 }
80 meta.blittableTypes.clear();
81
82 // TypeDef
83 BOOST_FOREACH( TypeDef &typeDef, meta.typeDefs )
84 {
85 typeDef.isTargetObjectModule = false;
86 this->typeDefs.push_back( typeDef );
87 }
88 meta.typeDefs.clear();
89
90 // 関数ポインタ
91 BOOST_FOREACH( ProcPointer *pProcPointer, meta.procPointers )
92 {
93 pProcPointer->isTargetObjectModule = false;
94 this->procPointers.push_back( pProcPointer );
95 }
96 meta.procPointers.PullOutAll();
97}
Note: See TracBrowser for help on using the repository browser.