Free cookie consent management tool by TermsFeed Policy Generator

source: branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Attributes/PushExpressionAttriubte.cs @ 15017

Last change on this file since 15017 was 15017, checked in by pkimmesw, 7 years ago

#2665 Fixed Benchmark Problem Definition, Converted LoopExpressions to stateless expressions, Added several unit test to ensure funcionality, Fixed UI bugs

File size: 1.2 KB
Line 
1using System;
2
3namespace HeuristicLab.Problems.ProgramSynthesis.Push.Attributes {
4  using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
5
6  [AttributeUsage(AttributeTargets.Class)]
7  public class PushExpressionAttribute : Attribute {
8    public readonly StackTypes StackType;
9    public readonly StackTypes AdditionalStackDependencies;
10    public readonly string ExpressionName;
11    public readonly bool ManipulatesExec;
12    public readonly uint ExecIn;
13
14    /// <summary>
15    /// Determines if the expression is visible to the user during the configuration phase for example.
16    /// </summary>
17    public readonly bool IsHidden;
18
19    public PushExpressionAttribute(
20      StackTypes stackType,
21      string expressionName,
22      StackTypes additionalStackDependencies = default(StackTypes),
23      uint execIn = 0,
24      bool isHidden = false) {
25      StackType = stackType;
26      AdditionalStackDependencies = additionalStackDependencies;
27      ExpressionName = expressionName;
28      ExecIn = execIn;
29      IsHidden = isHidden;
30      ManipulatesExec = stackType == StackTypes.Exec || AdditionalStackDependencies.HasFlag(StackTypes.Exec);
31    }
32  }
33}
Note: See TracBrowser for help on using the repository browser.