Skip to content

Commit

Permalink
[fixes projectlombok#3133] Add annotation bits to annotation copy tar…
Browse files Browse the repository at this point in the history
…gets
  • Loading branch information
Rawi01 committed Mar 13, 2022
1 parent 8c3ff7e commit b50a9c2
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 0 deletions.
9 changes: 9 additions & 0 deletions src/core/lombok/eclipse/handlers/HandleConstructor.java
Expand Up @@ -41,6 +41,7 @@
import lombok.core.AST.Kind;
import lombok.core.configuration.CheckerFrameworkVersion;
import lombok.core.AnnotationValues;
import lombok.eclipse.Eclipse;
import lombok.eclipse.EclipseAnnotationHandler;
import lombok.eclipse.EclipseNode;
import lombok.eclipse.handlers.EclipseHandlerUtil.MemberExistsResult;
Expand Down Expand Up @@ -414,6 +415,10 @@ private static final char[] prefixWith(char[] prefix, char[] name) {
if (nullCheck != null) nullChecks.add(nullCheck);
}
parameter.annotations = copyAnnotations(source, copyableAnnotations);
if (parameter.annotations != null) {
parameter.bits |= Eclipse.HasTypeAnnotations;
constructor.bits |= Eclipse.HasTypeAnnotations;
}
params.add(parameter);
}

Expand Down Expand Up @@ -555,6 +560,10 @@ public MethodDeclaration createStaticConstructor(AccessLevel level, String name,

Argument parameter = new Argument(field.name, fieldPos, copyType(field.type, source), Modifier.FINAL);
parameter.annotations = copyAnnotations(source, findCopyableAnnotations(fieldNode));
if (parameter.annotations != null) {
parameter.bits |= Eclipse.HasTypeAnnotations;
constructor.bits |= Eclipse.HasTypeAnnotations;
}
params.add(parameter);
}

Expand Down
5 changes: 5 additions & 0 deletions src/core/lombok/eclipse/handlers/HandleSetter.java
Expand Up @@ -35,6 +35,7 @@
import lombok.Setter;
import lombok.core.AST.Kind;
import lombok.core.AnnotationValues;
import lombok.eclipse.Eclipse;
import lombok.eclipse.EclipseAnnotationHandler;
import lombok.eclipse.EclipseNode;
import lombok.experimental.Accessors;
Expand Down Expand Up @@ -256,6 +257,10 @@ static MethodDeclaration createSetter(TypeDeclaration parent, boolean deprecate,
}
method.statements = statements.toArray(new Statement[0]);
param.annotations = copyAnnotations(source, copyableAnnotations, onParam.toArray(new Annotation[0]));
if (param.annotations != null) {
param.bits |= Eclipse.HasTypeAnnotations;
method.bits |= Eclipse.HasTypeAnnotations;
}

if (returnType != null && returnStatement != null) createRelevantNonNullAnnotation(sourceNode, method);

Expand Down
1 change: 1 addition & 0 deletions src/utils/lombok/eclipse/Eclipse.java
Expand Up @@ -66,6 +66,7 @@ public class Eclipse {
public static final int AccRecord = ASTNode.Bit25; // ECM.AccRecord
public static final int IsCanonicalConstructor = ASTNode.Bit10; // ASTNode.IsCanonicalConstructor
public static final int IsImplicit = ASTNode.Bit11; // ASTNode.IsImplicit
public static final int HasTypeAnnotations = ASTNode.Bit21; // ASTNode.HasTypeAnnotations

private static final Pattern SPLIT_AT_DOT = Pattern.compile("\\.");

Expand Down

0 comments on commit b50a9c2

Please sign in to comment.