예제 #1
0
 public static Data <Variable> FindMethodExtractMarkers <Local, Parameter, Method, Field, Property, Event, Typ, Attribute, Assembly, Expression, Variable>(IMethodDriver <Local, Parameter, Method, Field, Property, Event, Typ, Attribute, Assembly, Expression, Variable, ILogOptions> mdriver)
     where Typ : IEquatable <Typ>
     where Expression : IEquatable <Expression>
     where Variable : IEquatable <Variable>
 {
     return(TypeBindings <Local, Parameter, Method, Field, Property, Event, Typ, Attribute, Assembly, Expression, Variable> .RunTheAnalysis(mdriver));
 }
예제 #2
0
        /// <summary>
        /// Entry point to run the container analysis
        /// </summary>
        public static IMethodResult <Variable> RunContainerAnalysis <Local, Parameter, Method, Field, Property, Type, Attribute, Assembly, ExternalExpression, Variable>
        (
            string methodName,
            IMethodDriver <APC, Local, Parameter, Method, Field, Property, Type, Attribute, Assembly, ExternalExpression, Variable, ILogOptions> driver,
            TypeBindings <Local, Parameter, Method, Field, Property, Type, Attribute, Assembly, ExternalExpression, Variable> .PartitionAnalysis partitions,
            List <Analyzers.Containers.ContainerOptions> options)
            where Variable : IEquatable <Variable>
            where ExternalExpression : IEquatable <ExternalExpression>
            where Type : IEquatable <Type>
        {
            var analysis =
                new TypeBindings <Local, Parameter, Method, Field, Property, Type, Attribute, Assembly, ExternalExpression, Variable> .ContainerAnalysis(methodName, driver, partitions, options);

            return(TypeBindings <Local, Parameter, Method, Field, Property, Type, Attribute, Assembly, ExternalExpression, Variable> .RunTheAnalysis(methodName, driver, analysis));
        }
예제 #3
0
        /// <summary>
        /// Entry point to run the Buffer analysis
        /// </summary>
        public static IMethodResult <Variable> RunBufferAnalysis <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly, Expression, Variable>
        (
            string methodName,
            IMethodDriver <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly, Expression, Variable, ILogOptions> driver,
            List <Analyzers.Buffers.Options> options,
            Predicate <APC> cachePCs, DFAController controller
        )
            where Variable : IEquatable <Variable>
            where Expression : IEquatable <Expression>
            where Type : IEquatable <Type>
        {
            var analysis =
                new TypeBindings <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly, Expression, Variable> .BufferAnalysis(methodName, driver, options, cachePCs, controller);

            return(TypeBindings <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly, Expression, Variable> .RunTheAnalysis(methodName, driver, analysis, controller));
        }
예제 #4
0
        RunTheAnalysis <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly, Expression, Variable, Options>
        (
            string methodName,
            IMethodDriver <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly, Expression, Variable, ILogOptions> driver,
            List <Options> options,
            Predicate <APC> cachePCs
        )
            where Variable : IEquatable <Variable>
            where Expression : IEquatable <Expression>
            where Type : IEquatable <Type>
            where Options : Analyzers.ValueAnalysisOptions <Options>
        {
            var analysis =
                new TypeBindings <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly, Expression, Variable> .NumericalAnalysis <Options>(methodName, driver, options, cachePCs);

            return(TypeBindings <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly, Expression, Variable> .RunTheAnalysis(methodName, driver, analysis));
        }
예제 #5
0
        /// <summary>
        /// Entry point to run the Enum analysis
        /// </summary>
        public static IMethodResult <Variable> RunEnumAnalysis <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly, Expression, Variable>
        (
            string methodName,
            IMethodDriver <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly, Expression, Variable, ILogOptions> driver,
            List <Analyzers.Enum.Options> options,
            Predicate <APC> cachePCs, DFAController controller
        )
            where Variable : IEquatable <Variable>
            where Expression : IEquatable <Expression>
            where Type : IEquatable <Type>
        {
            Contract.Requires(driver != null);
            Contract.Requires(options != null);
            Contract.Requires(options.Count > 0);

            var analysis =
                new TypeBindings <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly, Expression, Variable> .EnumAnalysis
                    (methodName, driver, options[0], cachePCs);

            return(TypeBindings <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly, Expression, Variable> .RunTheAnalysis(methodName, driver, analysis, controller));
        }