/// <summary>
 ///   Initializes a new instance of the <see cref = "XhtmlTypeParser" /> class.
 /// </summary>
 /// <param name = "settings">The settings.</param>
 /// <param name = "typeManager">The type manager.</param>
 public XhtmlCocoaTypeParser(NameValueCollection settings, TypeManager typeManager, TextWriter logger)
     : base(settings, typeManager, logger)
 {
     this.ConstantParser = new XhtmlCocoaConstantParser(settings, typeManager, logger);
     this.NotificationParser = new XhtmlCocoaNotificationParser(settings, typeManager, logger);
     this.FunctionParser = new XhtmlCocoaFunctionParser(settings, typeManager, logger);
 }
 /// <summary>
 ///   Initializes a new instance of the <see cref = "XhtmlClassicTypeParser" /> class.
 /// </summary>
 /// <param name = "settings">The settings.</param>
 /// <param name = "typeManager">The type manager.</param>
 public XhtmlClassicTypeParser(NameValueCollection settings, TypeManager typeManager, TextWriter logger)
     : base(settings, typeManager, logger)
 {
     this.ConstantParser = new XhtmlClassicConstantParser(settings, typeManager, logger);
     this.EnumerationParser = new XhtmlClassicEnumerationParser(settings, typeManager, logger);
     this.FunctionParser = new XhtmlClassicFunctionParser(settings, typeManager, logger);
 }
 /// <summary>
 ///   Initializes a new instance of the <see cref = "CodeDomTypeParser" /> class.
 /// </summary>
 /// <param name = "settings">The settings.</param>
 /// <param name = "typeManager">The type manager.</param>
 public CodeDomTypeParser(NameValueCollection settings, TypeManager typeManager, TextWriter logger)
     : base(settings, typeManager, logger)
 {
 }
 /// <summary>
 ///   Initializes a new instance of the <see cref = "XhtmlClassicEnumerationParser" /> class.
 /// </summary>
 /// <param name = "settings">The settings.</param>
 /// <param name = "typeManager">The type manager.</param>
 public XhtmlClassicEnumerationParser(NameValueCollection settings, TypeManager typeManager, TextWriter logger)
     : base(settings, typeManager, logger)
 {
 }
 /// <summary>
 ///   Initializes a new instance of the <see cref = "XhtmlNotificationParser" /> class.
 /// </summary>
 /// <param name = "settings">The settings.</param>
 /// <param name = "typeManager">The type manager.</param>
 public XhtmlCocoaConstantParser(NameValueCollection settings, TypeManager typeManager, TextWriter logger)
     : base(settings, typeManager, logger)
 {
 }
Example #6
0
 /// <summary>
 ///   Initializes a new instance of the <see cref = "XhtmlBaseParser" /> class.
 /// </summary>
 /// <param name = "settings">The settings.</param>
 /// <param name = "typeManager">The type manager.</param>
 protected XhtmlBaseParser(NameValueCollection settings, TypeManager typeManager, TextWriter logger)
     : base(settings, typeManager, logger)
 {
 }
 /// <summary>
 ///   Initializes a new instance of the <see cref = "XhtmlDoxygenMethodParser" /> class.
 /// </summary>
 /// <param name = "settings">The settings.</param>
 /// <param name = "typeManager">The type manager.</param>
 public XhtmlDoxygenMethodParser(NameValueCollection settings, TypeManager typeManager, TextWriter logger)
     : base(settings, typeManager, logger)
 {
 }
 /// <summary>
 ///   Initializes a new instance of the <see cref = "XhtmlClassParser" /> class.
 /// </summary>
 /// <param name = "settings">The settings.</param>
 public XhtmlCocoaClassParser(NameValueCollection settings, TypeManager typeManager, TextWriter logger)
     : base(settings, typeManager, logger)
 {
     this.MethodParser = new XhtmlCocoaMethodParser (settings, typeManager, logger);
     this.PropertyParser = new XhtmlCocoaPropertyParser (settings, typeManager, logger);
 }
Example #9
0
        /// <summary>
        /// Executes the task.
        /// </summary>
        protected override void ExecuteTask()
        {
            String baseFolder = this.CreateBaseDir ();
            DocSet docSet = this.CreateDocSet ();
            IEnumerable<Framework> frameworks = this.CreateFrameworks (docSet);

            this.typeManager = new TypeManager ();
            this.typeManager.SetMappings (this.MappingFile.ToString ());
            Func<FrameworkEntity, bool> selector = delegate(FrameworkEntity e) {
                return e.type == FrameworkEntityType.C || e.type == FrameworkEntityType.P;
            };
            var names = frameworks.SelectMany (f => f.GetEntities ().Where (selector).Select (e => e.name));
            this.typeManager.SetClasses (names);

            // Prepare the settings
            this.settings = this.CreateSettings ();

            TextWriter writer = null;
            if (this.Report != null) {
                writer = new StreamWriter (this.Report.ToString ());
            }

            foreach (var f in frameworks) {
                if (writer != null) {
                    writer.WriteLine ("Framework " + f.name);
                }
                foreach (var e in f.GetEntities()) {
                    if (writer != null) {
                        writer.WriteLine ("Entity " + e.name);
                    }
                    this.Log (Level.Verbose, String.Format ("Processing '{0}'...", e.name));

                    String sourcePath = e.GetPath (baseFolder, DocumentType.Xhtml);
                    String destinationPath = e.GetPath (baseFolder, DocumentType.Model);

                    if (sourcePath == null || !File.Exists (sourcePath)) {
                        continue;
                    }

                    if (sourcePath.IsYoungerThan (destinationPath)) {
                        this.Log (Level.Info, String.Format ("Converting '{0}'...", e.name));
                        Convert (f, e, sourcePath, destinationPath, writer);
                    } else {
                        this.Log (Level.Debug, String.Format ("Skipping '{0}'...", e.name));
                    }
                }
            }

            if (this.Report != null) {
                writer.Close ();
                writer.Dispose ();
            }

            if (this.MappingReport != null) {
                using(writer = new StreamWriter (this.MappingReport.ToString ())) {
                    IDictionary<String, String> samples = this.typeManager.Samples;
                    List<String> keys = new List<String>(samples.Keys);
                    keys.Sort();
                    foreach(var key in keys) {
                        writer.WriteLine("{0}={1}", key, samples[key]);
                    }
                    writer.Close();
                }
            }
        }
Example #10
0
 /// <summary>
 ///   Initializes a new instance of the <see cref = "BaseParser" /> class.
 /// </summary>
 /// <param name = "settings">The settings.</param>
 /// <param name = "typeManager">The type manager.</param>
 protected BaseParser(NameValueCollection settings, TypeManager typeManager, TextWriter logger)
 {
     this.Settings = settings;
     this.TypeManager = typeManager;
     this.Logger = logger ?? new StringWriter();
 }