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

Last change on this file since 184 was 184, checked in by dai_9181, 17 years ago
File size: 815 bytes
Line 
1#pragma once
2
3#include <jenga/include/smoothie/Smoothie.h>
4#include <jenga/include/smoothie/LexicalScoping.h>
5
6class ScopeImpl : public CScope
7{
8public:
9 ScopeImpl( int level, int addr, SCOPE_TYPE TypeOfStatement )
10 : CScope( level, addr, TypeOfStatement )
11 {
12 }
13 ~ScopeImpl();
14
15 virtual void Break();
16 virtual void RunScheduleOfBreak();
17};
18
19class LexicalScopesImpl : public CLexicalScopes
20{
21 virtual CScope *CreateScope( int level, int addr, SCOPE_TYPE TypeOfStatement )
22 {
23 return new ScopeImpl( level, addr, TypeOfStatement );
24 }
25
26public:
27
28 //スコープ終了時のデストラクタ呼び出し
29 virtual void CallDestructorsOfScopeEnd();
30
31 //Returnステートメント用のデストラクタ呼び出し
32 virtual void CallDestructorsOfReturn( int BaseLevel = 0 );
33};
34
35LexicalScopesImpl &GetLexicalScopes();
Note: See TracBrowser for help on using the repository browser.