예제 #1
0
        public void Accept(ICodeVisitor visitor)
        {
            visitor.VisitMethodBody(this);
            m_variables.Accept(visitor);
            m_instructions.Accept(visitor);
            m_exceptions.Accept(visitor);

            visitor.TerminateMethodBody(this);
        }
예제 #2
0
 public override void Dispatch(ICodeVisitor visitor) {
   CompileTimeConstant labelIndex = new CompileTimeConstant(this.rootClass.GetLabelIndex(this.TargetLabel.Name), this.TargetLabel.SourceLocation);
   labelIndex.SetContainingExpression(this.TargetLabel);
   List<Expression> arguments = new List<Expression>(1);
   arguments.Add(labelIndex);
   IMethodDefinition constructor = Dummy.Method;
   foreach (IMethodDefinition cons in this.rootClass.TypeDefinition.GetMembersNamed(this.Compilation.NameTable.Ctor, false)) {
     constructor = cons; break;
   }
   Expression thisArgument = new CreateObjectInstanceForResolvedConstructor(constructor, arguments, this.SourceLocation);
   //^ assume this.ContainingBlock.ContainingMethodDeclaration != null;
   MethodCall mcall = new ResolvedMethodCall(this.rootClass.MainMethod.MethodDefinition, thisArgument, new List<Expression>(0), this.SourceLocation);
   ExpressionStatement gosub = new ExpressionStatement(mcall);
   gosub.Dispatch(visitor);
 }
예제 #3
0
파일: App.cs 프로젝트: arise-project/iso3
 public App(
     ISyntaxNodesToClasses syntaxNodesToClasse,
     ISyntaxNodesToCollections syntaxNodesToCollections,
     ISyntaxNodesToCsv syntaxNodesToCsv,
     ICodeVisitor codeVisitor,
     IConfigManager configManager,
     ISyntaxWalker syntaxWalker,
     IDatabaseManager databaseManager)
 {
     _syntaxNodesToClasses     = syntaxNodesToClasse;
     _syntaxNodesToCollections = syntaxNodesToCollections;
     _syntaxNodesToCsv         = syntaxNodesToCsv;
     _codeVisitor     = codeVisitor;
     _configManager   = configManager;
     _syntaxWalker    = syntaxWalker;
     _databaseManager = databaseManager;
 }
예제 #4
0
        public void Accept(ICodeVisitor visitor)
        {
            visitor.VisitMethodBody(this);
            if (HasVariables)
            {
                m_variables.Accept(visitor);
            }
            m_instructions.Accept(visitor);
            if (HasExceptionHandlers)
            {
                m_exceptions.Accept(visitor);
            }
            if (HasScopes)
            {
                m_scopes.Accept(visitor);
            }

            visitor.TerminateMethodBody(this);
        }
예제 #5
0
 public void Accept(ICodeVisitor visitor)
 {
     visitor.VisitExceptionHandlerCollection(this);
 }
예제 #6
0
 public override void Dispatch(ICodeVisitor visitor)
 {
     visitor.Visit(this); // do not go to base.Dispatch because it will not do anything for const decls
 }
예제 #7
0
 public override void Dispatch(ICodeVisitor visitor)
 {
     this.WrappedStatement.Dispatch(visitor);
 }
예제 #8
0
 public override void AcceptVisitor(ICodeVisitor visitor)
 {
     visitor?.VisitUserDefinedType(this);
 }
예제 #9
0
		public override void Accept (ICodeVisitor visitor)
		{
			visitor.VisitVariableDefinition (this);
		}
예제 #10
0
 public void Accept(ICodeVisitor visitor)
 {
     visitor.VisitInstruction(this);
 }
예제 #11
0
 public abstract void Accept(ICodeVisitor visitor);
예제 #12
0
파일: Statements.cs 프로젝트: tupipa/vcc
 /// <summary>
 /// Calls the visitor.Visit(IExpressionStatement) method on an assignment statement that initializes the local.
 /// </summary>
 public override void Dispatch(ICodeVisitor visitor)
 {
 }
예제 #13
0
파일: Statements.cs 프로젝트: tupipa/vcc
 public override void Dispatch(ICodeVisitor visitor)
 {
     this.WrappedStatement.Dispatch(visitor);
 }
예제 #14
0
 /// <summary>
 /// Calls visitor.Visit(INamedArgument).
 /// </summary>
 public override void Dispatch(ICodeVisitor visitor)
 {
     visitor.Visit((INamedArgument)this);
 }
예제 #15
0
파일: Statements.cs 프로젝트: tupipa/vcc
 public override void Dispatch(ICodeVisitor visitor)
 {
     visitor.Visit(this); // do not go to base.Dispatch because it will not do anything for const decls
 }
예제 #16
0
 /// <summary>
 /// Calls visitor.Visit(ICreateArray).
 /// </summary>
 public override void Dispatch(ICodeVisitor visitor)
 {
     visitor.Visit((ICreateArray)this);
 }
예제 #17
0
 /// <summary>
 /// Calls visitor.Visit(ICompileTimeConstant).
 /// </summary>
 public override void Dispatch(ICodeVisitor visitor)
 {
     visitor.Visit((ICompileTimeConstant)this);
 }
예제 #18
0
 public override void Dispatch(ICodeVisitor visitor)
 {
     //Debug.Assert(false); //Objects of this class are not supposed to escape.
 }
예제 #19
0
		public void Accept (ICodeVisitor visitor)
		{
			visitor.VisitInstructionCollection (this);
		}
예제 #20
0
 public override void Accept(ICodeVisitor visitor)
 {
     visitor.Visit(this);
 }
