1 using System;
  2 using System.Collections;
  3 
  4 // this file has been semiautomatically generated from 'D:/work/soulngcm/soulngcm/sngcmlg/ParsingContext.hpp' using cpp2cm version 1.0.0
  5 
  6 // this file has been semiautomatically generated from 'D:/work/soulngcm/soulngcm/sngcmlg/ParsingContext.cpp' using cpp2cm version 1.0.0
  7 
  8 public class ParsingContext
  9 {
 10     public ParsingContext() : 
 11         parsingExpressionStatement(false)parsingLvalue(false)parsingArguments(false)parsingIsOrAs(false)parsingTypeExpr(false)parsingConcept(false)parsingTemplateId(false)
 12     {
 13     }
 14     public bool parsingExpressionStatement;
 15     public bool parsingLvalue;
 16     public bool parsingArguments;
 17     public bool parsingIsOrAs;
 18     public bool parsingTypeExpr;
 19     public bool parsingConcept;
 20     public bool parsingTemplateId;
 21     public void PushParsingExpressionStatement(bool enable)
 22     {
 23         parsingExpressionStatementStack.Push(parsingExpressionStatement);
 24         parsingExpressionStatement = enable;
 25     }
 26     public void PopParsingExpressionStatement()
 27     {
 28         parsingExpressionStatement = parsingExpressionStatementStack.Top();
 29         parsingExpressionStatementStack.Pop();
 30     }
 31     public void PushParsingLvalue(bool enable)
 32     {
 33         parsingLvalueStack.Push(parsingLvalue);
 34         parsingLvalue = enable;
 35     }
 36     public void PopParsingLvalue()
 37     {
 38         parsingLvalue = parsingLvalueStack.Top();
 39         parsingLvalueStack.Pop();
 40     }
 41     public void BeginParsingArguments()
 42     {
 43         parsingArgumentsStack.Push(parsingArguments);
 44         parsingArguments = true;
 45     }
 46     public void EndParsingArguments()
 47     {
 48         parsingArguments = parsingArgumentsStack.Top();
 49         parsingArgumentsStack.Pop();
 50     }
 51     public void PushParsingIsOrAs(bool enable)
 52     {
 53         parsingIsOrAsStack.Push(parsingIsOrAs);
 54         parsingIsOrAs = enable;
 55     }
 56     public void PopParsingIsOrAs()
 57     {
 58         parsingIsOrAs = parsingIsOrAsStack.Top();
 59         parsingIsOrAsStack.Pop();
 60     }
 61     public void BeginParsingTypeExpr()
 62     {
 63         parsingTypeExprStack.Push(parsingTypeExpr);
 64         parsingTypeExpr = true;
 65     }
 66     public void EndParsingTypeExpr()
 67     {
 68         parsingTypeExpr = parsingTypeExprStack.Top();
 69         parsingTypeExprStack.Pop();
 70     }
 71     public void BeginParsingConcept()
 72     {
 73         parsingConceptStack.Push(parsingConcept);
 74         parsingConcept = true;
 75     }
 76     public void EndParsingConcept()
 77     {
 78         parsingConcept = parsingConceptStack.Top();
 79         parsingConceptStack.Pop();
 80     }
 81     public void BeginParsingTemplateId()
 82     {
 83         parsingTemplateIdStack.Push(parsingTemplateId);
 84         parsingTemplateId = true;
 85     }
 86     public void EndParsingTemplateId()
 87     {
 88         parsingTemplateId = parsingTemplateIdStack.Top();
 89         parsingTemplateIdStack.Pop();
 90     }
 91     public inline nothrow const Uuid& ModuleId() const
 92     {
 93         return moduleId;
 94     }
 95     public nothrow void SetModuleId(const Uuid& moduleId_)
 96     {
 97         moduleId = moduleId_;
 98     }
 99     private Stack<bool> parsingExpressionStatementStack;
100     private Stack<bool> parsingLvalueStack;
101     private Stack<bool> parsingArgumentsStack;
102     private Stack<bool> parsingIsOrAsStack;
103     private Stack<bool> parsingTypeExprStack;
104     private Stack<bool> parsingConceptStack;
105     private Stack<bool> parsingTemplateIdStack;
106     private Uuid moduleId;
107 }