Пример #1
0
        private void CompileContract(CompilerInputContract contract)
        {
            var contractBuilder = this.m_outputBuilder.CreateContractBuilder(contract.InterfaceName);

            foreach (var property in contract.Properties)
            {
                contractBuilder.RegisterProperty(property);
            }
            contractBuilder.Accept();
        }
        internal CompilerInput(ICompilerInput other, int ordinal = 0)
        {
            this.Ordinal = ordinal;
            Debug.Assert(!ReferenceEquals(other, null), "other is null");
            if(!ReferenceEquals(other.Contracts, null))
            {
                foreach(var item in other.Contracts)
                {
                    if(!ReferenceEquals(item, null))
                    {
                        var clone = new  CompilerInputContract(item, this.Contracts.Count );
                        this.Contracts.Add( clone );
                    }
                }
            }
            if(!ReferenceEquals(other.TableTypes, null))
            {
                foreach(var item in other.TableTypes)
                {
                    if(!ReferenceEquals(item, null))
                    {
                        var clone = new  CompilerInputTableTypeSelector(item, this.TableTypes.Count );
                        this.TableTypes.Add( clone );
                    }
                }
            }
            if(!ReferenceEquals(other.QueryStoredProcedures, null))
            {
                foreach(var item in other.QueryStoredProcedures)
                {
                    if(!ReferenceEquals(item, null))
                    {
                        var clone = new  CompilerInputQueryStoredProcedureSelector(item, this.QueryStoredProcedures.Count );
                        this.QueryStoredProcedures.Add( clone );
                    }
                }
            }

            OnCreated();
        }