static XmlILOptimizerVisitor() { // Enable all normalizations and annotations for Release code // Enable all patterns for Release code PatternsOpt = new QilPatterns((int) XmlILOptimization.Last_, true); // Only enable Required and OptimizedConstruction pattern groups // Only enable Required patterns PatternsNoOpt = new QilPatterns((int) XmlILOptimization.Last_, false); PatternsNoOpt.Add((int) XmlILOptimization.FoldNone); PatternsNoOpt.Add((int) XmlILOptimization.EliminatePositionOf); PatternsNoOpt.Add((int) XmlILOptimization.EliminateTypeAssert); PatternsNoOpt.Add((int) XmlILOptimization.EliminateIsType); PatternsNoOpt.Add((int) XmlILOptimization.EliminateIsEmpty); PatternsNoOpt.Add((int) XmlILOptimization.EliminateAverage); PatternsNoOpt.Add((int) XmlILOptimization.EliminateSum); PatternsNoOpt.Add((int) XmlILOptimization.EliminateMinimum); PatternsNoOpt.Add((int) XmlILOptimization.EliminateMaximum); PatternsNoOpt.Add((int) XmlILOptimization.EliminateSort); PatternsNoOpt.Add((int) XmlILOptimization.EliminateStrConcatSingle); PatternsNoOpt.Add((int) XmlILOptimization.NormalizeUnion); PatternsNoOpt.Add((int) XmlILOptimization.NormalizeIntersect); PatternsNoOpt.Add((int) XmlILOptimization.NormalizeDifference); PatternsNoOpt.Add((int) XmlILOptimization.AnnotatePositionalIterator); PatternsNoOpt.Add((int) XmlILOptimization.AnnotateTrackCallers); PatternsNoOpt.Add((int) XmlILOptimization.AnnotateDod); PatternsNoOpt.Add((int) XmlILOptimization.AnnotateConstruction); PatternsNoOpt.Add((int) XmlILOptimization.AnnotateIndex1); PatternsNoOpt.Add((int) XmlILOptimization.AnnotateIndex2); }
private QilPatterns(QilPatterns toCopy) { this.bits = new BitArray(toCopy.bits); }
/// <summary> /// Constructor. /// </summary> public QilPatternVisitor(QilPatterns patterns, QilFactory f) : base(f) { Patterns = patterns; }
public QilPatternVisitor(QilPatterns patterns, QilFactory f) : base(f) { Patterns = patterns; }
private QilPatterns(QilPatterns toCopy) { _bits = new BitArray(toCopy._bits); }