Exemple #1
0
        private static CodeDomVisitor[] GetVisitors(ServiceContractGenerator generator, CommandProcessorOptions options)
        {
            ArrayOfXElementTypeHelper arrayOfXElementTypeHelper = new ArrayOfXElementTypeHelper((generator.Options & ServiceContractGenerationOptions.InternalTypes) == ServiceContractGenerationOptions.InternalTypes, generator.TargetCompileUnit);

            CodeDomVisitor[] visitors = new CodeDomVisitor[]
            {
                new CodeNamespaceUniqueTypeFixer(),
                new AttributeFixer(generator),
                new ConstructorFixer(),
                // Visitors to remove sync methods if !options.Sync
                new MakeOldAsyncMethodsPrivate(),
                new RemoveExtensibleDataObjectImpl(),
                new XmlDomAttributeFixer(),
                new SpecialIXmlSerializableRemapper(arrayOfXElementTypeHelper),
                new EnsureAdditionalAssemblyReference(),
                new CreateCallbackImpl((generator.Options & ServiceContractGenerationOptions.TaskBasedAsynchronousMethod) == ServiceContractGenerationOptions.TaskBasedAsynchronousMethod, generator),
                new AddAsyncOpenClose(),         // this one need to run after CreateCallbakImpl which provide name of VerifyCallbackEvents method
            };

            if (options.Sync != true)
            {
                visitors = AddSyncVisitors(visitors);
            }

            return(visitors);
        }
Exemple #2
0
 public void ClientGenerated(ServiceContractGenerator generator)
 {
     if (generator != null)
     {
         RunFixups(CodeFixup.GetFixups(generator), _options);
         ConfigToCode converter = new ConfigToCode()
         {
             IsVB = _isVB
         };
         converter.MoveBindingsToCode(generator.TargetCompileUnit, _endpoints);
         CodeDomVisitor.Visit(new CodeDomVisitor[] { new NamespaceFixup() }, generator.TargetCompileUnit);
         UpdateExitStatus(generator.Errors);
     }
 }
Exemple #3
0
 public override void Fixup(CommandProcessorOptions options)
 {
     CodeDomVisitor.Visit(GetVisitors(generator, options), generator.TargetCompileUnit);
 }