コード例 #1
0
ファイル: Compiler.cs プロジェクト: AlexeyEvlampiev/Alenosoft
        //[DebuggerStepThrough]
        public CompilerOutput Compile(
            ICompilerInput input,
            ICompilerPolicies policies,
            ICompilerNotificationMessageBuilder messageBuilder)
        {
            try
            {
                var output = new CompilerOutput();

                this.m_input = new CompilerInput(input);
                this.m_input.Validate(policies, messageBuilder, output);

                throw new NotImplementedException();

                //this.m_outputBuilder = new CompilerOutputBuilder();
                //m_outputBuilder.AddError(this.m_input.Errors);
                //m_outputBuilder.AddWarning(this.m_input.Warnings);

                //if (false == this.m_input.Errors.Any())
                //    this.Compile();
                //return this.m_outputBuilder.Build();
            }
            finally
            {
                this.m_input = null;
                this.m_outputBuilder = null;
            }
        }
コード例 #2
0
 public void Validate(
     ICompilerPolicies policies, 
     ICompilerNotificationMessageBuilder messageBuilder, 
     INotificationWriter writer)
 {
     if (false == policies.IsValidInterfacePropertyName(this.PropertyName))
     {
         writer.Error(messageBuilder.InvalidInterfacePropertyName(this.Contract.InterfaceName, this.PropertyName));
     }
 }
コード例 #3
0
 internal void Validate(
     ICompilerPolicies policies, 
     ICompilerNotificationMessageBuilder messageBuilder, 
     INotificationWriter writer)
 {
     foreach (var contract in this.Contracts)
     {
         contract.Validate(policies, messageBuilder, writer);
     }
 }
コード例 #4
0
        internal void Validate(ICompilerPolicies policies, ICompilerNotificationMessageBuilder messageBuilder, INotificationWriter writer)
        {
            if (false == policies.IsValidInterfaceName(InterfaceName))
            {
                writer.Error(messageBuilder.InvalidInterfaceName(InterfaceName));
            }

            foreach (var contractProperty in this.Properties)
            {
                contractProperty.Validate(policies, messageBuilder, writer);
            }
        }