1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-26 18:35:32 +02:00

@Override annotations.

This commit is contained in:
Sergey Prigogin 2011-12-18 22:35:22 -08:00
parent 29d3e83da0
commit d5f46dd429
9 changed files with 110 additions and 78 deletions

View file

@ -17,7 +17,6 @@ package org.eclipse.cdt.core.dom.ast;
* @noimplement This interface is not intended to be implemented by clients. * @noimplement This interface is not intended to be implemented by clients.
*/ */
public interface IASTArrayDeclarator extends IASTDeclarator { public interface IASTArrayDeclarator extends IASTDeclarator {
/** /**
* Node property that describes the relationship between an * Node property that describes the relationship between an
* <code>IASTArrayDeclarator</code> and an <code>IASTArrayModifier</code>. * <code>IASTArrayDeclarator</code> and an <code>IASTArrayModifier</code>.
@ -43,11 +42,13 @@ public interface IASTArrayDeclarator extends IASTDeclarator {
/** /**
* @since 5.1 * @since 5.1
*/ */
@Override
public IASTArrayDeclarator copy(); public IASTArrayDeclarator copy();
/** /**
* @since 5.3 * @since 5.3
*/ */
@Override
public IASTArrayDeclarator copy(CopyStyle style); public IASTArrayDeclarator copy(CopyStyle style);
} }

View file

@ -18,7 +18,6 @@ package org.eclipse.cdt.core.dom.ast;
* @noimplement This interface is not intended to be implemented by clients. * @noimplement This interface is not intended to be implemented by clients.
*/ */
public interface IASTArrayModifier extends IASTNode { public interface IASTArrayModifier extends IASTNode {
/** /**
* Node property that describes the relationship between an * Node property that describes the relationship between an
* <code>IASTArrayModifier</code> and an <code>IASTExpression</code>. * <code>IASTArrayModifier</code> and an <code>IASTExpression</code>.
@ -49,10 +48,12 @@ public interface IASTArrayModifier extends IASTNode {
/** /**
* @since 5.1 * @since 5.1
*/ */
@Override
public IASTArrayModifier copy(); public IASTArrayModifier copy();
/** /**
* @since 5.3 * @since 5.3
*/ */
@Override
public IASTArrayModifier copy(CopyStyle style); public IASTArrayModifier copy(CopyStyle style);
} }

View file

