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); }
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) { 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; }
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); }
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; }
//名前空間宣言 : JavaScriptでは出現しない public override bool Visit( UnifiedNamespaceDefinition element, VisitorArgument arg) { return(false); }