public boolean hasAnnotation( Class<? extends Annotation> annoClass ) { return hasAnnotation( annoClass.getCanonicalName() ); }
public T modifiers( Set<javax.lang.model.element.Modifier> modifiers ) { _modifiers = modifiersFrom( modifiers ); return (T)this; }
protected String renderModifiers( StringBuilder sb, boolean isDefault, int defModifier ) { return renderModifiers( sb, _modifiers, isDefault, defModifier ); }
public SrcAnnotationExpression getAnnotation( Class<? extends Annotation> annoClass ) { for( SrcAnnotationExpression anno: getAnnotations() ) { if( anno.getAnnotationType().equals( annoClass.getName() ) ) { return anno; } } return null; }
@Override public void setOwner( SrcAnnotated owner ) { super.setOwner( owner ); if( owner != null ) { name( owner.getSimpleName() ); } } }
static List<SrcParameter> makeSrcParameters( Node node, SrcAnnotated srcMethod ) { ParameterNode paramNode = node.getFirstChild( ParameterNode.class ); List<SrcParameter> srcParameters = paramNode != null ? paramNode.toParamList() : Collections.emptyList(); for( SrcParameter srcParameter : srcParameters ) { srcMethod.addParam( srcParameter ); } return srcParameters; }
protected String renderParameters( StringBuilder sb ) { return renderParameters( sb, false ); } protected String renderParameters( StringBuilder sb, boolean forSignature )
protected String renderParameters( StringBuilder sb, boolean forSignature ) { sb.append( '(' ); for( int i = 0; i < _parameters.size(); i++ ) { if( i > 0 ) { sb.append( ", " ); } SrcParameter param = _parameters.get( i ); boolean isVarArgs = i == _parameters.size() - 1 && (getModifiers() & 0x00000080) != 0; // Modifier.VARARGS param.render( sb, 0, isVarArgs, forSignature ); } sb.append( ')' ); return ""; }
private void addAnnotations( SrcAnnotated<?> srcAnnotated, Symbol symbol ) { for( Attribute.Compound annotationMirror: symbol.getAnnotationMirrors() ) { String fqn = annotationMirror.getAnnotationType().toString(); if( fqn.equals( "jdk.internal.HotSpotIntrinsicCandidate" ) ) { // Since java 10 we have to keep these out of stubbed java source continue; } SrcAnnotationExpression annoExpr = new SrcAnnotationExpression( fqn ); for( Pair<Symbol.MethodSymbol, Attribute> value: annotationMirror.values ) { annoExpr.addArgument( value.fst.flatName().toString(), new SrcType( value.snd.type.toString() ), value.snd.getValue() ); } srcAnnotated.addAnnotation( annoExpr ); } }
public boolean hasAnnotation( String fqn ) { for( SrcAnnotationExpression anno: getAnnotations() ) { if( anno.getAnnotationType().equals( fqn ) ) { return true; } } return false; }
sb.append( getOwner().getSimpleName() ).append( renderParameters( sb ) ).append( renderThrowTypes( sb ) );
static List<SrcParameter> makeSrcParameters( Node node, SrcAnnotated srcMethod ) { ParameterNode paramNode = node.getFirstChild( ParameterNode.class ); List<SrcParameter> srcParameters = paramNode != null ? paramNode.toParamList() : Collections.emptyList(); for( SrcParameter srcParameter : srcParameters ) { srcMethod.addParam( srcParameter ); } return srcParameters; }
renderModifiers( sb, defModifier, false, 0 );