예제 #1
0
 public override object VisitNamespaceDeclaration(NamespaceDeclaration namespaceDeclaration, object data)
 {
     CSharpLanguage.VisitorData data2 = (CSharpLanguage.VisitorData) data;
     data2.CurrentNamespaces.Push(namespaceDeclaration.Name);
     namespaceDeclaration.AcceptChildren(this, data2);
     data2.CurrentNamespaces.Pop();
     return null;
 }
            public override object VisitNamespaceDeclaration(ICSharpCode.NRefactory.Ast.NamespaceDeclaration namespaceDeclaration, object data)
            {
                var visitorData = (VisitorData)data;

                visitorData.currentNamespaces.Push(namespaceDeclaration.Name);
                namespaceDeclaration.AcceptChildren(this, visitorData);
                visitorData.currentNamespaces.Pop();

                return(null);
            }
        public override object VisitNamespaceDeclaration(AST.NamespaceDeclaration namespaceDeclaration, object data)
        {
            DefaultUsingScope oldNamespace = currentNamespace;

            foreach (string name in namespaceDeclaration.Name.Split('.'))
            {
                currentNamespace               = new DefaultUsingScope();
                currentNamespace.Parent        = currentNamespace;
                currentNamespace.NamespaceName = PrependCurrentNamespace(name);
                currentNamespace.Parent.ChildScopes.Add(currentNamespace);
            }
            object ret = namespaceDeclaration.AcceptChildren(this, data);

            currentNamespace = oldNamespace;
            return(ret);
        }
예제 #4
0
 public override object VisitNamespaceDeclaration (NamespaceDeclaration node, object data)
 {
     if (!String.IsNullOrEmpty (Namespace))
         throw CreateException (node, "Nested namespaces are not supported");
     
     string prevNamespace = Namespace;
     //var prevUsings = Usings;
     
     Namespace = node.Name;
     //Usings = new HashSet<string> ();
     
     node.AcceptChildren (this, null);
     
     Namespace = prevNamespace;
     //Usings = prevUsings;
     
     return null;
 }
        public override object VisitNamespaceDeclaration(AST.NamespaceDeclaration namespaceDeclaration, object data)
        {
            string name;

            if (currentNamespace.Count == 0)
            {
                name = namespaceDeclaration.Name;
            }
            else
            {
                name = currentNamespace.Peek() + '.' + namespaceDeclaration.Name;
            }

            currentNamespace.Push(name);
            object ret = namespaceDeclaration.AcceptChildren(this, data);

            currentNamespace.Pop();
            return(ret);
        }
 public override object TrackedVisitNamespaceDeclaration(NamespaceDeclaration namespaceDeclaration, object data)
 {
     return namespaceDeclaration.AcceptChildren(this, data);
 }
예제 #7
0
        public override object VisitNamespaceDeclaration(NamespaceDeclaration namespaceDeclaration, object data)
        {
            CodeNamespace currentNamespace = new CodeNamespace(namespaceDeclaration.Name);
            //namespaces.Add(currentNamespace);
            // add imports from mother namespace
            foreach (CodeNamespaceImport import in ((CodeNamespace)namespaceDeclarations.Peek()).Imports) {
                currentNamespace.Imports.Add(import);
            }
            namespaceDeclarations.Push(currentNamespace);
            namespaceDeclaration.AcceptChildren(this, data);
            namespaceDeclarations.Pop();
            codeCompileUnit.Namespaces.Add(currentNamespace);

            // Nested namespaces are not allowed in CodeDOM
            return null;
        }
예제 #8
0
 public virtual object VisitNamespaceDeclaration(NamespaceDeclaration namespaceDeclaration, object data)
 {
     Debug.Assert((namespaceDeclaration != null));
     return namespaceDeclaration.AcceptChildren(this, data);
 }
 public virtual bool VisitNamespaceDeclaration(NamespaceDeclaration namespaceDeclaration, object d)
 {
     if ((namespaceDeclaration == null)) {
         return SetFailure();
     }
     if ((d == null)) {
         return SetFailure();
     }
     if(namespaceDeclaration.GetType() != d.GetType()) {return SetFailure();}
     var data = (NamespaceDeclaration)d;
     if (!IsMatch(namespaceDeclaration, data)) {
         return SetFailure();
     }
     return namespaceDeclaration.AcceptChildren(this, d);
 }
		public override object TrackedVisitNamespaceDeclaration(NamespaceDeclaration namespaceDeclaration, object data)
		{
			currentNamespaceDeclaration = namespaceDeclaration;
			
			codeBuilder.AppendLineIfPreviousLineIsCode();
			AppendIndentedLine("module " + namespaceDeclaration.Name);
			
			IncreaseIndent();
			namespaceDeclaration.AcceptChildren(this, data);
			DecreaseIndent();
			
			AppendIndentedLine("end");
			
			return null;
		}