source: dev/trunk/abdev/BasicCompiler_Common/include/ProcedureImpl.h@ 184

Last change on this file since 184 was 184, checked in by dai_9181, 17 years ago
File size: 2.1 KB
Line 
1#pragma once
2
3#include <jenga/include/smoothie/Procedure.h>
4
5
6class UserProcImpl : public UserProc
7{
8public:
9 UserProcImpl( const string &name, Kind kind, bool isMacro, bool isCdecl, bool isExport )
10 : UserProc( name, kind, isMacro, isCdecl, isExport )
11 {
12 }
13 virtual bool SetParamsAndReturnType( const char *sourceOfParams, int nowLine, bool isStatic );
14};
15
16class GlobalProc : public UserProcImpl
17{
18 const NamespaceScopes namespaceScopes;
19 const NamespaceScopesCollection importedNamespaces;
20public:
21 // ハッシュリスト用
22 GlobalProc *pNextData;
23
24 GlobalProc( const NamespaceScopes &namespaceScopes, const NamespaceScopesCollection &importedNamespaces, const string &name, Kind kind, bool isMacro, bool isCdecl, bool isExport ):
25 UserProcImpl( name, kind, isMacro, isCdecl, isExport ),
26 namespaceScopes( namespaceScopes ),
27 importedNamespaces( importedNamespaces ),
28 pNextData( NULL )
29 {}
30 ~GlobalProc(){}
31
32 virtual const NamespaceScopes &GetNamespaceScopes() const;
33 virtual const NamespaceScopesCollection &GetImportedNamespaces() const
34 {
35 return importedNamespaces;
36 }
37
38 virtual bool IsEqualSymbol( const NamespaceScopes &namespaceScopes, const string &name ) const;
39 virtual bool IsEqualSymbol( const GlobalProc &globalProc ) const;
40 virtual bool IsEqualSymbol( const string &name ) const;
41};
42
43class DllProcImpl : public DllProc
44{
45public:
46 DllProcImpl( const NamespaceScopes &namespaceScopes, const string &name, Kind kind, bool isCdecl, const string &dllFileName, const string &alias )
47 : DllProc( namespaceScopes, name, kind, isCdecl, dllFileName, alias )
48 {
49 }
50
51 virtual bool SetParamsAndReturnType( const char *sourceOfParams, int nowLine );
52};
53
54class ProcPointerImpl : public ProcPointer
55{
56public:
57 ProcPointerImpl( Kind kind ):
58 ProcPointer( kind )
59 {
60 }
61
62 virtual bool SetParamsAndReturnType( const char *sourceOfParams, int nowLine );
63};
64
65class ProcPointersImpl : public ProcPointers
66{
67public:
68 ProcPointersImpl()
69 {
70 }
71 ~ProcPointersImpl()
72 {
73 Clear();
74 }
75
76 virtual int Add( const string &typeExpression );
77 virtual void Clear();
78};
Note: See TracBrowser for help on using the repository browser.