Exemplo n.º 1
0
 /// <summary>
 /// Constructs a new internal enumerator.
 /// </summary>
 /// <param name="collection">The parent collection.</param>
 /// <param name="currentPredicate">The view predicate.</param>
 internal Enumerator(
     MethodMapping <Method> .ReadOnlyCollection collection,
     TPredicate currentPredicate)
 {
     enumerator = collection.GetEnumerator();
     predicate  = currentPredicate;
 }
Exemplo n.º 2
0
 internal UnsafeMethodCollection(
     IRContext context,
     MethodMapping <Method> .ReadOnlyCollection collection,
     TPredicate predicate)
 {
     Debug.Assert(context != null, "Invalid context");
     Context    = context;
     Collection = collection;
     Predicate  = predicate;
 }
Exemplo n.º 3
0
            /// <summary>
            /// Creates a new rebuilder that works on the given scope.
            /// </summary>
            /// <param name="parameterMapping">The target value of every parameter.</param>
            /// <param name="scope">The used scope.</param>
            /// <param name="methodMapping">The method mapping.</param>
            /// <returns>The created rebuilder.</returns>
            public IRRebuilder CreateRebuilder(
                ParameterMapping parameterMapping,
                Scope scope,
                MethodMapping methodMapping)
            {
                Debug.Assert(parameterMapping.Method == scope.Method, "Invalid parameter mapping");
                Debug.Assert(scope != null, "Invalid scope");
                Debug.Assert(scope.Method != Method, "Cannot rebuild a function into itself");

                return(new IRRebuilder(
                           this,
                           parameterMapping,
                           scope,
                           methodMapping));
            }
Exemplo n.º 4
0
            /// <summary>
            /// Creates a new rebuilder that works on the given scope.
            /// </summary>
            /// <param name="parameterMapping">
            /// The target value of every parameter.
            /// </param>
            /// <param name="scope">The used scope.</param>
            /// <param name="methodMapping">The method mapping.</param>
            /// <returns>The created rebuilder.</returns>
            public IRRebuilder CreateRebuilder(
                ParameterMapping parameterMapping,
                Scope scope,
                MethodMapping methodMapping)
            {
                this.Assert(parameterMapping.Method == scope.Method);
                this.Assert(scope != null);
                this.Assert(scope.Method != Method);

                return(new IRRebuilder(
                           this,
                           parameterMapping,
                           scope,
                           methodMapping));
            }
Exemplo n.º 5
0
 /// <summary>
 /// Creates a new rebuilder that works on the given scope.
 /// </summary>
 /// <typeparam name="TMode">The rebuilder mode.</typeparam>
 /// <param name="parameterMapping">
 /// The target value of every parameter.
 /// </param>
 /// <param name="methodMapping">The method mapping.</param>
 /// <param name="blocks">The block collection.</param>
 /// <returns>The created rebuilder.</returns>
 public IRRebuilder CreateRebuilder <TMode>(
     ParameterMapping parameterMapping,
     MethodMapping methodMapping,
     in BasicBlockCollection <ReversePostOrder, Forwards> blocks)
Exemplo n.º 6
0
 internal ReadOnlyCollection(MethodMapping <T> parent)
 {
     Parent = parent;
 }