コード例 #1
0
ファイル: PhpCodeModule.cs プロジェクト: rajeshwarn/cs2php
        // Private Methods 

        private static void EmitWithNamespace(PhpNamespace ns, PhpSourceCodeEmiter emiter, PhpSourceCodeWriter writer, PhpEmitStyle style, IEnumerable <IEmitable> classesInNamespace)
        {
            if (classesInNamespace == null)
            {
                return;
            }
            var inNamespace = classesInNamespace as IEmitable[] ?? classesInNamespace.ToArray();

            if (!inNamespace.Any())
            {
                return;
            }
            style.CurrentNamespace = ns;
            try
            {
                if (ns.IsRoot)
                {
                    writer.OpenLn("namespace {");
                }
                else
                {
                    writer.OpenLnF("namespace {0} {{", ns.Name.Substring(1));
                }
                foreach (var cl in inNamespace)
                {
                    cl.Emit(emiter, writer, style);
                }
                writer.CloseLn("}");
            }
            finally
            {
                style.CurrentNamespace = null;
            }
        }
コード例 #2
0
        // Public Methods 


        // Private Methods 

        private static Item GetItemForNamespace(List<Item> list, PhpNamespace name)
        {
            var item = list.Any() ? list.Last() : null;
            if (item == null || item.Name != name)
            {
                item = new Item(name);
                list.Add(item);
            }
            return item;
        }
コード例 #3
0
ファイル: PhpCodeModule.cs プロジェクト: exaphaser/cs2php
        // Private Methods 

        private static void EmitWithNamespace(PhpNamespace ns, PhpSourceCodeEmiter emiter, PhpSourceCodeWriter writer, PhpEmitStyle style, IEnumerable<IEmitable> classesInNamespace)
        {
            if (classesInNamespace == null)
                return;
            var inNamespace = classesInNamespace as IEmitable[] ?? classesInNamespace.ToArray();
            if (!inNamespace.Any())
                return;
            style.CurrentNamespace = ns;
            try
            {
                if (ns.IsRoot)
                    writer.OpenLn("namespace {");
                else
                    writer.OpenLnF("namespace {0} {{", ns.Name.Substring(1));
                foreach (var cl in inNamespace)
                    cl.Emit(emiter, writer, style);
                writer.CloseLn("}");
            }
            finally
            {
                style.CurrentNamespace = null;
            }
        }
コード例 #4
0
 /*
  * /// <summary>
  * /// Tworzy instancję obiektu
  * /// </summary>
  * public PhpNamespaceStatement()
  * {
  * }
  *
  * Przykłady użycia
  *
  * implement INotifyPropertyChanged
  * implement INotifyPropertyChanged_Passive
  * implement ToString ##Name## ##Code##
  * implement ToString Name=##Name##, Code=##Code##
  * implement equals Name, Code
  * implement equals *
  * implement equals *, ~exclude1, ~exclude2
  */
 #region Constructors
 /// <summary>
 /// Tworzy instancję obiektu
 /// <param name="Name">namespace name</param>
 /// </summary>
 public PhpNamespaceStatement(PhpNamespace Name)
 {
     this.Name = Name;
 }
コード例 #5
0
 public Item(PhpNamespace Name)
 {
     this.Name = Name;
     Items = new List<IEmitable>(); ;
 }
コード例 #6
0
ファイル: PhpNamespace.cs プロジェクト: yekainew/cs2php
 /// <summary>
 ///     Sprawdza, czy wskazany obiekt jest równy bieżącemu
 /// </summary>
 /// <param name="obj">obiekt do porównania z obiektem bieżącym</param>
 /// <returns><c>true</c> jeśli wskazany obiekt jest równy bieżącemu; w przeciwnym wypadku<c>false</c></returns>
 public bool Equals(PhpNamespace other)
 {
     return(other == this);
 }
コード例 #7
0
        /*
        /// <summary>
        /// Tworzy instancję obiektu
        /// </summary>
        public PhpNamespaceStatement()
        {
        }

        Przykłady użycia

        implement INotifyPropertyChanged
        implement INotifyPropertyChanged_Passive
        implement ToString ##Name## ##Code##
        implement ToString Name=##Name##, Code=##Code##
        implement equals Name, Code
        implement equals *
        implement equals *, ~exclude1, ~exclude2
        */
        #region Constructors
        /// <summary>
        /// Tworzy instancję obiektu
        /// <param name="Name">namespace name</param>
        /// </summary>
        public PhpNamespaceStatement(PhpNamespace Name)
        {
            this.Name = Name;
        }