]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
libvaladoc: Avoid nullable enum as property-type 93c41d6d1affcd340c02f1a96f21de942ba61d03
authorRico Tzschichholz <ricotz@ubuntu.com>
Fri, 14 Jul 2017 13:07:07 +0000 (15:07 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Mon, 17 Jul 2017 09:20:09 +0000 (11:20 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=784927

libvaladoc/content/embedded.vala
libvaladoc/content/paragraph.vala
libvaladoc/content/sourcecode.vala
libvaladoc/content/styleattributes.vala
libvaladoc/content/tablecell.vala
libvaladoc/documentation/importerhelper.vala
libvaladoc/html/htmlrenderer.vala

index 2666cd8e92bed6ecb2cb14fe396bf20206659017..8eed77cfa956999c65683fab6cdfc1870c4539e7 100644 (file)
@@ -33,12 +33,12 @@ public class Valadoc.Content.Embedded : ContentElement, Inline, StyleAttributes
                set;
        }
 
-       public HorizontalAlign? horizontal_align {
+       public HorizontalAlign horizontal_align {
                get;
                set;
        }
 
-       public VerticalAlign? vertical_align {
+       public VerticalAlign vertical_align {
                get;
                set;
        }
index 548c03f0d00fc7ba35e7433fb9abf166a946b7db..2c8fbefd3665979152a3b61160963be3adee06c9 100644 (file)
 
 
 public class Valadoc.Content.Paragraph : InlineContent, Block, StyleAttributes {
-       public HorizontalAlign? horizontal_align {
+       public HorizontalAlign horizontal_align {
                get;
                set;
        }
 
-       public VerticalAlign? vertical_align {
+       public VerticalAlign vertical_align {
                get;
                set;
        }
index a9c4935f40b50d0cfc59ec8f42b225ba1f47f40b..a9b74b55856c971a52ed33235fbc5e5103406257 100644 (file)
 
 public class Valadoc.Content.SourceCode : ContentElement, Inline {
        public enum Language {
+               UNKNOWN,
                GENIE,
                VALA,
                XML,
                C;
 
-               public static Language? from_path (string path) {
+               public static Language from_path (string path) {
                        int pos = path.last_index_of (".");
                        if (pos < 0) {
-                               return null;
+                               return Language.UNKNOWN;
                        }
 
                        string ext = path.substring (pos + 1);
                        return from_string (ext, true);
                }
 
-               public static Language? from_string (string str, bool is_extension = false) {
+               public static Language from_string (string str, bool is_extension = false) {
                        switch (str) {
                        case "genie":
                                if (is_extension) {
-                                       return null;
+                                       return Language.UNKNOWN;
                                }
                                return Language.GENIE;
-
                        case "gs":
                                return Language.GENIE;
-
                        case "xml":
                                return Language.XML;
-
                        case "vala":
                                return Language.VALA;
-
                        case "c":
                        case "h":
                                return Language.C;
                        }
 
-                       return null;
+                       return Language.UNKNOWN;
                }
 
                public unowned string to_string () {
                        switch (this) {
                        case Language.GENIE:
                                return "genie";
-
                        case Language.VALA:
                                return "vala";
-
                        case Language.XML:
                                return "xml";
-
                        case Language.C:
                                return "c";
                        }
 
-                       assert (true);
-                       return "";
+                       assert_not_reached ();
                }
        }
 
@@ -95,7 +88,7 @@ public class Valadoc.Content.SourceCode : ContentElement, Inline {
                private set;
        }
 
-       public Language? language {
+       public Language language {
                get;
                set;
        }
@@ -190,7 +183,7 @@ public class Valadoc.Content.SourceCode : ContentElement, Inline {
                                string name = start._strip ().down ();
                                _language = Language.from_string (name);
                                code = splitted[1] ?? "";
-                               if (_language == null && name != "none") {
+                               if (_language == Language.UNKNOWN && name != "none") {
                                        string node_segment = (container is Api.Package)? "" : container.get_full_name () + ": ";
                                        reporter.simple_warning ("%s: %s{{{".printf (file_path, node_segment),
                                                "Unsupported programming language '%s'", name);
index 69fdb83e4c4e8fa305b63011f4e2c02246cca918..7ee404e715c7e17c94e271a79d6e68c2c0674420 100644 (file)
 
 
 public enum Valadoc.Content.HorizontalAlign {
+       NONE,
        LEFT,
        RIGHT,
        CENTER;
 
-       public static HorizontalAlign? from_string (string str) {
+       public static HorizontalAlign from_string (string str) {
                switch (str) {
+               case "none":
+                       return HorizontalAlign.NONE;
                case "left":
                        return HorizontalAlign.LEFT;
-
                case "right":
                        return HorizontalAlign.RIGHT;
-
                case "center":
                        return HorizontalAlign.CENTER;
                }
-
-               return null;
+               assert_not_reached ();
        }
 
        public unowned string to_string () {
                switch (this) {
+               case HorizontalAlign.NONE:
+                       return "none";
                case HorizontalAlign.LEFT:
                        return "left";
-
                case HorizontalAlign.RIGHT:
                        return "right";
-
                case HorizontalAlign.CENTER:
                        return "center";
                }
-
-               assert (true);
-               return "";
+               assert_not_reached ();
        }
 }
 
 public enum Valadoc.Content.VerticalAlign {
+       NONE,
        TOP,
        MIDDLE,
        BOTTOM;
 
-       public static VerticalAlign? from_string (string str) {
+       public static VerticalAlign from_string (string str) {
                switch (str) {
+               case "none":
+                       return VerticalAlign.NONE;
                case "top":
                        return VerticalAlign.TOP;
-
                case "middle":
                        return VerticalAlign.MIDDLE;
-
                case "bottom":
                        return VerticalAlign.BOTTOM;
                }
-
-               return null;
+               assert_not_reached ();
        }
 
        public unowned string to_string () {
                switch (this) {
+               case VerticalAlign.NONE:
+                       return "none";
                case VerticalAlign.TOP:
                        return "top";
-
                case VerticalAlign.MIDDLE:
                        return "middle";
-
                case VerticalAlign.BOTTOM:
                        return "bottom";
                }
-
-               assert (true);
-               return "";
+               assert_not_reached ();
        }
 }
 
 public interface Valadoc.Content.StyleAttributes : ContentElement {
-       public abstract HorizontalAlign? horizontal_align {
+       public abstract HorizontalAlign horizontal_align {
                get;
                set;
        }
 
-       public abstract VerticalAlign? vertical_align {
+       public abstract VerticalAlign vertical_align {
                get;
                set;
        }
index 9bc1208886a41af3fbf94a474c1585f99efe9cda..a0a806a332f3c93b06afc492541d1a5f6f61f9f7 100644 (file)
 
 
 public class Valadoc.Content.TableCell : InlineContent, StyleAttributes {
-       public HorizontalAlign? horizontal_align {
+       public HorizontalAlign horizontal_align {
                get;
                set;
        }
 
-       public VerticalAlign? vertical_align {
+       public VerticalAlign vertical_align {
                get;
                set;
        }
index 76888d740503078726abdb771e7c92c0db4543b5..952db70e5f76298a7304cb9f5b7589094fe3111d 100644 (file)
@@ -145,8 +145,8 @@ namespace Valadoc.ImporterHelper {
 
 
                // avoid fancy stuff in short descriptions:
-               first_paragraph.horizontal_align = null;
-               first_paragraph.vertical_align = null;
+               first_paragraph.horizontal_align = HorizontalAlign.NONE;
+               first_paragraph.vertical_align = VerticalAlign.NONE;
                first_paragraph.style = null;
 
 
index d26d606c9e5b9c514e5d2a95995989f09edfb7ad..9a8c1713e4fa153756247a47b81067638a612116 100644 (file)
@@ -422,23 +422,16 @@ public class Valadoc.Html.HtmlRenderer : ContentRenderer {
 
        public override void visit_paragraph (Paragraph element) {
                //FIXME: the extra-field is just a workarround for the current codegen ...
-               if (element.horizontal_align == null) {
+               switch (element.horizontal_align) {
+               case HorizontalAlign.CENTER:
+                       writer.start_tag ("p", {"style", "text-align: center;"});
+                       break;
+               case HorizontalAlign.RIGHT:
+                       writer.start_tag ("p", {"style", "text-align: right;"});
+                       break;
+               default:
                        writer.start_tag ("p");
-               } else {
-                       HorizontalAlign tmp = element.horizontal_align;
-                       switch (tmp) {
-                       case HorizontalAlign.CENTER:
-                               writer.start_tag ("p", {"style", "text-align: center;"});
-                               break;
-
-                       case HorizontalAlign.RIGHT:
-                               writer.start_tag ("p", {"style", "text-align: right;"});
-                               break;
-
-                       default:
-                               writer.start_tag ("p");
-                               break;
-                       }
+                       break;
                }
                element.accept_children (this);
                writer.end_tag ("p");
@@ -568,11 +561,11 @@ public class Valadoc.Html.HtmlRenderer : ContentRenderer {
        public override void visit_table_cell (TableCell element) {
                string style = "";
 
-               if (element.horizontal_align != null) {
+               if (element.horizontal_align != HorizontalAlign.NONE) {
                        style += "text-align: "+element.horizontal_align.to_string ()+"; ";
                }
 
-               if (element.vertical_align != null) {
+               if (element.vertical_align != VerticalAlign.NONE) {
                        style += "vertical-align: "+element.vertical_align.to_string ()+"; ";
                }