• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java SymtabEntry类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



SymtabEntry类属于com.sun.tools.corba.se.idl包,在下文中一共展示了SymtabEntry类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: readBranch

import com.sun.tools.corba.se.idl.SymtabEntry; //导入依赖的package包/类
private int readBranch (int index, String indent, String name, String disName, TypedefEntry entry, PrintWriter stream)
{
    SymtabEntry type = entry.type ();
    Util.writeInitializer (indent, '_' + name, "", entry, stream);

    if (!entry.arrayInfo ().isEmpty () ||
        type instanceof SequenceEntry ||
        type instanceof PrimitiveEntry ||
        type instanceof StringEntry) {
        index = ((JavaGenerator)entry.generator ()).read (index, indent, '_' + name, entry, stream);
    } else {
        stream.println (indent + '_' + name + " = " + Util.helperName (type, true) + ".read (istream);");
    }

    stream.print (indent + "value." + name + " (");
    if( disName == "" )
        stream.println("_" + name + ");");
    else
        stream.println(disName + ", " + "_" + name + ");");

    return index;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:23,代码来源:UnionGen.java


示例2: writeMembers

import com.sun.tools.corba.se.idl.SymtabEntry; //导入依赖的package包/类
/**
 * <d62023> - private state maps to protected, not default
 **/
protected void writeMembers ()
{
  // if the value type contains no data members, a null return is expected
  if (v.state () == null)
    return;

  for (int i = 0; i < v.state ().size (); i ++)
  {
    InterfaceState member = (InterfaceState) v.state ().elementAt (i);
    SymtabEntry entry = (SymtabEntry) member.entry;
    Util.fillInfo (entry);

    if (entry.comment () != null)
      entry.comment ().generate (" ", stream);

    String modifier = "  ";
    if (member.modifier == InterfaceState.Public)
      modifier = "  public ";
    else
      modifier = "  protected ";
    Util.writeInitializer (modifier, entry.name (), "", entry, stream);
  }
  stream.println();
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:28,代码来源:ValueGen24.java


示例3: generate

import com.sun.tools.corba.se.idl.SymtabEntry; //导入依赖的package包/类
/**
 * Generate Java code for all members of an IDL module.
 **/
public void generate (Hashtable symbolTable, ModuleEntry entry, PrintWriter stream)
{
  // Generate the package directory
  String name = Util.containerFullName( entry ) ;
  Util.mkdir (name);

  // Generate all of the contained types
  Enumeration e = entry.contained ().elements ();
  while (e.hasMoreElements ())
  {
    SymtabEntry element = (SymtabEntry)e.nextElement ();
    if (element.emit ())
      element.generate (symbolTable, stream);
  }
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:19,代码来源:ModuleGen.java


示例4: writeExtract

import com.sun.tools.corba.se.idl.SymtabEntry; //导入依赖的package包/类
/**
 *
 **/
private void writeExtract (String indent, String target, String source, SymtabEntry type, PrintWriter stream)
{
  if (type instanceof PrimitiveEntry)
  {
    if (type.name ().equals ("long long"))
      stream.println (indent + target + " = " + source + ".extract_longlong ();");
    else if (type.name ().equals ("unsigned short"))
      stream.println (indent + target + " = " + source + ".extract_ushort ();");
    else if (type.name ().equals ("unsigned long"))
      stream.println (indent + target + " = " + source + ".extract_ulong ();");
    else if (type.name ().equals ("unsigned long long"))
      stream.println (indent + target + " = " + source + ".extract_ulonglong ();");
    else
      stream.println (indent + target + " = " + source + ".extract_" + type.name () + " ();");
  }
  else if (type instanceof StringEntry)
    stream.println (indent + target + " = " + source + ".extract_" + type.name () + " ();");
  else
    stream.println (indent + target + " = " + Util.helperName (type, true) + ".extract (" + source + ");"); // <d61056>
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:24,代码来源:MethodGen.java


示例5: type

import com.sun.tools.corba.se.idl.SymtabEntry; //导入依赖的package包/类
public int type (int index, String indent, TCOffsets tcoffsets, String name, SymtabEntry entry, PrintWriter stream) {
  tcoffsets.set (entry);
  StringEntry stringEntry = (StringEntry)entry;
  String bound;
  if (stringEntry.maxSize () == null)
    bound = "0";
  else
    bound = Util.parseExpression (stringEntry.maxSize ());

  // entry.name() is necessary to determine whether it is a
  // string or wstring

  stream.println (indent
                  + name
                  + " = org.omg.CORBA.ORB.init ().create_"
                  + entry.name()
                  + "_tc ("
                  + bound + ");");
  return index;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:21,代码来源:StringGen.java


示例6: writeMembers

import com.sun.tools.corba.se.idl.SymtabEntry; //导入依赖的package包/类
/**
 *
 **/
protected void writeMembers ()
{
  // if the value type contains no data members, a null return is expected
  if (v.state () == null)
    return;

  for (int i = 0; i < v.state ().size (); i ++)
  {
    InterfaceState member = (InterfaceState) v.state ().elementAt (i);
    SymtabEntry entry = (SymtabEntry) member.entry;
    Util.fillInfo (entry);

    if (entry.comment () != null)
      entry.comment ().generate (" ", stream);

    String modifier = "  ";
    if (member.modifier == InterfaceState.Public)
      modifier = "  public ";
    Util.writeInitializer (modifier, entry.name (), "", entry, stream);
  }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:25,代码来源:ValueGen.java


示例7: generateContainedTypes

import com.sun.tools.corba.se.idl.SymtabEntry; //导入依赖的package包/类
/**
 *
 **/
protected void generateContainedTypes ()
{
  // Generate all of the contained types
  Enumeration e = s.contained ().elements ();
  while (e.hasMoreElements ())
  {
    SymtabEntry entry = (SymtabEntry)e.nextElement ();

    // Don't generate contained entries if they are sequences.
    // Sequences are unnamed and since they translate to arrays,
    // no classes are generated for them, not even holders in this
    // case since they cannot be accessed outside of this struct.

    if (!(entry instanceof SequenceEntry))
      entry.generate (symbolTable, stream);
  }
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:21,代码来源:StructGen.java


示例8: init

import com.sun.tools.corba.se.idl.SymtabEntry; //导入依赖的package包/类
/**
 * Initialize variables unique to this generator.
 **/
protected void init ()
{
  helperClass = entry.name () + "Helper";
  if (entry instanceof ValueBoxEntry)
  {
    ValueBoxEntry v = (ValueBoxEntry) entry;
    TypedefEntry member = ((InterfaceState) v.state ().elementAt (0)).entry;
    SymtabEntry mType =  member.type ();

    if (mType instanceof PrimitiveEntry)
      helperType = Util.javaName (entry);
    else
      helperType = Util.javaName (mType);
  }
  else
    helperType = Util.javaName (entry);
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:21,代码来源:Helper.java


示例9: javaQualifiedName

import com.sun.tools.corba.se.idl.SymtabEntry; //导入依赖的package包/类
/**
 * Given a symtabEntry, return the name of this entry. This
 * method does not do any conversions like javaName does.
 **/
public static String javaQualifiedName (SymtabEntry entry)
{
  String name = "";
  if (entry instanceof PrimitiveEntry)
    name = javaPrimName (entry.name ());
  else if (entry instanceof StringEntry)
    name = "String";
  else if (entry instanceof ValueEntry && entry.name ().equals ("ValueBase"))
    name = "java.io.Serializable";
  else
  {
    SymtabEntry container = entry.container ();
    if (container != null)
      name = container.name ();
    if (name.equals (""))
      name = entry.name ();
    else
      name = containerFullName (entry.container ()) + '.' + entry.name ();
  }
  return name.replace ('/', '.');
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:26,代码来源:Util.java


示例10: checkForArrayBase

import com.sun.tools.corba.se.idl.SymtabEntry; //导入依赖的package包/类
/**
 *
 **/
static private String checkForArrayBase (TypedefEntry t, Vector importTypes, Vector importList)
{
  String arrays = "";
  try
  {
    String name = (String)t.dynamicVariable (Compile.typedefInfo);
    int index = name.indexOf ('[');
    if (index >= 0)
    {
      arrays = name.substring (index);
      name = name.substring (0, index);
    }

    // See if the base type should be added to the list.
    SymtabEntry typeEntry = (SymtabEntry)symbolTable.get (name);
    if (typeEntry != null && importTypes.contains (typeEntry))
      addTo (importList, typeEntry.name ());
  }
  catch (NoSuchFieldException e)
  {}
  return arrays;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:26,代码来源:Util.java


示例11: helperWrite

import com.sun.tools.corba.se.idl.SymtabEntry; //导入依赖的package包/类
/**
 * <d62023>
 **/
public void helperWrite (SymtabEntry entry, PrintWriter stream)
{
  stream.println ("    if (!(ostream instanceof org.omg.CORBA_2_3.portable.OutputStream)) {");
  stream.println ("      throw new org.omg.CORBA.BAD_PARAM(); }");
  stream.println ("    ((org.omg.CORBA_2_3.portable.OutputStream) ostream).write_value (value, _instance);");
  stream.println ("  }");
  stream.println ();

  // done with "write", now do "write_value with real marshalling code.

  stream.println ("  public void write_value (org.omg.CORBA.portable.OutputStream ostream, java.io.Serializable value)");
  stream.println ("  {");

  String entryName = Util.javaName(entry);
  stream.println ("    if (!(value instanceof " + entryName + ")) {");
  stream.println ("      throw new org.omg.CORBA.MARSHAL(); }");
  stream.println ("    " + entryName + " valueType = (" + entryName + ") value;");
  write (0, "    ", "valueType", entry, stream);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:23,代码来源:ValueBoxGen24.java


示例12: helperType

import com.sun.tools.corba.se.idl.SymtabEntry; //导入依赖的package包/类
public int helperType (int index, String indent, TCOffsets tcoffsets, String name, SymtabEntry entry, PrintWriter stream)
  {
    tcoffsets.set (entry);
    EnumEntry enumEntry = (EnumEntry)entry;
    StringBuffer emit = new StringBuffer ("new String[] { ");
    Enumeration e = enumEntry.elements ().elements ();
    boolean firstTime = true;
    while (e.hasMoreElements ())
    {
      if (firstTime)
        firstTime = false;
      else
        emit.append (", ");
      emit.append ('"' + Util.stripLeadingUnderscores ((String)e.nextElement ()) + '"');
    }
    emit.append ("} ");
    stream.println (indent + name + " = org.omg.CORBA.ORB.init ().create_enum_tc ("
      + Util.helperName (enumEntry, true) + ".id (), \"" // <54697> // <d61056>
//      + "_id, \"" <54697>
      + Util.stripLeadingUnderscores (entry.name ()) + "\", "
      + new String (emit) + ");");
    return index + 1;

  }
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:25,代码来源:EnumGen.java


示例13: writeBody

import com.sun.tools.corba.se.idl.SymtabEntry; //导入依赖的package包/类
/**
   *
   **/
  protected void writeBody ()
  {
    InterfaceState member = (InterfaceState) v.state ().elementAt (0);
    SymtabEntry entry = (SymtabEntry) member.entry;
    Util.fillInfo (entry);
    if (entry.comment () != null)
      entry.comment ().generate (" ", stream);
    stream.println ("  public " +  Util.javaName (entry) + " value;");
    stream.println ("  public " +  v.name () + " (" + Util.javaName (entry) + " initial)");
    stream.println ("  {");
    stream.println ("    value = initial;");
    stream.println ("  }");
    stream.println ();
    writeTruncatable (); // <d60929>
//  writeStreamableMethods ();
  }
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:20,代码来源:ValueBoxGen.java


示例14: checkForBounds

import com.sun.tools.corba.se.idl.SymtabEntry; //导入依赖的package包/类
/**
 * Determine the import lines for template types.
 **/
static private void checkForBounds (SymtabEntry entry, Vector importTypes, Vector importList)
{
  // Obtain actual type, just to be complete.
  SymtabEntry entryType = entry;
  while (entryType instanceof TypedefEntry)
    entryType = entryType.type ();

  if (entryType instanceof StringEntry && ((StringEntry)entryType).maxSize () != null)
    checkForGlobalConstants (((StringEntry)entryType).maxSize ().rep (), importTypes, importList);
  else
    if (entryType instanceof SequenceEntry && ((SequenceEntry)entryType).maxSize () != null)
      checkForGlobalConstants (((SequenceEntry)entryType).maxSize ().rep (), importTypes, importList);
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:17,代码来源:Util.java


示例15: helperRead

import com.sun.tools.corba.se.idl.SymtabEntry; //导入依赖的package包/类
/**
 * <d62023>
 **/
public void helperRead (String entryName, SymtabEntry entry, PrintWriter stream)
{
  // REVISIT: Abstract/Custom??
  // per Simon mail 5/17/99
  stream.println ("    return (" + entryName + ")((org.omg.CORBA_2_3.portable.InputStream) istream).read_value (id ());");
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:10,代码来源:ValueGen24.java


示例16: write

import com.sun.tools.corba.se.idl.SymtabEntry; //导入依赖的package包/类
/**
 * <d62023> Call super._write()
 **/
public int write (int index, String indent, String name, SymtabEntry entry, PrintWriter stream)
{
  // First do the state members from concrete parent hierarchy
  Vector vParents = ((ValueEntry)entry).derivedFrom ();
  if (vParents != null && vParents.size () != 0)
  {
    ValueEntry parent = (ValueEntry)vParents.elementAt (0);
    if (parent == null)
      return index;
    // call super._read if non-abstract value parent
    if ((!parent.isAbstract ()) && (! Util.javaQualifiedName(parent).equals ("java.io.Serializable"))) // <d60929>
        stream.println(indent + "super._write (ostream);");
  }

  Vector vMembers = ((ValueEntry) entry ).state ();
  int noOfMembers = vMembers == null ? 0 : vMembers.size ();
  for (int k = 0; k < noOfMembers; k++)
  {
    TypedefEntry member = (TypedefEntry)((InterfaceState)vMembers.elementAt (k)).entry;
    String memberName = member.name ();
    SymtabEntry mType = member.type ();

    if (mType instanceof PrimitiveEntry ||
        mType instanceof TypedefEntry   ||
        mType instanceof SequenceEntry  ||
        mType instanceof StringEntry    ||
        !member.arrayInfo ().isEmpty ())
      index = ((JavaGenerator)member.generator ()).write (index, indent, name + '.' + memberName, member, stream);
    else
      stream.println (indent + Util.helperName (mType, true) + // <d61056>
                            ".write (ostream, " + name + '.' + memberName + ");");
  }

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


示例17: hasRepId

import com.sun.tools.corba.se.idl.SymtabEntry; //导入依赖的package包/类
private static boolean hasRepId (SymtabEntry member)
{
  SymtabEntry mType = Util.typeOf (member);
  return !( mType instanceof PrimitiveEntry ||
            mType instanceof StringEntry ||
            ( mType instanceof TypedefEntry &&
              !(((TypedefEntry)mType).arrayInfo ().isEmpty ()) ) ||
            ( mType instanceof TypedefEntry && member.type () instanceof SequenceEntry) );
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:10,代码来源:ValueGen.java


示例18: read

import com.sun.tools.corba.se.idl.SymtabEntry; //导入依赖的package包/类
public int read (int index, String indent, String name, SymtabEntry entry, PrintWriter stream)
{
  InterfaceEntry i = (InterfaceEntry)entry;
  if (entry.fullName ().equals ("org/omg/CORBA/Object"))
    stream.println (indent + name + " = istream.read_Object (_" + i.name () + "Stub.class);");
  else
    stream.println (indent + name + " = " + Util.helperName (entry, false) + ".narrow (istream.read_Object (_" + i.name () + "Stub.class));"); // <d61056>
  return index;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:10,代码来源:InterfaceGen.java


示例19: write

import com.sun.tools.corba.se.idl.SymtabEntry; //导入依赖的package包/类
public int write (int index, String indent, String name, SymtabEntry entry, PrintWriter stream)
{
  InterfaceEntry i = (InterfaceEntry)entry;
  if (i.isAbstract ())
    stream.println (indent + "((org.omg.CORBA_2_3.portable.OutputStream)ostream).write_abstract_interface ((java.lang.Object) " + name + ");"); // <d60929>
  else
    stream.println (indent + "ostream.write_Object ((org.omg.CORBA.Object) " + name + ");");
  return index;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:10,代码来源:InterfaceGen.java


示例20: writeSkeletonBody

import com.sun.tools.corba.se.idl.SymtabEntry; //导入依赖的package包/类
/**
 *
 **/
private void writeSkeletonBody ()
{
  SymtabEntry mtype = Util.typeOf (m.type ());

  // If there is a return value, increment the appropriate counter
  stream.print ("    ");
  if (mtype != null)
    stream.print ("return ");
  stream.print ("_impl." + m.name () + '(');

  // Load the parameters
  Enumeration parms = m.parameters ().elements ();
  boolean first = true;
  while (parms.hasMoreElements ())
  {
    ParameterEntry parm = (ParameterEntry)parms.nextElement ();
    if (first)
      first = false;
    else
      stream.print (", ");
    stream.print (parm.name ());
  }
  if (m.contexts ().size () != 0)
  {
    if (!first)
      stream.print (", ");
    stream.print ("$context");
  }

  stream.println (");");
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:35,代码来源:MethodGen.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java MacSerializer类代码示例发布时间:2022-05-22
下一篇:
Java GetAdditionalDatanodeResponseProto类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap