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


Java Constants.ACC_INTERFACE属性代码示例

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


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

示例1: accessToString

/**
 * Convert bit field of flags into string such as `static final'.
 *
 * Special case: Classes compiled with new compilers and with the
 * `ACC_SUPER' flag would be said to be "synchronized". This is
 * because SUN used the same value for the flags `ACC_SUPER' and
 * `ACC_SYNCHRONIZED'.
 *
 * @param  access_flags Access flags
 * @param  for_class access flags are for class qualifiers ?
 * @return String representation of flags
 */
public static final String accessToString(int access_flags,
                                          boolean for_class)
{
  StringBuffer buf = new StringBuffer();

  int p = 0;
  for(int i=0; p < Constants.MAX_ACC_FLAG; i++) { // Loop through known flags
    p = pow2(i);

    if((access_flags & p) != 0) {
      /* Special case: Classes compiled with new compilers and with the
       * `ACC_SUPER' flag would be said to be "synchronized". This is
       * because SUN used the same value for the flags `ACC_SUPER' and
       * `ACC_SYNCHRONIZED'.
       */
      if(for_class && ((p == Constants.ACC_SUPER) || (p == Constants.ACC_INTERFACE)))
        continue;

      buf.append(Constants.ACCESS_NAMES[i] + " ");
    }
  }

  return buf.toString().trim();
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:36,代码来源:Utility.java

示例2: readClassInfo

/**
 * Read information about the class and its super class.
 * @throws  IOException
 * @throws  ClassFormatException
 */
private final void readClassInfo() throws IOException, ClassFormatException
{
  access_flags = file.readUnsignedShort();

  /* Interfaces are implicitely abstract, the flag should be set
   * according to the JVM specification.
   */
  if((access_flags & Constants.ACC_INTERFACE) != 0)
    access_flags |= Constants.ACC_ABSTRACT;

  if(((access_flags & Constants.ACC_ABSTRACT) != 0) &&
     ((access_flags & Constants.ACC_FINAL)    != 0 ))
    throw new ClassFormatException("Class can't be both final and abstract");

  class_name_index      = file.readUnsignedShort();
  superclass_name_index = file.readUnsignedShort();
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:22,代码来源:ClassParser.java

示例3: isInterface

public final boolean isInterface() {
  return (access_flags & Constants.ACC_INTERFACE) != 0;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:3,代码来源:AccessFlags.java

示例4: classOrInterface

/**
 * @return "class" or "interface", depending on the ACC_INTERFACE flag
 */
public static final String classOrInterface(int access_flags) {
  return ((access_flags & Constants.ACC_INTERFACE) != 0)? "interface" : "class";
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:6,代码来源:Utility.java

示例5: isClass

public final boolean isClass() {
  return (access_flags & Constants.ACC_INTERFACE) == 0;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:3,代码来源:JavaClass.java


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