32 lines
738 B
C++
32 lines
738 B
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
// uLang Compiler Public API
|
|
|
|
#pragma once
|
|
|
|
#include "uLang/Semantics/SemanticScope.h"
|
|
#include "uLang/Common/Containers/SharedPointer.h"
|
|
#include "uLang/Common/Containers/SharedPointerArray.h"
|
|
|
|
namespace uLang
|
|
{
|
|
|
|
/**
|
|
* Represents a function body or a nested scope within a function body.
|
|
*/
|
|
class CControlScope : public CLogicalScope, public CSharedMix
|
|
{
|
|
public:
|
|
CControlScope(CScope* Parent, CSemanticProgram& Program, CSymbol Name = CSymbol())
|
|
: CLogicalScope(EKind::ControlScope, Parent, Program)
|
|
{}
|
|
|
|
//~ Begin CScope interface
|
|
virtual CSymbol GetScopeName() const override { return _Name; }
|
|
//~ End CScope interface
|
|
|
|
private:
|
|
CSymbol _Name;
|
|
};
|
|
|
|
};
|