public override object VisitNamespaceVariableStatement([NotNull] NamespaceVariableStatementContext context) { var r1 = (Result)Visit(context.id()); var isMutable = context.m != null; var typ = ""; Result r2 = null; if (context.expression() != null) { r2 = (Result)Visit(context.expression()); typ = (string)r2.data; } if (context.type() != null) { typ = (string)Visit(context.type()); } var obj = ""; if (context.annotationSupport() != null) { obj += Visit(context.annotationSupport()); } obj += $"{r1.permission} static {typ} {r1.text}"; if (r2 != null) { obj += $" = {r2.text} {Terminate} {Wrap}"; } else { obj += Terminate + Wrap; } return(obj); }
public override object VisitNamespaceVariableStatement(NamespaceVariableStatementContext context) { var r1 = ((Result)Visit(context.id())); Add_ID(r1.text); var is_mutable = r1.is_virtual; var typ = ""; Result?r2 = null; if (context.expression() != null) { r2 = ((Result)Visit(context.expression())); typ = ((string)r2.data); } if (context.typeType() != null) { typ = ((string)Visit(context.typeType())); } var isMutable = true; if (!r1.isMutable) { switch (typ) { case "int": { isMutable = false; } break; case "uint": { isMutable = false; } break; case "long": { isMutable = false; } break; case "ulong": { isMutable = false; } break; case "ushort": { isMutable = false; } break; case "short": { isMutable = false; } break; case "byte": { isMutable = false; } break; case "sbyte": { isMutable = false; } break; case "float": { isMutable = false; } break; case "double": { isMutable = false; } break; case "bool": { isMutable = false; } break; case "char": { isMutable = false; } break; case "string": { isMutable = false; } break; } } var obj = ""; if (context.annotationSupport() != null) { obj += Visit(context.annotationSupport()); } if (self_property_content.Size() > 0) { obj += (new System.Text.StringBuilder().Append(r1.permission).Append(" static ").Append(typ).Append(" ").Append(r1.text).Append(BlockLeft)).To_Str(); foreach (var v in self_property_content) { obj += v; } obj += BlockRight + Wrap; self_property_content.Clear(); } else if (isMutable || r2 == null) { obj += (new System.Text.StringBuilder().Append(r1.permission).Append(" static ").Append(typ).Append(" ").Append(r1.text)).To_Str(); if (r2 != null) { obj += (new System.Text.StringBuilder().Append(" = ").Append(r2.text).Append(Terminate).Append(Wrap)).To_Str(); } else { obj += Terminate + Wrap; } } else { obj += (new System.Text.StringBuilder().Append(r1.permission).Append(" const ").Append(typ).Append(" ").Append(r1.text).Append(" = ").Append(r2.text).Append(Terminate).Append(Wrap)).To_Str(); } return(obj); }
public override object VisitNamespaceVariableStatement(NamespaceVariableStatementContext context) { var r1 = (Result)(Visit(context.id())); this.add_id(r1.text); var isMutable = r1.isVirtual; var typ = ""; Result r2 = null; if (context.expression() != null) { r2 = (Result)(Visit(context.expression())); typ = (string)(r2.data); } if (context.typeType() != null) { typ = (string)(Visit(context.typeType())); } var obj = ""; if (context.annotationSupport() != null) { this.selfPropertyID = r1.text; obj += Visit(context.annotationSupport()); } if (this.selfPropertyContent.len > 0) { var pri = ""; if (this.selfPropertyVariable) { pri = (new System.Text.StringBuilder().Append("private static ").Append(typ).Append(" _").Append(r1.text)).to_str(); if (r2 != null) { pri += " = " + r2.text; } pri += Terminate + Wrap; } obj = pri + obj; obj += (new System.Text.StringBuilder().Append(r1.permission).Append(" static ").Append(typ).Append(" ").Append(r1.text).Append(BlockLeft)).to_str(); foreach (var v in this.selfPropertyContent) { obj += v; } obj += BlockRight + Wrap; this.selfPropertyContent.clear(); this.selfPropertyID = ""; this.selfPropertyVariable = false; } else { obj += (new System.Text.StringBuilder().Append(r1.permission).Append(" static ").Append(typ).Append(" ").Append(r1.text)).to_str(); if (r2 != null) { obj += (new System.Text.StringBuilder().Append(" = ").Append(r2.text).Append(Terminate).Append(Wrap)).to_str(); } else { obj += Terminate + Wrap; } } return(obj); }