Пример #1
0
 public static Namespace GetNamespace(
     UnifiedNamespaceDefinition packageNode)
 {
     if (packageNode.Descendants<UnifiedProperty>().Count() == 0) {
         return new Namespace {
                 Parent = null,
                 Value =
                         packageNode.Descendants
                                 <UnifiedVariableIdentifier>().First().
                                 Name,
                 NamespaceType = NamespaceType.Package,
         };
     }
     var firstProperty =
             packageNode.Descendants<UnifiedProperty>().First();
     var delimiter = ".";
     return new Namespace {
             Parent = null,
             Value =
                     string.Join(
                             delimiter,
                             firstProperty.Descendants
                                     <UnifiedVariableIdentifier>().Select
                                     (e => e.Name)),
             NamespaceType = NamespaceType.Package,
     };
 }
 public override bool Visit(
         UnifiedNamespaceDefinition element, VisitorArgument arg)
 {
     Writer.Write("package ");
     element.Name.TryAccept(this, arg);
     Writer.WriteLine(";");
     element.Body.TryAccept(this, arg);
     return false;
 }
 public override bool Visit(
     UnifiedNamespaceDefinition element, VisitorArgument arg)
 {
     Writer.Write("package ");
     element.Name.TryAccept(this, arg);
     Writer.WriteLine(";");
     element.Body.TryAccept(this, arg);
     return(false);
 }
Пример #4
0
 public override bool Visit(
     UnifiedNamespaceDefinition element, VisitorArgument arg)
 {
     element.Annotations.TryAccept(this, arg);
     Writer.Write("namespace ");
     element.Name.Accept(this, arg);
     Writer.Write(" ");
     element.Body.Accept(this, arg.Set(ForBlock));
     return false;
 }
Пример #5
0
 public override bool Visit(
     UnifiedNamespaceDefinition element, VisitorArgument arg)
 {
     element.Annotations.TryAccept(this, arg);
     Writer.Write("namespace ");
     element.Name.Accept(this, arg);
     Writer.Write(" ");
     element.Body.Accept(this, arg.Set(ForBlock));
     return(false);
 }
 public override bool Visit(
         UnifiedNamespaceDefinition element, VisitorArgument arg)
 {
     // パッケージはディレクトリ構造で表現
     Writer.Write("# ");
     element.Modifiers.TryAccept(this, arg);
     Writer.Write("package");
     Writer.Write(" ");
     element.Name.TryAccept(this, arg);
     return false;
 }
Пример #7
0
 public override bool Visit(
     UnifiedNamespaceDefinition element, VisitorArgument arg)
 {
     // パッケージはディレクトリ構造で表現
     Writer.Write("# ");
     element.Modifiers.TryAccept(this, arg);
     Writer.Write("package");
     Writer.Write(" ");
     element.Name.TryAccept(this, arg);
     return(false);
 }
Пример #8
0
        public UnifiedElement VisitNamespaceDeclaration(
            NamespaceDeclaration dec, object data)
        {
            var ns = dec.Identifiers
                     .Select(
                ident =>
                ident.Name.ToVariableIdentifier() as
                UnifiedExpression)
                     .Aggregate(
                (left, right) =>
                UnifiedProperty.Create(".", left, right));
            var body = dec.Members
                       .Select(mem => mem.TryAcceptForExpression(this))
                       .ToBlock();

            return(UnifiedNamespaceDefinition.Create(name: ns, body: body));
        }
 //名前空間宣言 : JavaScriptでは出現しない
 public override bool Visit(
         UnifiedNamespaceDefinition element, VisitorArgument arg)
 {
     return false;
 }
Пример #10
0
 //名前空間宣言 : JavaScriptでは出現しない
 public override bool Visit(
     UnifiedNamespaceDefinition element, VisitorArgument arg)
 {
     return(false);
 }