Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
TypeInference.cs
Go to the documentation of this file.
1 // Copyright (c) 2014 Silicon Studio Corp. (http://siliconstudio.co.jp)
2 // This file is distributed under GPL v3. See LICENSE.md for details.
3 using System;
4 
5 namespace SiliconStudio.Shaders.Ast
6 {
7  /// <summary>
8  /// A reference to a type.
9  /// </summary>
10  public class TypeInference : ICloneable
11  {
12  /// <summary>
13  /// Gets or sets the declaration.
14  /// </summary>
15  /// <value>
16  /// The declaration.
17  /// </value>
18  public IDeclaration Declaration { get; set; }
19 
20  /// <summary>
21  /// Gets or sets the type.
22  /// </summary>
23  /// <value>
24  /// The type.
25  /// </value>
26  public TypeBase TargetType { get; set; }
27 
28  /// <summary>
29  /// Gets or sets the expected type.
30  /// </summary>
31  /// <value>
32  /// The expected type.
33  /// </value>
34  public TypeBase ExpectedType { get; set; }
35 
36  /// <inheritdoc/>
37  public object Clone()
38  {
39  return MemberwiseClone();
40  }
41  }
42 }
Base type for all types.
Definition: TypeBase.cs:11
Toplevel interface for a declaration.
Definition: IDeclaration.cs:8