public string CSharpName(MetaConstant mconst, MetaModel mmodel, ClassKind kind = ClassKind.None, bool fullName = false) { string result = mconst.Name; if (fullName) { string fullNamePrefix; switch (kind) { case ClassKind.BuilderInstance: fullNamePrefix = this.CSharpName(mmodel, this.ToModelKind(kind), !this.ContainsDeclaration(mmodel, mconst)); result = fullNamePrefix + ".instance." + result; break; case ClassKind.ImmutableInstance: case ClassKind.FactoryMethod: case ClassKind.Implementation: fullNamePrefix = this.CSharpName(mmodel, this.ToModelKind(kind), !this.ContainsDeclaration(mmodel, mconst)); result = fullNamePrefix + "." + result; break; case ClassKind.Immutable: case ClassKind.Builder: case ClassKind.ImmutableOperation: case ClassKind.BuilderOperation: if (mconst.DotNetName != null) { result = mconst.DotNetName; } else { fullNamePrefix = this.CSharpName(mconst.Namespace, this.ToNamespaceKind(kind), fullName); result = "global::" + fullNamePrefix + "." + result; } break; default: fullNamePrefix = this.CSharpName(mconst.Namespace, this.ToNamespaceKind(kind), fullName); result = "global::" + fullNamePrefix + "." + result; break; } } return(result); }
/// <summary> /// Implements the constructor: MetaConstant() /// Direct superclasses: global::MetaDslx.Core.MetaTypedElement, global::MetaDslx.Core.MetaDeclaration /// All superclasses: global::MetaDslx.Core.MetaTypedElement, global::MetaDslx.Core.MetaDeclaration, global::MetaDslx.Core.MetaNamedElement, global::MetaDslx.Core.MetaDocumentedElement, global::MetaDslx.Core.MetaAnnotatedElement /// </summary> public virtual void MetaConstant(MetaConstant @this) { this.MetaTypedElement(@this); this.MetaDeclaration(@this); }