Java Code Examples for com.sun.tools.javac.code.Flags#DEFAULT
The following examples show how to use
com.sun.tools.javac.code.Flags#DEFAULT .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: GenStubs.java From TencentKona-8 with GNU General Public License v2.0 | 6 votes |
/** * methods: remove method bodies, make methods native */ @Override public void visitMethodDef(JCMethodDecl tree) { tree.mods = translate(tree.mods); tree.restype = translate(tree.restype); tree.typarams = translateTypeParams(tree.typarams); tree.params = translateVarDefs(tree.params); tree.thrown = translate(tree.thrown); if (tree.body != null) { if ((currClassMods & Flags.INTERFACE) != 0) { tree.mods.flags &= ~(Flags.DEFAULT | Flags.STATIC); } else { tree.mods.flags |= Flags.NATIVE; } tree.body = null; } result = tree; }
Example 2
Source File: GenStubs.java From jdk8u60 with GNU General Public License v2.0 | 6 votes |
/** * methods: remove method bodies, make methods native */ @Override public void visitMethodDef(JCMethodDecl tree) { tree.mods = translate(tree.mods); tree.restype = translate(tree.restype); tree.typarams = translateTypeParams(tree.typarams); tree.params = translateVarDefs(tree.params); tree.thrown = translate(tree.thrown); if (tree.body != null) { if ((currClassMods & Flags.INTERFACE) != 0) { tree.mods.flags &= ~(Flags.DEFAULT | Flags.STATIC); } else { tree.mods.flags |= Flags.NATIVE; } tree.body = null; } result = tree; }
Example 3
Source File: GenStubs.java From openjdk-jdk8u with GNU General Public License v2.0 | 6 votes |
/** * methods: remove method bodies, make methods native */ @Override public void visitMethodDef(JCMethodDecl tree) { tree.mods = translate(tree.mods); tree.restype = translate(tree.restype); tree.typarams = translateTypeParams(tree.typarams); tree.params = translateVarDefs(tree.params); tree.thrown = translate(tree.thrown); if (tree.body != null) { if ((currClassMods & Flags.INTERFACE) != 0) { tree.mods.flags &= ~(Flags.DEFAULT | Flags.STATIC); } else { tree.mods.flags |= Flags.NATIVE; } tree.body = null; } result = tree; }
Example 4
Source File: TreeFactory.java From netbeans with Apache License 2.0 | 6 votes |
public static long modifiersToFlags(Set<Modifier> flagset) { long flags = 0L; for (Modifier mod : flagset) switch (mod) { case PUBLIC: flags |= Flags.PUBLIC; break; case PROTECTED: flags |= Flags.PROTECTED; break; case PRIVATE: flags |= Flags.PRIVATE; break; case ABSTRACT: flags |= Flags.ABSTRACT; break; case STATIC: flags |= Flags.STATIC; break; case FINAL: flags |= Flags.FINAL; break; case TRANSIENT: flags |= Flags.TRANSIENT; break; case VOLATILE: flags |= Flags.VOLATILE; break; case SYNCHRONIZED: flags |= Flags.SYNCHRONIZED; break; case NATIVE: flags |= Flags.NATIVE; break; case STRICTFP: flags |= Flags.STRICTFP; break; case DEFAULT: flags |= Flags.DEFAULT; break; default: throw new AssertionError("Unknown Modifier: " + mod); //NOI18N } return flags; }
Example 5
Source File: TreeMaker.java From netbeans with Apache License 2.0 | 6 votes |
public ModifiersTree addModifiersModifier(ModifiersTree modifiers, Modifier modifier) { long c = ((JCModifiers) modifiers).flags & ~Flags.GENERATEDCONSTR; switch (modifier) { case ABSTRACT: c = c | Flags.ABSTRACT; break; case FINAL: c = c | Flags.FINAL; break; case NATIVE: c = c | Flags.NATIVE; break; case PRIVATE: c = c | Flags.PRIVATE; break; case PROTECTED: c = c | Flags.PROTECTED; break; case PUBLIC: c = c | Flags.PUBLIC; break; case STATIC: c = c | Flags.STATIC; break; case STRICTFP: c = c | Flags.STRICTFP; break; case SYNCHRONIZED: c = c | Flags.SYNCHRONIZED; break; case TRANSIENT: c = c | Flags.TRANSIENT; break; case VOLATILE: c = c | Flags.VOLATILE; break; case DEFAULT: c = c | Flags.DEFAULT; break; default: break; } return Modifiers(c, modifiers.getAnnotations()); }
Example 6
Source File: TreeMaker.java From netbeans with Apache License 2.0 | 6 votes |
public ModifiersTree removeModifiersModifier(ModifiersTree modifiers, Modifier modifier) { long c = ((JCModifiers) modifiers).flags & ~Flags.GENERATEDCONSTR; switch (modifier) { case ABSTRACT: c = c & ~Flags.ABSTRACT; break; case FINAL: c = c & ~Flags.FINAL; break; case NATIVE: c = c & ~Flags.NATIVE; break; case PRIVATE: c = c & ~Flags.PRIVATE; break; case PROTECTED: c = c & ~Flags.PROTECTED; break; case PUBLIC: c = c & ~Flags.PUBLIC; break; case STATIC: c = c & ~Flags.STATIC; break; case STRICTFP: c = c & ~Flags.STRICTFP; break; case SYNCHRONIZED: c = c & ~Flags.SYNCHRONIZED; break; case TRANSIENT: c = c & ~Flags.TRANSIENT; break; case VOLATILE: c = c & ~Flags.VOLATILE; break; case DEFAULT: c = c & ~Flags.DEFAULT; break; default: break; } return Modifiers(c, modifiers.getAnnotations()); }
Example 7
Source File: GenStubs.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 6 votes |
/** * methods: remove method bodies, make methods native */ @Override public void visitMethodDef(JCMethodDecl tree) { tree.mods = translate(tree.mods); tree.restype = translate(tree.restype); tree.typarams = translateTypeParams(tree.typarams); tree.params = translateVarDefs(tree.params); tree.thrown = translate(tree.thrown); if (tree.body != null) { if ((currClassMods & Flags.INTERFACE) != 0) { tree.mods.flags &= ~(Flags.DEFAULT | Flags.STATIC); } else { tree.mods.flags |= Flags.NATIVE; } tree.body = null; } result = tree; }
Example 8
Source File: GenStubs.java From openjdk-jdk9 with GNU General Public License v2.0 | 6 votes |
/** * methods: remove method bodies, make methods native */ @Override public void visitMethodDef(JCMethodDecl tree) { tree.mods = translate(tree.mods); tree.restype = translate(tree.restype); tree.typarams = translateTypeParams(tree.typarams); tree.params = translateVarDefs(tree.params); tree.thrown = translate(tree.thrown); if (tree.body != null) { if ((currClassMods & Flags.INTERFACE) != 0) { tree.mods.flags &= ~(Flags.DEFAULT | Flags.STATIC); } else { tree.mods.flags |= Flags.NATIVE; } tree.body = null; } result = tree; }
Example 9
Source File: GenStubs.java From hottub with GNU General Public License v2.0 | 6 votes |
/** * methods: remove method bodies, make methods native */ @Override public void visitMethodDef(JCMethodDecl tree) { tree.mods = translate(tree.mods); tree.restype = translate(tree.restype); tree.typarams = translateTypeParams(tree.typarams); tree.params = translateVarDefs(tree.params); tree.thrown = translate(tree.thrown); if (tree.body != null) { if ((currClassMods & Flags.INTERFACE) != 0) { tree.mods.flags &= ~(Flags.DEFAULT | Flags.STATIC); } else { tree.mods.flags |= Flags.NATIVE; } tree.body = null; } result = tree; }
Example 10
Source File: GenStubs.java From openjdk-8-source with GNU General Public License v2.0 | 6 votes |
/** * methods: remove method bodies, make methods native */ @Override public void visitMethodDef(JCMethodDecl tree) { tree.mods = translate(tree.mods); tree.restype = translate(tree.restype); tree.typarams = translateTypeParams(tree.typarams); tree.params = translateVarDefs(tree.params); tree.thrown = translate(tree.thrown); if (tree.body != null) { if ((currClassMods & Flags.INTERFACE) != 0) { tree.mods.flags &= ~(Flags.DEFAULT | Flags.STATIC); } else { tree.mods.flags |= Flags.NATIVE; } tree.body = null; } result = tree; }
Example 11
Source File: GenStubs.java From openjdk-8 with GNU General Public License v2.0 | 6 votes |
/** * methods: remove method bodies, make methods native */ @Override public void visitMethodDef(JCMethodDecl tree) { tree.mods = translate(tree.mods); tree.restype = translate(tree.restype); tree.typarams = translateTypeParams(tree.typarams); tree.params = translateVarDefs(tree.params); tree.thrown = translate(tree.thrown); if (tree.body != null) { if ((currClassMods & Flags.INTERFACE) != 0) { tree.mods.flags &= ~(Flags.DEFAULT | Flags.STATIC); } else { tree.mods.flags |= Flags.NATIVE; } tree.body = null; } result = tree; }
Example 12
Source File: AbstractSrcMethod.java From manifold with Apache License 2.0 | 5 votes |
private boolean isNonDefaultNonStaticInterfaceMethod() { return getOwner() instanceof AbstractSrcClass && ((AbstractSrcClass)getOwner()).isInterface() && (getModifiers() & Flags.DEFAULT) == 0 && (getModifiers() & Flags.STATIC) == 0; }
Example 13
Source File: ElementsService.java From netbeans with Apache License 2.0 | 4 votes |
private static boolean hasImplementation(MethodSymbol msym) { long f = msym.flags(); return ((f & Flags.DEFAULT) != 0) || ((f & Flags.ABSTRACT) == 0); }
Example 14
Source File: ExtCodeGen.java From manifold with Apache License 2.0 | 4 votes |
private void addExtensionMethod( AbstractSrcMethod method, SrcClass extendedType, DiagnosticListener<JavaFileObject> errorHandler ) { if( !isExtensionMethod( method, extendedType ) ) { return; } //## todo: This is disabled because it involves calls to ClassSymbols#getClassSymbol() where another javac compiler task //## todo: is spawned which can lead to perf problems because the same graph of types is recompiled over and over. //## todo: Instead find a different way to get the type information e.g., ASM, dumb AST trees, etc. //## todo: -- or --- //## todo: Instead of checking for duplicates at this time, wait and do it during type processing i.e., // if( warnIfDuplicate( method, extendedType, errorHandler ) ) // { // return; // } // the class is a produced class, therefore we must delegate the calls since calls are not replaced boolean delegateCalls = !_existingSource.isEmpty() && !_genStubs; boolean isInstanceExtensionMethod = isInstanceExtensionMethod( method, extendedType ); SrcMethod srcMethod = new SrcMethod( extendedType ); long modifiers = method.getModifiers(); if( extendedType.isInterface() && isInstanceExtensionMethod ) { // extension method must be default method in interface to not require implementation modifiers |= Flags.DEFAULT; } //## Don't mark extension methods on classes as final, it otherwise blocks extended // classes from implementing an interface with the same method signature // else // { // // extension method must be final in class to prohibit override // modifiers |= Modifier.FINAL; // } if( isInstanceExtensionMethod ) { // remove static for instance method modifiers &= ~Modifier.STATIC; } srcMethod.modifiers( modifiers ); if( !delegateCalls ) { // mark as extension method for efficient lookup during method call replacement srcMethod.addAnnotation( new SrcAnnotationExpression( ExtensionMethod.class ) .addArgument( "extensionClass", String.class, ((SrcClass)method.getOwner()).getName() ) .addArgument( "isStatic", boolean.class, !isInstanceExtensionMethod ) ); } srcMethod.returns( method.getReturnType() ); String name = method.getSimpleName(); srcMethod.name( name ); List typeParams = method.getTypeVariables(); // extension method must reflect extended type's type vars before its own int extendedTypeVarCount = extendedType.getTypeVariables().size(); for( int i = isInstanceExtensionMethod ? extendedTypeVarCount : 0; i < typeParams.size(); i++ ) { SrcType typeVar = (SrcType)typeParams.get( i ); srcMethod.addTypeVar( typeVar ); } List params = method.getParameters(); for( int i = isInstanceExtensionMethod ? 1 : 0; i < params.size(); i++ ) { // exclude This param SrcParameter param = (SrcParameter)params.get( i ); srcMethod.addParam( param.getSimpleName(), param.getType() ); } for( Object throwType : method.getThrowTypes() ) { srcMethod.addThrowType( (SrcType)throwType ); } if( delegateCalls ) { // delegate to the extension method delegateCall( method, isInstanceExtensionMethod, srcMethod ); } else { // stub the body srcMethod.body( new SrcStatementBlock() .addStatement( new SrcRawStatement() .rawText( "throw new " + RuntimeException.class.getSimpleName() + "(\"Should not exist at runtime!\");" ) ) ); } extendedType.addMethod( srcMethod ); }
Example 15
Source File: SrcAnnotated.java From manifold with Apache License 2.0 | 4 votes |
public static long modifiersFrom( Set<javax.lang.model.element.Modifier> modifiers ) { long mods = 0; for( javax.lang.model.element.Modifier mod : modifiers ) { switch( mod ) { case PUBLIC: mods |= Modifier.PUBLIC; break; case PROTECTED: mods |= Modifier.PROTECTED; break; case PRIVATE: mods |= Modifier.PRIVATE; break; case ABSTRACT: mods |= Modifier.ABSTRACT; break; case DEFAULT: mods |= Flags.DEFAULT; break; case STATIC: mods |= Modifier.STATIC; break; case FINAL: mods |= Modifier.FINAL; break; case TRANSIENT: mods |= Modifier.TRANSIENT; break; case VOLATILE: mods |= Modifier.VOLATILE; break; case SYNCHRONIZED: mods |= Modifier.SYNCHRONIZED; break; case NATIVE: mods |= Modifier.NATIVE; break; case STRICTFP: mods |= Flags.STRICTFP; break; } } return mods; }