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


Java UnionEntry.defaultBranch方法代码示例

本文整理汇总了Java中com.sun.tools.corba.se.idl.UnionEntry.defaultBranch方法的典型用法代码示例。如果您正苦于以下问题:Java UnionEntry.defaultBranch方法的具体用法?Java UnionEntry.defaultBranch怎么用?Java UnionEntry.defaultBranch使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.sun.tools.corba.se.idl.UnionEntry的用法示例。


在下文中一共展示了UnionEntry.defaultBranch方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: writeNonBoolean

import com.sun.tools.corba.se.idl.UnionEntry; //导入方法依赖的package包/类
/**
 *
 **/
private int writeNonBoolean (String disName, int index, String indent, String name, UnionEntry u, PrintWriter stream)
{
  SymtabEntry utype = Util.typeOf (u.type ());
  if (utype instanceof EnumEntry)
    stream.println (indent + "switch (" + name + ".discriminator ().value ())");
  else
    stream.println (indent + "switch (" + name + ".discriminator ())");
  stream.println (indent + "{");
  String typePackage = Util.javaQualifiedName (utype) + '.';
  Enumeration e = u.branches ().elements ();
  while (e.hasMoreElements ())
  {
    UnionBranch branch = (UnionBranch)e.nextElement ();
    Enumeration labels = branch.labels.elements ();
    while (labels.hasMoreElements ())
    {
      Expression label = (Expression)labels.nextElement ();
      if (utype instanceof EnumEntry)
      {
        String key = Util.parseExpression (label);
        stream.println (indent + "  case " + typePackage + '_' + key + ":");
      }
      else
        stream.println (indent + "  case " + cast (label, utype) + ':');
    }
    if (!branch.typedef.equals (u.defaultBranch ()))
    {
      index = writeBranch (index, indent + "    ", name, branch.typedef, stream);
      stream.println (indent + "    break;");
    }
  }
  if (u.defaultBranch () != null) {
    stream.println (indent + "  default:");
    index = writeBranch (index, indent + "    ", name, u.defaultBranch (), stream);
    stream.println (indent + "    break;");
  }
  stream.println (indent + "}");
  return index;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:43,代码来源:UnionGen.java

示例2: readNonBoolean

import com.sun.tools.corba.se.idl.UnionEntry; //导入方法依赖的package包/类
private int readNonBoolean (String disName, int index, String indent,
    String name, UnionEntry u, PrintWriter stream)
{
    SymtabEntry utype = Util.typeOf (u.type ());

    if (utype instanceof EnumEntry)
        stream.println (indent + "switch (" + disName + ".value ())");
    else
        stream.println (indent + "switch (" + disName + ')');

    stream.println (indent + '{');
    String typePackage = Util.javaQualifiedName (utype) + '.';

    Enumeration e = u.branches ().elements ();
    while (e.hasMoreElements ()) {
        UnionBranch branch = (UnionBranch)e.nextElement ();
        Enumeration labels = branch.labels.elements ();

        while (labels.hasMoreElements ()) {
            Expression label = (Expression)labels.nextElement ();

            if (utype instanceof EnumEntry) {
                String key = Util.parseExpression (label);
                stream.println (indent + "  case " + typePackage + '_' + key + ':');
            } else
                stream.println (indent + "  case " + cast (label, utype) + ':');
        }

        if (!branch.typedef.equals (u.defaultBranch ())) {
            index = readBranch (index, indent + "    ", branch.typedef.name (),
                branch.labels.size() > 1 ? disName : "" ,
                branch.typedef, stream);
            stream.println (indent + "    break;");
        }
    }

    // We need a default branch unless all of the case of the discriminator type
    // are listed in the case branches.
    if (!coversAll(u)) {
        stream.println( indent + "  default:") ;

        if (u.defaultBranch () == null) {
            // If the union does not have a default branch, we still need to initialize
            // the discriminator.
            stream.println( indent + "    value._default( " + disName + " ) ;" ) ;
        } else {
            index = readBranch (index, indent + "    ", u.defaultBranch ().name (), disName,
                u.defaultBranch (), stream);
        }

        stream.println (indent + "    break;");
    }

    stream.println (indent + '}');

    return index;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:58,代码来源:UnionGen.java


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