Fix #8028 - language server performance, fix warnings and critical errors
[roobuilder] / src / JsRender / Node.vala
index cdc7cf3..73515e9 100644 (file)
@@ -767,31 +767,30 @@ public class JsRender.Node : GLib.Object {
                                case PROP: 
                                case RAW: // should they be the same?
                                
-                                       props += "\n\t" + GLib.Markup.escape_text(prop.rtype) +
+                                       props += "\n\t" + (prop.rtype != null && prop.rtype.length > 0 ? GLib.Markup.escape_text(prop.rtype)  : "") +
                                                " <b>" + GLib.Markup.escape_text(i) +"</b> : " + 
-                                               GLib.Markup.escape_text(val.split("\n")[0]);
+                                               (val.length > 0 ? GLib.Markup.escape_text(val.split("\n")[0]) : "");
                                                
                                        break;
-                                       
-                       
+                                        
                                
                                case METHOD :
-                                       funcs += "\n\t" + GLib.Markup.escape_text(prop.rtype) +
+                                       funcs += "\n\t" + (prop.rtype != null && prop.rtype.length > 0 ? GLib.Markup.escape_text(prop.rtype)  : "")  +
                                                " <b>" + GLib.Markup.escape_text(i) +"</b> : "  +
-                                               GLib.Markup.escape_text(val.split("\n")[0]);
+                                               (val.length > 0 ? GLib.Markup.escape_text(val.split("\n")[0]) : "");
                                        break;
                                        
                                 
                                case USER : // user defined.
                                        uprops += "\n\t<b>" + 
                                                GLib.Markup.escape_text(i) +"</b> : " + 
-                                               GLib.Markup.escape_text(val.split("\n")[0]);
+                                               (val.length > 0 ? GLib.Markup.escape_text(val.split("\n")[0]) : "");
                                        break;
                                        
                                case SPECIAL : // * prop| args | ctor | init
                                        spec += "\n\t<b>" + 
                                                GLib.Markup.escape_text(i) +"</b> : " + 
-                                               GLib.Markup.escape_text(val.split("\n")[0]);
+                                               (val.length > 0 ? GLib.Markup.escape_text(val.split("\n")[0]) : "");
                                        break;
                                        
                                case LISTENER : return  "";  // always raw...