Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
AstInterfaces.cs
Go to the documentation of this file.
1 #region License
2 /* **********************************************************************************
3  * Copyright (c) Roman Ivantsov
4  * This source code is subject to terms and conditions of the MIT License
5  * for Irony. A copy of the license can be found in the License.txt file
6  * at the root of this distribution.
7  * By using this source code in any fashion, you are agreeing to be bound by the terms of the
8  * MIT License.
9  * You must not remove this notice from this software.
10  * **********************************************************************************/
11 #endregion
12 
13 using System;
14 using System.Collections;
15 using System.Collections.Generic;
16 using System.Linq;
17 using System.Text;
18 using Irony.Parsing;
19 using Irony.Interpreter;
20 
21 namespace Irony.Interpreter.Ast {
22 
23 
24  [Flags]
25  public enum AstMode {
26  None = 0,
27  Read = 0x01,
28  Write = 0x02,
29  }
30 
31  //This interface is expected by Irony's ScriptInterpreter when it evaluates AST nodes in the AST tree.
32  public interface IInterpretedAstNode {
33  void Evaluate(EvaluationContext context, AstMode mode);
34  //Used for pointing to error location. For most nodes it would be the location of the node itself.
35  // One exception is BinExprNode: when we get "Division by zero" error evaluating
36  // x = (5 + 3) / (2 - 2)
37  // it is better to point to "/" as error location, rather than the first "(" - which is the start
38  // location of binary expression.
39  SourceLocation GetErrorAnchor();
40  }
41 
42  public interface ICallTarget {
43  void Call(EvaluationContext context);
44  }
45 
46 
47 }
Flags
Enumeration of the new Assimp's flags.