internal CallSiteData(DynamicOperationFactory factory, string fldname = null)
            {
                _factory = factory;

                _target = new SubstitutedFieldSymbol(factory.CallSite_T, factory.CallSite_T_Target); // AsMember // we'll change containing type later once we know, important to have Substitued symbol before calling it
                _fld    = factory.CreateCallSiteField(fldname ?? string.Empty);
            }
            internal CallSiteData(DynamicOperationFactory factory, string fldname = null)
            {
                _factory = factory;

                _target = new SubstitutedFieldSymbol(factory.CallSite_T, factory.CallSite_T_Target); // AsMember // we'll change containing type later once we know, important to have Substitued symbol before calling it
                _fld = factory.CreateCallSiteField(fldname ?? string.Empty);
            }
Esempio n. 3
0
        public CodeGenerator(ILBuilder il, PEModuleBuilder moduleBuilder, DiagnosticBag diagnostics, OptimizationLevel optimizations, bool emittingPdb,
                             NamedTypeSymbol container, IPlace contextPlace, IPlace thisPlace, SourceRoutineSymbol routine = null, IPlace locals = null, bool localsInitialized = false)
        {
            Contract.ThrowIfNull(il);
            Contract.ThrowIfNull(moduleBuilder);

            if (localsInitialized)
            {
                Debug.Assert(locals != null);
            }

            _il            = il;
            _moduleBuilder = moduleBuilder;
            _optimizations = optimizations;
            _diagnostics   = diagnostics;

            _localsPlaceOpt    = locals;
            _localsInitialized = localsInitialized;

            _emmittedTag = 0;

            _contextPlace = contextPlace;
            _thisPlace    = thisPlace;

            _factory = new DynamicOperationFactory(this, container);

            _emitPdbSequencePoints = emittingPdb;

            _routine = routine;

            if (routine != null)
            {
                il.SetInitialDebugDocument(routine.ContainingFile.SyntaxTree);
            }
        }
Esempio n. 4
0
        public CodeGenerator(ILBuilder il, PEModuleBuilder moduleBuilder, DiagnosticBag diagnostics, OptimizationLevel optimizations, bool emittingPdb,
                             NamedTypeSymbol container, IPlace contextPlace, IPlace thisPlace)
        {
            Contract.ThrowIfNull(il);
            Contract.ThrowIfNull(moduleBuilder);

            _il            = il;
            _moduleBuilder = moduleBuilder;
            _optimizations = optimizations;
            _diagnostics   = diagnostics;

            _emmittedTag = 0;

            _contextPlace = contextPlace;
            _thisPlace    = thisPlace;

            _factory = new DynamicOperationFactory(this, container);

            _emitPdbSequencePoints = emittingPdb;
        }