Exemple #1
0
 /// <summary>
 /// Ensures that the writer state matches the required level.
 /// </summary>
 /// <param name="requiredLevel">The level required.</param>
 void EnsureLevel(WriterLevel requiredLevel)
 {
     if (requiredLevel != _Level)
     {
         throw new InvalidOperationException($"Writer level is '{_Level}' and does not match required level {requiredLevel}");
     }
 }
Exemple #2
0
        /// <summary>
        /// Closes the current open bracket.
        /// </summary>
        public void CloseBracket()
        {
            if (_Level == WriterLevel.Type)
            {
                CurrentTypeName = null;
            }

            _Level = _Level - 1;
            _Writer.WriteLine(GetIntent() + "}");
        }
Exemple #3
0
        /// <summary>
        /// Sets the namespace of the current file.
        /// </summary>
        /// <param name="namespace">The namespace to set.</param>
        public void BeginNamespace(String @namespace)
        {
            EnsureLevel(WriterLevel.Using);

            // Writes the namespace
            _Writer.WriteLine();
            _Writer.WriteLine($"namespace {@namespace}");
            _Writer.WriteLine("{");
            // Set the namespace of the file
            _Namespace = @namespace;

            // Set writer level
            _Level = WriterLevel.Namespace;
        }
Exemple #4
0
        /// <summary>
        /// Begins a new class definition.
        /// </summary>
        /// <param name="className">The name of the class.</param>
        /// <param name="baseClassName">The name of the base class.</param>
        /// <param name="isAbstract">Determines if the type is abstract.</param>
        public void BeginClass(String className, String baseClassName = null, Boolean isAbstract = false)
        {
            EnsureLevel(WriterLevel.Namespace);

            if (baseClassName != null)
            {
                baseClassName = $" : {baseClassName}";
            }

            CurrentTypeName = className;
            _Writer.WriteLine($"\tpublic{(isAbstract ? " abstract" : String.Empty)} class {className}{baseClassName}");
            _Writer.WriteLine("\t{");

            _Level = WriterLevel.Type;
        }