Skip to content

Commit

Permalink
feat: Add utility methods in CtModifiable (#1726)
Browse files Browse the repository at this point in the history
  • Loading branch information
surli authored and monperrus committed Nov 15, 2017
1 parent a8729a8 commit d7401d1
Show file tree
Hide file tree
Showing 13 changed files with 449 additions and 0 deletions.
36 changes: 36 additions & 0 deletions src/main/java/spoon/reflect/declaration/CtModifiable.java
Original file line number Diff line number Diff line change
Expand Up @@ -85,4 +85,40 @@ public interface CtModifiable extends CtElement {

Set<CtExtendedModifier> getExtendedModifiers();
<T extends CtModifiable> T setExtendedModifiers(Set<CtExtendedModifier> extendedModifiers);

/**
* Returns true if it contains a public modifier (see {@link #hasModifier(ModifierKind)})
*/
@DerivedProperty
boolean isPublic();

/**
* Returns true if it contains a final modifier (see {@link #hasModifier(ModifierKind)})
*/
@DerivedProperty
boolean isFinal();

/**
* Returns true if it contains a static modifier (see {@link #hasModifier(ModifierKind)})
*/
@DerivedProperty
boolean isStatic();

/**
* Returns true if it contains a protected modifier (see {@link #hasModifier(ModifierKind)})
*/
@DerivedProperty
boolean isProtected();

/**
* Returns true if it contains a private modifier (see {@link #hasModifier(ModifierKind)})
*/
@DerivedProperty
boolean isPrivate();

/**
* Returns true if it contains an abstract modifier (see {@link #hasModifier(ModifierKind)})
*/
@DerivedProperty
boolean isAbstract();
}
12 changes: 12 additions & 0 deletions src/main/java/spoon/support/reflect/CtModifierHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,18 @@ public boolean isPrivate() {
return getModifiers().contains(ModifierKind.PRIVATE);
}

public boolean isAbstract() {
return getModifiers().contains(ModifierKind.ABSTRACT);
}

public boolean isStatic() {
return getModifiers().contains(ModifierKind.STATIC);
}

public boolean isFinal() {
return getModifiers().contains(ModifierKind.FINAL);
}

@Override
public int hashCode() {
return getModifiers().hashCode();
Expand Down
30 changes: 30 additions & 0 deletions src/main/java/spoon/support/reflect/code/CtCatchVariableImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -237,4 +237,34 @@ public <C extends CtModifiable> C setExtendedModifiers(Set<CtExtendedModifier> e
public CtCatchVariable<T> clone() {
return (CtCatchVariable<T>) super.clone();
}

@Override
public boolean isPublic() {
return this.modifierHandler.isPublic();
}

@Override
public boolean isPrivate() {
return this.modifierHandler.isPrivate();
}

@Override
public boolean isProtected() {
return this.modifierHandler.isProtected();
}

@Override
public boolean isFinal() {
return this.modifierHandler.isFinal();
}

@Override
public boolean isStatic() {
return this.modifierHandler.isStatic();
}

@Override
public boolean isAbstract() {
return this.modifierHandler.isAbstract();
}
}
30 changes: 30 additions & 0 deletions src/main/java/spoon/support/reflect/code/CtLocalVariableImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -183,4 +183,34 @@ public <C extends CtRHSReceiver<T>> C setAssignment(CtExpression<T> assignment)
public CtLocalVariable<T> clone() {
return (CtLocalVariable<T>) super.clone();
}

@Override
public boolean isPublic() {
return this.modifierHandler.isPublic();
}

@Override
public boolean isPrivate() {
return this.modifierHandler.isPrivate();
}

@Override
public boolean isProtected() {
return this.modifierHandler.isProtected();
}

@Override
public boolean isFinal() {
return this.modifierHandler.isFinal();
}

@Override
public boolean isStatic() {
return this.modifierHandler.isStatic();
}

@Override
public boolean isAbstract() {
return this.modifierHandler.isAbstract();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -187,4 +187,34 @@ public <C extends CtTypedElement> C setType(CtTypeReference<Void> type) {
public CtAnonymousExecutable clone() {
return (CtAnonymousExecutable) super.clone();
}

@Override
public boolean isPublic() {
return this.modifierHandler.isPublic();
}

@Override
public boolean isPrivate() {
return this.modifierHandler.isPrivate();
}

@Override
public boolean isProtected() {
return this.modifierHandler.isProtected();
}

@Override
public boolean isFinal() {
return this.modifierHandler.isFinal();
}

@Override
public boolean isStatic() {
return this.modifierHandler.isStatic();
}

@Override
public boolean isAbstract() {
return this.modifierHandler.isAbstract();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -205,4 +205,34 @@ public <E extends CtShadowable> E setShadow(boolean isShadow) {
public CtConstructor<T> clone() {
return (CtConstructor<T>) super.clone();
}

@Override
public boolean isPublic() {
return this.modifierHandler.isPublic();
}

@Override
public boolean isPrivate() {
return this.modifierHandler.isPrivate();
}

@Override
public boolean isProtected() {
return this.modifierHandler.isProtected();
}

@Override
public boolean isFinal() {
return this.modifierHandler.isFinal();
}

@Override
public boolean isStatic() {
return this.modifierHandler.isStatic();
}

@Override
public boolean isAbstract() {
return this.modifierHandler.isAbstract();
}
}
30 changes: 30 additions & 0 deletions src/main/java/spoon/support/reflect/declaration/CtFieldImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -195,4 +195,34 @@ public <E extends CtShadowable> E setShadow(boolean isShadow) {
public CtField<T> clone() {
return (CtField<T>) super.clone();
}

@Override
public boolean isPublic() {
return this.modifierHandler.isPublic();
}

@Override
public boolean isPrivate() {
return this.modifierHandler.isPrivate();
}

@Override
public boolean isProtected() {
return this.modifierHandler.isProtected();
}

@Override
public boolean isFinal() {
return this.modifierHandler.isFinal();
}

@Override
public boolean isStatic() {
return this.modifierHandler.isStatic();
}

@Override
public boolean isAbstract() {
return this.modifierHandler.isAbstract();
}
}
30 changes: 30 additions & 0 deletions src/main/java/spoon/support/reflect/declaration/CtMethodImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -216,4 +216,34 @@ public <E extends CtShadowable> E setShadow(boolean isShadow) {
public CtMethod<T> clone() {
return (CtMethod<T>) super.clone();
}

@Override
public boolean isPublic() {
return this.modifierHandler.isPublic();
}

@Override
public boolean isPrivate() {
return this.modifierHandler.isPrivate();
}

@Override
public boolean isProtected() {
return this.modifierHandler.isProtected();
}

@Override
public boolean isFinal() {
return this.modifierHandler.isFinal();
}

@Override
public boolean isStatic() {
return this.modifierHandler.isStatic();
}

@Override
public boolean isAbstract() {
return this.modifierHandler.isAbstract();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -187,4 +187,34 @@ public <E extends CtShadowable> E setShadow(boolean isShadow) {
public CtParameter<T> clone() {
return (CtParameter<T>) super.clone();
}

@Override
public boolean isPublic() {
return this.modifierHandler.isPublic();
}

@Override
public boolean isPrivate() {
return this.modifierHandler.isPrivate();
}

@Override
public boolean isProtected() {
return this.modifierHandler.isProtected();
}

@Override
public boolean isFinal() {
return this.modifierHandler.isFinal();
}

@Override
public boolean isStatic() {
return this.modifierHandler.isStatic();
}

@Override
public boolean isAbstract() {
return this.modifierHandler.isAbstract();
}
}
29 changes: 29 additions & 0 deletions src/main/java/spoon/support/reflect/declaration/CtTypeImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -992,4 +992,33 @@ public CtType<T> clone() {
return (CtType<T>) super.clone();
}

@Override
public boolean isPublic() {
return this.modifierHandler.isPublic();
}

@Override
public boolean isPrivate() {
return this.modifierHandler.isPrivate();
}

@Override
public boolean isProtected() {
return this.modifierHandler.isProtected();
}

@Override
public boolean isFinal() {
return this.modifierHandler.isFinal();
}

@Override
public boolean isStatic() {
return this.modifierHandler.isStatic();
}

@Override
public boolean isAbstract() {
return this.modifierHandler.isAbstract();
}
}
Loading

0 comments on commit d7401d1

Please sign in to comment.