flags.jrag

来自「JDK1.4编译器后端」· JRAG 代码 · 共 88 行

JRAG
88
字号
/* * The JastAdd Extensible Java Compiler (http://jastadd.org) is covered * by the modified BSD License. You should have received a copy of the * modified BSD license with this compiler. *  * Copyright (c) 2005-2008, Torbjorn Ekman * All rights reserved. */aspect Flags {  public static final int Modifiers.ACC_PUBLIC       = 0x0001; // class field method  public static final int Modifiers.ACC_PRIVATE      = 0x0002; //       field method  public static final int Modifiers.ACC_PROTECTED    = 0x0004; //       field method  public static final int Modifiers.ACC_STATIC       = 0x0008; //       field method  public static final int Modifiers.ACC_FINAL        = 0x0010; // class field method  public static final int Modifiers.ACC_SYNCHRONIZED = 0x0020; //             method  public static final int Modifiers.ACC_SUPER        = 0x0020; // class  public static final int Modifiers.ACC_VOLATILE     = 0x0040; //       field  public static final int Modifiers.ACC_TRANSIENT    = 0x0080; //       field  public static final int Modifiers.ACC_NATIVE       = 0x0100; //             method  public static final int Modifiers.ACC_INTERFACE    = 0x0200; // class  public static final int Modifiers.ACC_ABSTRACT     = 0x0400; // class       method  public static final int Modifiers.ACC_SYNTHETIC    = 0x1000; //       field method  public static final int Modifiers.ACC_STRICT       = 0x0800; //             method  // mangle modifiers for nested types  public int TypeDecl.mangledFlags(int flags) {    boolean privateFlag = (flags & Modifiers.ACC_PRIVATE) != 0;    boolean protectedFlag = (flags & Modifiers.ACC_PROTECTED) != 0;    flags &= ~ Modifiers.ACC_PRIVATE;    flags &= ~ Modifiers.ACC_PROTECTED;    if(protectedFlag)      flags |= Modifiers.ACC_PUBLIC;    return flags;  }  syn lazy int MethodDecl.flags() {    int res = 0;    if(isPublic()) res |= Modifiers.ACC_PUBLIC;    if(isPrivate()) res |= Modifiers.ACC_PRIVATE;    if(isProtected()) res |= Modifiers.ACC_PROTECTED;    if(isStatic()) res |= Modifiers.ACC_STATIC;    if(isFinal()) res |= Modifiers.ACC_FINAL;    if(isSynchronized()) res |= Modifiers.ACC_SYNCHRONIZED;    if(isNative()) res |= Modifiers.ACC_NATIVE;    if(isAbstract()) res |= Modifiers.ACC_ABSTRACT;    if(isStrictfp() || (hostType().isStrictfp() && !hostType().isInterfaceDecl())) res |= Modifiers.ACC_STRICT;    return res;  }  syn lazy int ConstructorDecl.flags() {    int res = 0;    if(isPublic()) res |= Modifiers.ACC_PUBLIC;    if(isPrivate()) res |= Modifiers.ACC_PRIVATE;    if(isProtected()) res |= Modifiers.ACC_PROTECTED;    //if(isSynchronized()) res |= Modifiers.ACC_SYNCHRONIZED;    //if(isStrictfp()) res |= Modifiers.ACC_STRICT;    return res;  }  syn lazy int TypeDecl.flags() {    int res = 0;    if(isPublic()) res |= Modifiers.ACC_PUBLIC;    if(isPrivate()) res |= Modifiers.ACC_PRIVATE;    if(isProtected()) res |= Modifiers.ACC_PROTECTED;    if(isStatic()) res |= Modifiers.ACC_STATIC;    if(isFinal()) res |= Modifiers.ACC_FINAL;    // ACC_INTERFACE handled in InterfaceDecl    if(isAbstract()) res |= Modifiers.ACC_ABSTRACT;    return res;  }  syn lazy int FieldDeclaration.flags() {    int res = 0;    if(isPublic()) res |= Modifiers.ACC_PUBLIC;    if(isPrivate()) res |= Modifiers.ACC_PRIVATE;    if(isProtected()) res |= Modifiers.ACC_PROTECTED;    if(isStatic()) res |= Modifiers.ACC_STATIC;    if(isFinal()) res |= Modifiers.ACC_FINAL;    if(isVolatile()) res |= Modifiers.ACC_VOLATILE;    if(isTransient()) res |= Modifiers.ACC_TRANSIENT;    return res;  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?