示例#1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ExpressionDecompiler{TExpression}" /> class.
        /// </summary>
        /// <param name="instructionsCompiler">The instructions compiler.</param>
        /// <param name="instructionHelper">The instruction helper.</param>
        /// <param name="parameterDeducer">The parameter deducer.</param>
        /// <param name="argumentGenerator">The argument generator.</param>
        /// <param name="typeResolver">The type resolver.</param>
        internal ExpressionDecompiler(
            IInstructionsCompiler instructionsCompiler,
            IInstructionHelper instructionHelper,
            IParameterDeducer parameterDeducer,
            IArgumentGenerator argumentGenerator,
            ITypeResolver typeResolver)
        {
            ArgumentChecker.NotNull(instructionsCompiler, () => instructionsCompiler);
            ArgumentChecker.NotNull(instructionHelper, () => instructionHelper);
            ArgumentChecker.NotNull(parameterDeducer, () => parameterDeducer);
            ArgumentChecker.NotNull(argumentGenerator, () => argumentGenerator);
            ArgumentChecker.NotNull(typeResolver, () => typeResolver);

            _instructionsCompiler = instructionsCompiler;
            _instructionHelper    = instructionHelper;
            _parameterDeducer     = parameterDeducer;
            _argumentGenerator    = argumentGenerator;
            _typeResolver         = typeResolver;
        }
示例#2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ExpressionDecompiler"/> class.
        /// </summary>
        /// <param name="instructionsCompiler">The instructions compiler.</param>
        /// <param name="instructionHelper">The instruction helper.</param>
        /// <param name="parameterDeducer">The parameter deducer.</param>
        /// <param name="argumentGenerator">The argument generator.</param>
        /// <param name="typeResolver">The type resolver.</param>
        internal ExpressionDecompiler(
            IInstructionsCompiler instructionsCompiler,
            IInstructionHelper instructionHelper,
            IParameterDeducer parameterDeducer,
            IArgumentGenerator argumentGenerator,
            ITypeResolver typeResolver)
        {
            ArgumentChecker.NotNull(instructionsCompiler, () => instructionsCompiler);
            ArgumentChecker.NotNull(instructionHelper, () => instructionHelper);
            ArgumentChecker.NotNull(parameterDeducer, () => parameterDeducer);
            ArgumentChecker.NotNull(argumentGenerator, () => argumentGenerator);
            ArgumentChecker.NotNull(typeResolver, () => typeResolver);

            _instructionsCompiler = instructionsCompiler;
            _instructionHelper = instructionHelper;
            _parameterDeducer = parameterDeducer;
            _argumentGenerator = argumentGenerator;
            _typeResolver = typeResolver;
        }