当前位置: 首页>>代码示例>>C#>>正文


C# Processor.VisitorArgument类代码示例

本文整理汇总了C#中Unicoen.Processor.VisitorArgument的典型用法代码示例。如果您正苦于以下问题:C# VisitorArgument类的具体用法?C# VisitorArgument怎么用?C# VisitorArgument使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


VisitorArgument类属于Unicoen.Processor命名空间,在下文中一共展示了VisitorArgument类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Visit

 public override bool Visit(
     UnifiedReferenceType element, VisitorArgument arg)
 {
     Writer.Write("/* & */");
     element.Type.TryAccept(this, arg);
     return false;
 }
开发者ID:macc704,项目名称:UNICOEN,代码行数:7,代码来源:JavaLikeCodeFactoryVisitor.Types.cs

示例2: Visit

 public override bool Visit(UnifiedImport element, VisitorArgument arg)
 {
     Writer.Write("import ");
     element.Modifiers.TryAccept(this, arg);
     element.Name.TryAccept(this, arg);
     return false;
 }
开发者ID:macc704,项目名称:UNICOEN,代码行数:7,代码来源:Python2CodeFactoryVisitor.Statements.cs

示例3: Visit

 public override bool Visit(UnifiedProgram element, VisitorArgument arg)
 {
     element.MagicComment.TryAccept(this, arg);
     Writer.WriteLine();
     element.Body.TryAccept(this, arg);
     return false;
 }
开发者ID:UnicoenProject,项目名称:UNICOEN,代码行数:7,代码来源:Python2CodeFactoryVisitor.Others.cs

示例4: Visit

        // ブロック(UnifiedBlock)
        public override bool Visit(UnifiedBlock element, VisitorArgument arg)
        {
            // 要素の左端に記述すべきものがある場合はそれを出力する
            // プログラム全体の場合は何も出力しないが、関数の場合には中括弧が必要になるなど
            if (!string.IsNullOrEmpty(arg.Decoration.MostLeft)) {
                Writer.WriteLine(arg.Decoration.MostLeft);
                arg = arg.IncrementDepth();
            }

            // ブロック内の要素を列挙する
            // セミコロンが必要な要素の場合にはセミコロンを出力する
            foreach (var stmt in element) {
                WriteIndent(arg);
                if (stmt.TryAccept(this, arg)) {
                    Writer.Write(";");
                }
                Writer.Write(arg.Decoration.EachRight);
            }

            // 要素の右端に記述すべきものがある場合はインデントを元に戻しそれを出力する
            if (!string.IsNullOrEmpty(arg.Decoration.MostRight)) {
                arg = arg.DecrementDepth();
                WriteIndent(arg);
                Writer.Write(arg.Decoration.MostRight);
            }
            return false;
        }
开发者ID:macc704,项目名称:UNICOEN,代码行数:28,代码来源:CCodeFactoryVisitor.Statements.cs

示例5: Visit

 public override bool Visit(UnifiedImport element, VisitorArgument arg)
 {
     Writer.Write(ImportKeyword);
     element.Modifiers.TryAccept(this, arg);
     element.Name.TryAccept(this, arg);
     return true;
 }
开发者ID:macc704,项目名称:UNICOEN,代码行数:7,代码来源:JavaLikeCodeFactoryVisitor.Statements.cs

示例6: Visit

 public override bool Visit(UnifiedLambda element, VisitorArgument arg)
 {
     element.Parameters.TryAccept(this, arg);
     Writer.Write(" => ");
     element.Body.Accept(this, arg);
     return true;
 }
开发者ID:macc704,项目名称:UNICOEN,代码行数:7,代码来源:CSharpCodeFactoryVisitor.cs

示例7: Visit

 //単項演算子
 public override bool Visit(
         UnifiedUnaryOperator element, VisitorArgument arg)
 {
     var kind = element.Kind;
     switch (kind) {
     case (UnifiedUnaryOperatorKind.Negate):
         Writer.Write("-");
         break;
     case (UnifiedUnaryOperatorKind.Not):
         Writer.Write("!");
         break;
     case (UnifiedUnaryOperatorKind.PostDecrementAssign):
     case (UnifiedUnaryOperatorKind.PreDecrementAssign):
         Writer.Write("--");
         break;
     case (UnifiedUnaryOperatorKind.PostIncrementAssign):
     case (UnifiedUnaryOperatorKind.PreIncrementAssign):
         Writer.Write("++");
         break;
     case (UnifiedUnaryOperatorKind.UnaryPlus):
         Writer.Write("+");
         break;
     case (UnifiedUnaryOperatorKind.OnesComplement):
         Writer.Write("~");
         break;
     case (UnifiedUnaryOperatorKind.Unknown):
         Writer.Write(element.Sign);
         break;
     default:
         throw new InvalidOperationException();
     }
     return false;
 }
开发者ID:UnicoenProject,项目名称:UNICOEN,代码行数:34,代码来源:JavaScriptCodeFactoryVisitor.Others.cs

示例8: Visit

 //goto文
 public override bool Visit(UnifiedGoto element, VisitorArgument arg)
 {
     //JavaScriptではgoto文はサポートされていない
     Writer.Write("/* goto ");
     element.Target.TryAccept(this, arg);
     Writer.Write("*/");
     return true;
 }
开发者ID:macc704,项目名称:UNICOEN,代码行数:9,代码来源:JavaScriptCodeFactoryVisitor.Statements.cs

示例9: Visit

 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;
 }
开发者ID:UnicoenProject,项目名称:UNICOEN,代码行数:9,代码来源:JavaLikeCodeFactoryVisitor.Others.cs

示例10: Visit

 public override bool Visit(
         UnifiedSet<UnifiedCase> element, VisitorArgument arg)
 {
     arg = arg.IncrementDepth();
     foreach (var caseElement in element) {
         WriteIndent(arg.IndentDepth);
         caseElement.TryAccept(this, arg);
     }
     return false;
 }
开发者ID:UnicoenProject,项目名称:UNICOEN,代码行数:10,代码来源:JavaScriptCodeFactoryVisitor.Collections.cs

示例11: Visit

        // enum定義(UnifiedEnumDefinition)
        public override bool Visit(
				UnifiedEnumDefinition element, VisitorArgument arg)
        {
            // enum COLOR {RED, BLUE, YELLOW};
            element.Modifiers.TryAccept(this, arg);
            Writer.Write("enum ");
            element.Name.TryAccept(this, arg);
            Writer.Write(" ");
            element.Body.TryAccept(this, arg.Set(ForBlock));
            return true;
        }
开发者ID:UnicoenProject,项目名称:UNICOEN,代码行数:12,代码来源:CCodeFactoryVisitor.Others.cs


注:本文中的Unicoen.Processor.VisitorArgument类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。