예제 #21
0
 public void Accept(ICodeVisitor visitor)
 {
     visitor.VisitScopeCollection(this);
 }
 public static void Accept(this Collection<ExceptionHandler> col, ICodeVisitor visitor)
 {
     col.ToList().ForEach(e => visitor.VisitExceptionHandler(e));
 }
예제 #23
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="visitor"></param>
 public void Dispatch(ICodeVisitor visitor) {
   visitor.Visit(this);
 }
예제 #24
0
 public void Dispatch(ICodeVisitor visitor)
 {
     Contract.Requires(visitor != null);
     throw new NotImplementedException();
 }
예제 #25
0
 public override void AcceptVisitor(ICodeVisitor visitor)
 {
     visitor?.VisitIf(this);
 }
예제 #26
0
 public DeepFirstWalker(ICodeVisitor codeVisitor, ILogger <DeepFirstWalker> logger)
 {
     _codeVisitor = codeVisitor;
     _logger      = logger;
 }
예제 #27
0
 public override void Dispatch(ICodeVisitor visitor)
 {
     this.Expression.Dispatch(visitor);
 }
예제 #28
0
파일: DummyObjects.cs 프로젝트: xornand/cci
 public void Dispatch(ICodeVisitor visitor) {
 }
예제 #29
0
 public void Dispatch(ICodeVisitor visitor)
 {
     throw new NotImplementedException();
 }
 public override void Accept(ICodeVisitor visitor)
 {
     visitor.VisitVariableDefinition(this);
 }
		public void Accept (ICodeVisitor visitor)
		{
			visitor.VisitVariableDefinitionCollection (this);
		}
		public void Accept (ICodeVisitor visitor)
		{
			visitor.VisitMethodBody (this);
			if (HasVariables)
				m_variables.Accept (visitor);
			m_instructions.Accept (visitor);
			if (HasExceptionHandlers)
				m_exceptions.Accept (visitor);
			if (HasScopes)
				m_scopes.Accept (visitor);

			visitor.TerminateMethodBody (this);
		}
예제 #33
0
 public void Dispatch(ICodeVisitor visitor)
 {
 }
예제 #34
0
 public override void Dispatch(ICodeVisitor visitor)
 {
     visitor.Visit(this);
 }
예제 #35
0
 /// <summary>
 /// Calls the visitor.Visit(IExpressionStatement) method on an assignment statement that initializes the local. 
 /// </summary>
 public override void Dispatch(ICodeVisitor visitor)
 {
 }
 public override void AcceptVisitor(ICodeVisitor visitor)
 {
     visitor?.VisitFunction(this);
 }
		public void Accept (ICodeVisitor visitor)
		{
			visitor.VisitExceptionHandler (this);
		}
예제 #38
0
 public void Dispatch(ICodeVisitor visitor)
 {
     Contract.Requires(visitor != null);
       throw new NotImplementedException();
 }
예제 #39
0
 public void Accept(ICodeVisitor visitor)
 {
     visitor.VisitVariableDefinitionCollection(this);
 }
		public void Accept (ICodeVisitor visitor)
		{
			visitor.VisitScopeCollection (this);
		}
예제 #41
0
 public override void AcceptVisitor(ICodeVisitor visitor)
 {
     visitor?.VisitNamespace(this);
 }
예제 #42
0
 public override void Dispatch(ICodeVisitor visitor)
 {
     //Debug.Assert(false); //Objects of this class are not supposed to escape.
 }
예제 #43
0
 public override void AcceptVisitor(ICodeVisitor visitor)
 {
     visitor?.VisitProperty(this);
 }
예제 #44
0
파일: Scope.cs 프로젝트: nobled/mono
		public void Accept (ICodeVisitor visitor)
		{
			visitor.VisitScope (this);
		}
예제 #45
0
 /// <summary>
 /// Calls the visitor.Visit(T) method where T is the most derived object model node interface type implemented by the concrete type
 /// of the object implementing IDoubleDispatcher. The dispatch method does not invoke Dispatch on any child objects. If child traversal
 /// is desired, the implementations of the Visit methods should do the subsequent dispatching.
 /// </summary>
 public abstract void Dispatch(ICodeVisitor visitor);
예제 #46
0
 public override void AcceptVisitor(ICodeVisitor visitor)
 {
     visitor?.VisitVariable(this);
 }
예제 #47
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="visitor"></param>
 public override void Dispatch(ICodeVisitor visitor) {
   visitor.Visit(this);
 }
예제 #48
0
파일: Helpers.cs 프로젝트: riverar/devtools
 public override void Dispatch(ICodeVisitor visitor)
 {
     throw new NotImplementedException();
 }
예제 #49
0
 public abstract void Accept(ICodeVisitor visitor);
 public static void Accept(this Collection<Instruction> col, ICodeVisitor visitor)
 {
     col.ToList().ForEach(e => visitor.VisitInstruction(e));
 }
예제 #51
0
		public void Accept (ICodeVisitor visitor)
		{
			visitor.VisitMethodBody (this);
			m_variables.Accept (visitor);
			m_instructions.Accept (visitor);
			m_exceptions.Accept (visitor);

			visitor.TerminateMethodBody (this);
		}
 public static void Accept(this Collection<VariableDefinition> col, ICodeVisitor visitor)
 {
     col.ToList().ForEach(e => visitor.VisitVariableDefinition(e));
 }
예제 #53
0
 public void Accept(ICodeVisitor visitor)
 {
     visitor.VisitScope(this);
 }
예제 #54
0
 public override void AcceptVisitor(ICodeVisitor visitor)
 {
     // no implementation here
 }