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

Last change on this file since 201 was 193, checked in by dai_9181, 17 years ago
File size: 2.2 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 IsEqualSymbol( const NamespaceScopes &namespaceScopes, const string &name ) const;
52
53 virtual bool SetParamsAndReturnType( const char *sourceOfParams, int nowLine );
54};
55
56class ProcPointerImpl : public ProcPointer
57{
58public:
59 ProcPointerImpl( Kind kind ):
60 ProcPointer( kind )
61 {
62 }
63
64 virtual bool SetParamsAndReturnType( const char *sourceOfParams, int nowLine );
65};
66
67class ProcPointersImpl : public ProcPointers
68{
69public:
70 ProcPointersImpl()
71 {
72 }
73 ~ProcPointersImpl()
74 {
75 Clear();
76 }
77
78 virtual int Add( const string &typeExpression );
79 virtual void Clear();
80};
Note: See TracBrowser for help on using the repository browser.