@ -11,29 +11,18 @@
package org.eclipse.cdt.core.dom.ast; package org.eclipse.cdt.core.dom.ast;
/** /**
* This interface represents a postfix array subscript expression. x[ 10 ] * This interface represents a postfix array subscript expression. x[10]
* y.z()[ t * t ] * y.z()[t * t]
* *
* @noextend This interface is not intended to be extended by clients. * @noextend This interface is not intended to be extended by clients.
* @noimplement This interface is not intended to be implemented by clients. * @noimplement This interface is not intended to be implemented by clients.
*/ */
public interface IASTArraySubscriptExpression extends IASTExpression { public interface IASTArraySubscriptExpression extends IASTExpression {
public static final ASTNodeProperty ARRAY = new ASTNodeProperty( public static final ASTNodeProperty ARRAY = new ASTNodeProperty(
"IASTArraySubscriptExpression.ARRAY [IASTExpression]"); //$NON-NLS-1$ "IASTArraySubscriptExpression.ARRAY [IASTExpression]"); //$NON-NLS-1$
public static final ASTNodeProperty SUBSCRIPT = new ASTNodeProperty( public static final ASTNodeProperty SUBSCRIPT = new ASTNodeProperty(
"IASTArraySubscriptExpression.SUBSCRIPT - [IASTFunctionArgument]"); //$NON-NLS-1$ "IASTArraySubscriptExpression.SUBSCRIPT - [IASTFunctionArgument]"); //$NON-NLS-1$
/**
* @since 5.1
*/
IASTArraySubscriptExpression copy();
/**
* @since 5.3
*/
IASTArraySubscriptExpression copy(CopyStyle style);
/** /**
* Get the expression that represents the array * Get the expression that represents the array
* *
@ -74,4 +63,16 @@ public interface IASTArraySubscriptExpression extends IASTExpression {
*/ */
@Deprecated @Deprecated
public void setSubscriptExpression(IASTExpression expression); public void setSubscriptExpression(IASTExpression expression);
/**
* @since 5.1
*/
@Override
IASTArraySubscriptExpression copy();
/**
* @since 5.3
*/
@Override
IASTArraySubscriptExpression copy(CopyStyle style);
} }

View file

@ -17,7 +17,6 @@ package org.eclipse.cdt.core.dom.ast;
* @noimplement This interface is not intended to be implemented by clients. * @noimplement This interface is not intended to be implemented by clients.
*/ */
public interface IASTPointer extends IASTPointerOperator { public interface IASTPointer extends IASTPointerOperator {
/** /**
* Returns whether the pointer is const qualified. * Returns whether the pointer is const qualified.
*/ */
@ -53,10 +52,12 @@ public interface IASTPointer extends IASTPointerOperator {
/** /**
* @since 5.1 * @since 5.1
*/ */
@Override
public IASTPointer copy(); public IASTPointer copy();
/** /**
* @since 5.3 * @since 5.3
*/ */
@Override
public IASTPointer copy(CopyStyle style); public IASTPointer copy(CopyStyle style);
} }

View file

@ -22,9 +22,8 @@ import org.eclipse.cdt.core.parser.util.ArrayUtil;
* @author jcamelon * @author jcamelon
*/ */
public class CASTArrayDeclarator extends CASTDeclarator implements IASTArrayDeclarator { public class CASTArrayDeclarator extends CASTDeclarator implements IASTArrayDeclarator {
private IASTArrayModifier[] arrayMods = null;
private IASTArrayModifier [] arrayMods = null; private int arrayModsPos = -1;
private int arrayModsPos=-1;
public CASTArrayDeclarator() { public CASTArrayDeclarator() {
} }
@ -46,7 +45,7 @@ public class CASTArrayDeclarator extends CASTDeclarator implements IASTArrayDecl
public CASTArrayDeclarator copy(CopyStyle style) { public CASTArrayDeclarator copy(CopyStyle style) {
CASTArrayDeclarator copy = new CASTArrayDeclarator(); CASTArrayDeclarator copy = new CASTArrayDeclarator();
copyBaseDeclarator(copy, style); copyBaseDeclarator(copy, style);
for(IASTArrayModifier modifier : getArrayModifiers()) for (IASTArrayModifier modifier : getArrayModifiers())
copy.addArrayModifier(modifier == null ? null : modifier.copy()); copy.addArrayModifier(modifier == null ? null : modifier.copy());
if (style == CopyStyle.withLocations) { if (style == CopyStyle.withLocations) {
copy.setCopyLocation(this); copy.setCopyLocation(this);
@ -54,19 +53,24 @@ public class CASTArrayDeclarator extends CASTDeclarator implements IASTArrayDecl
return copy; return copy;
} }
@Override
public IASTArrayModifier[] getArrayModifiers() { public IASTArrayModifier[] getArrayModifiers() {
if( arrayMods == null ) return IASTArrayModifier.EMPTY_ARRAY; if (arrayMods == null)
arrayMods = (IASTArrayModifier[]) ArrayUtil.removeNullsAfter( IASTArrayModifier.class, arrayMods, arrayModsPos ); return IASTArrayModifier.EMPTY_ARRAY;
arrayMods = (IASTArrayModifier[]) ArrayUtil.removeNullsAfter(IASTArrayModifier.class,
arrayMods, arrayModsPos);
return arrayMods; return arrayMods;
} }
@Override
public void addArrayModifier(IASTArrayModifier arrayModifier) { public void addArrayModifier(IASTArrayModifier arrayModifier) {
assertNotFrozen(); assertNotFrozen();
if (arrayModifier != null) { if (arrayModifier != null) {
arrayModifier.setParent(this); arrayModifier.setParent(this);
arrayModifier.setPropertyInParent(ARRAY_MODIFIER); arrayModifier.setPropertyInParent(ARRAY_MODIFIER);
arrayMods = (IASTArrayModifier[]) ArrayUtil.append( IASTArrayModifier.class, arrayMods, ++arrayModsPos, arrayModifier ); arrayMods = (IASTArrayModifier[]) ArrayUtil.append(IASTArrayModifier.class, arrayMods,
++arrayModsPos, arrayModifier);
} }
} }

View file

@ -22,10 +22,8 @@ import org.eclipse.cdt.core.parser.util.ArrayUtil;
* Array declarator for c++. * Array declarator for c++.
*/ */
public class CPPASTArrayDeclarator extends CPPASTDeclarator implements ICPPASTArrayDeclarator { public class CPPASTArrayDeclarator extends CPPASTDeclarator implements ICPPASTArrayDeclarator {
private IASTArrayModifier[] arrayMods = null;
private IASTArrayModifier [] arrayMods = null; private int arrayModsPos = -1;
private int arrayModsPos=-1;
public CPPASTArrayDeclarator(IASTName name, IASTInitializer initializer) { public CPPASTArrayDeclarator(IASTName name, IASTInitializer initializer) {
super(name, initializer); super(name, initializer);
@ -35,7 +33,6 @@ public class CPPASTArrayDeclarator extends CPPASTDeclarator implements ICPPASTAr
super(name); super(name);
} }
public CPPASTArrayDeclarator() { public CPPASTArrayDeclarator() {
} }
@ -44,7 +41,6 @@ public class CPPASTArrayDeclarator extends CPPASTDeclarator implements ICPPASTAr
return copy(CopyStyle.withoutLocations); return copy(CopyStyle.withoutLocations);
} }
@Override @Override
public CPPASTArrayDeclarator copy(CopyStyle style) { public CPPASTArrayDeclarator copy(CopyStyle style) {
CPPASTArrayDeclarator copy = new CPPASTArrayDeclarator(); CPPASTArrayDeclarator copy = new CPPASTArrayDeclarator();
@ -58,16 +54,21 @@ public class CPPASTArrayDeclarator extends CPPASTDeclarator implements ICPPASTAr
return copy; return copy;
} }
@Override
public IASTArrayModifier[] getArrayModifiers() { public IASTArrayModifier[] getArrayModifiers() {
if( arrayMods == null ) return IASTArrayModifier.EMPTY_ARRAY; if (arrayMods == null)
arrayMods = (IASTArrayModifier[]) ArrayUtil.removeNullsAfter( IASTArrayModifier.class, arrayMods, arrayModsPos ); return IASTArrayModifier.EMPTY_ARRAY;
arrayMods = (IASTArrayModifier[]) ArrayUtil.removeNullsAfter(IASTArrayModifier.class,
arrayMods, arrayModsPos);
return arrayMods; return arrayMods;
} }
@Override
public void addArrayModifier(IASTArrayModifier arrayModifier) { public void addArrayModifier(IASTArrayModifier arrayModifier) {
assertNotFrozen(); assertNotFrozen();
if (arrayModifier != null) { if (arrayModifier != null) {
arrayMods = (IASTArrayModifier[]) ArrayUtil.append( IASTArrayModifier.class, arrayMods, ++arrayModsPos, arrayModifier ); arrayMods = (IASTArrayModifier[]) ArrayUtil.append(IASTArrayModifier.class, arrayMods,
++arrayModsPos, arrayModifier);
arrayModifier.setParent(this); arrayModifier.setParent(this);
arrayModifier.setPropertyInParent(ARRAY_MODIFIER); arrayModifier.setPropertyInParent(ARRAY_MODIFIER);
} }

View file

@ -22,7 +22,6 @@ import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguityParent;
* @author jcamelon * @author jcamelon
*/ */
public class CPPASTArrayModifier extends ASTNode implements IASTArrayModifier, IASTAmbiguityParent { public class CPPASTArrayModifier extends ASTNode implements IASTArrayModifier, IASTAmbiguityParent {
private IASTExpression exp; private IASTExpression exp;
public CPPASTArrayModifier() { public CPPASTArrayModifier() {
@ -32,14 +31,17 @@ public class CPPASTArrayModifier extends ASTNode implements IASTArrayModifier, I
setConstantExpression(exp); setConstantExpression(exp);
} }
@Override
public IASTExpression getConstantExpression() { public IASTExpression getConstantExpression() {
return exp; return exp;
} }
@Override
public CPPASTArrayModifier copy() { public CPPASTArrayModifier copy() {
return copy(CopyStyle.withoutLocations); return copy(CopyStyle.withoutLocations);
} }
@Override
public CPPASTArrayModifier copy(CopyStyle style) { public CPPASTArrayModifier copy(CopyStyle style) {
CPPASTArrayModifier copy = new CPPASTArrayModifier(exp == null ? null : exp.copy(style)); CPPASTArrayModifier copy = new CPPASTArrayModifier(exp == null ? null : exp.copy(style));
copy.setOffsetAndLength(this); copy.setOffsetAndLength(this);
@ -49,6 +51,7 @@ public class CPPASTArrayModifier extends ASTNode implements IASTArrayModifier, I
return copy; return copy;
} }
@Override
public void setConstantExpression(IASTExpression expression) { public void setConstantExpression(IASTExpression expression) {
assertNotFrozen(); assertNotFrozen();
exp = expression; exp = expression;
@ -62,9 +65,9 @@ public class CPPASTArrayModifier extends ASTNode implements IASTArrayModifier, I
public boolean accept(ASTVisitor action) { public boolean accept(ASTVisitor action) {
if (action.shouldVisitArrayModifiers) { if (action.shouldVisitArrayModifiers) {
switch (action.visit(this)) { switch (action.visit(this)) {
case ASTVisitor.PROCESS_ABORT : return false; case ASTVisitor.PROCESS_ABORT: return false;
case ASTVisitor.PROCESS_SKIP : return true; case ASTVisitor.PROCESS_SKIP: return true;
default : break; default: break;
} }
} }
if (exp != null && !exp.accept(action)) if (exp != null && !exp.accept(action))
@ -76,6 +79,7 @@ public class CPPASTArrayModifier extends ASTNode implements IASTArrayModifier, I
return true; return true;
} }
@Override
public void replace(IASTNode child, IASTNode other) { public void replace(IASTNode child, IASTNode other) {
if (child == exp) { if (child == exp) {
other.setPropertyInParent(child.getPropertyInParent()); other.setPropertyInParent(child.getPropertyInParent());

View file

@ -37,13 +37,13 @@ import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.Conversions;
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExpressionTypes; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExpressionTypes;
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.SemanticUtil; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.SemanticUtil;
public class CPPASTArraySubscriptExpression extends ASTNode implements ICPPASTArraySubscriptExpression, IASTAmbiguityParent { public class CPPASTArraySubscriptExpression extends ASTNode
implements ICPPASTArraySubscriptExpression, IASTAmbiguityParent {
private IASTExpression arrayExpression; private IASTExpression arrayExpression;
private IASTInitializerClause subscriptExp; private IASTInitializerClause subscriptExp;
private ICPPFunction overload= UNINITIALIZED_FUNCTION; private ICPPFunction overload= UNINITIALIZED_FUNCTION;
private IASTImplicitName[] implicitNames = null; private IASTImplicitName[] implicitNames;
public CPPASTArraySubscriptExpression() { public CPPASTArraySubscriptExpression() {
} }
@ -53,10 +53,12 @@ public class CPPASTArraySubscriptExpression extends ASTNode implements ICPPASTAr
setArgument(operand); setArgument(operand);
} }
@Override
public CPPASTArraySubscriptExpression copy() { public CPPASTArraySubscriptExpression copy() {
return copy(CopyStyle.withoutLocations); return copy(CopyStyle.withoutLocations);
} }
@Override
public CPPASTArraySubscriptExpression copy(CopyStyle style) { public CPPASTArraySubscriptExpression copy(CopyStyle style) {
CPPASTArraySubscriptExpression copy = new CPPASTArraySubscriptExpression(); CPPASTArraySubscriptExpression copy = new CPPASTArraySubscriptExpression();
copy.setArrayExpression(arrayExpression == null ? null : arrayExpression.copy(style)); copy.setArrayExpression(arrayExpression == null ? null : arrayExpression.copy(style));
@ -68,10 +70,12 @@ public class CPPASTArraySubscriptExpression extends ASTNode implements ICPPASTAr
return copy; return copy;
} }
@Override
public IASTExpression getArrayExpression() { public IASTExpression getArrayExpression() {
return arrayExpression; return arrayExpression;
} }
@Override
public void setArrayExpression(IASTExpression expression) { public void setArrayExpression(IASTExpression expression) {
assertNotFrozen(); assertNotFrozen();
arrayExpression = expression; arrayExpression = expression;
@ -81,10 +85,12 @@ public class CPPASTArraySubscriptExpression extends ASTNode implements ICPPASTAr
} }
} }
@Override
public IASTInitializerClause getArgument() { public IASTInitializerClause getArgument() {
return subscriptExp; return subscriptExp;
} }
@Override
public void setArgument(IASTInitializerClause arg) { public void setArgument(IASTInitializerClause arg) {
assertNotFrozen(); assertNotFrozen();
subscriptExp = arg; subscriptExp = arg;
@ -94,6 +100,7 @@ public class CPPASTArraySubscriptExpression extends ASTNode implements ICPPASTAr
} }
} }
@Override
@Deprecated @Deprecated
public IASTExpression getSubscriptExpression() { public IASTExpression getSubscriptExpression() {
if (subscriptExp instanceof IASTExpression) if (subscriptExp instanceof IASTExpression)
@ -101,11 +108,13 @@ public class CPPASTArraySubscriptExpression extends ASTNode implements ICPPASTAr
return null; return null;
} }
@Override
@Deprecated @Deprecated
public void setSubscriptExpression(IASTExpression expression) { public void setSubscriptExpression(IASTExpression expression) {
setArgument(expression); setArgument(expression);
} }
@Override
public IASTImplicitName[] getImplicitNames() { public IASTImplicitName[] getImplicitNames() {
if (implicitNames == null) { if (implicitNames == null) {
ICPPFunction overload = getOverload(); ICPPFunction overload = getOverload();
@ -128,7 +137,6 @@ public class CPPASTArraySubscriptExpression extends ASTNode implements ICPPASTAr
return implicitNames; return implicitNames;
} }
public ICPPFunction getOverload() { public ICPPFunction getOverload() {
if (overload == UNINITIALIZED_FUNCTION) { if (overload == UNINITIALIZED_FUNCTION) {
overload= null; overload= null;
@ -174,6 +182,7 @@ public class CPPASTArraySubscriptExpression extends ASTNode implements ICPPASTAr
return true; return true;
} }
@Override
public void replace(IASTNode child, IASTNode other) { public void replace(IASTNode child, IASTNode other) {
if (child == subscriptExp) { if (child == subscriptExp) {
other.setPropertyInParent(child.getPropertyInParent()); other.setPropertyInParent(child.getPropertyInParent());
@ -187,6 +196,7 @@ public class CPPASTArraySubscriptExpression extends ASTNode implements ICPPASTAr
} }
} }
@Override
public IType getExpressionType() { public IType getExpressionType() {
ICPPFunction op = getOverload(); ICPPFunction op = getOverload();
if (op != null) { if (op != null) {
@ -216,10 +226,12 @@ public class CPPASTArraySubscriptExpression extends ASTNode implements ICPPASTAr
return new ProblemType(ISemanticProblem.TYPE_UNKNOWN_FOR_EXPRESSION); return new ProblemType(ISemanticProblem.TYPE_UNKNOWN_FOR_EXPRESSION);
} }
@Override
public boolean isLValue() { public boolean isLValue() {
return getValueCategory() == LVALUE; return getValueCategory() == LVALUE;
} }
@Override
public ValueCategory getValueCategory() { public ValueCategory getValueCategory() {
ICPPFunction op = getOverload(); ICPPFunction op = getOverload();
if (op != null) { if (op != null) {

View file

@ -19,7 +19,6 @@ import org.eclipse.cdt.internal.core.dom.parser.ASTNode;
* A pointer operator of a declarator * A pointer operator of a declarator
*/ */
public class CPPASTPointer extends ASTNode implements IASTPointer { public class CPPASTPointer extends ASTNode implements IASTPointer {
private boolean isConst; private boolean isConst;
private boolean isVolatile; private boolean isVolatile;
private boolean isRestrict; private boolean isRestrict;
@ -27,10 +26,12 @@ public class CPPASTPointer extends ASTNode implements IASTPointer {
public CPPASTPointer() { public CPPASTPointer() {
} }
@Override
public CPPASTPointer copy() { public CPPASTPointer copy() {
return copy(CopyStyle.withoutLocations); return copy(CopyStyle.withoutLocations);
} }
@Override
public CPPASTPointer copy(CopyStyle style) { public CPPASTPointer copy(CopyStyle style) {
CPPASTPointer copy = new CPPASTPointer(); CPPASTPointer copy = new CPPASTPointer();
copy.isConst = isConst; copy.isConst = isConst;
@ -43,28 +44,34 @@ public class CPPASTPointer extends ASTNode implements IASTPointer {
return copy; return copy;
} }
@Override
public boolean isConst() { public boolean isConst() {
return isConst; return isConst;
} }
@Override
public boolean isVolatile() { public boolean isVolatile() {
return isVolatile; return isVolatile;
} }
@Override
public boolean isRestrict() { public boolean isRestrict() {
return isRestrict; return isRestrict;
} }
@Override
public void setConst(boolean value) { public void setConst(boolean value) {
assertNotFrozen(); assertNotFrozen();
isConst = value; isConst = value;
} }
@Override
public void setVolatile(boolean value) { public void setVolatile(boolean value) {
assertNotFrozen(); assertNotFrozen();
isVolatile = value; isVolatile = value;
} }
@Override
public void setRestrict(boolean value) { public void setRestrict(boolean value) {
assertNotFrozen(); assertNotFrozen();
isRestrict = value; isRestrict = value;
@ -74,8 +81,8 @@ public class CPPASTPointer extends ASTNode implements IASTPointer {
public boolean accept(ASTVisitor action) { public boolean accept(ASTVisitor action) {
if (action.shouldVisitPointerOperators) { if (action.shouldVisitPointerOperators) {
switch (action.visit(this)) { switch (action.visit(this)) {
case ASTVisitor.PROCESS_ABORT : return false; case ASTVisitor.PROCESS_ABORT: return false;
case ASTVisitor.PROCESS_SKIP : return true; case ASTVisitor.PROCESS_SKIP: return true;
} }
if (action.leave(this) == ASTVisitor.PROCESS_ABORT) if (action.leave(this) == ASTVisitor.PROCESS_ABORT)
return false; return false;