1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Cosmetics.

This commit is contained in:
Sergey Prigogin 2013-04-24 16:13:27 -07:00
parent 2afbff2520
commit 495b294449
2 changed files with 35 additions and 40 deletions

View file

@ -29,7 +29,7 @@ public interface ICASTDesignatedInitializer extends IASTInitializer, IASTInitial
"ICASTDesignatedInitializer.DESIGNATOR [ICASTDesignator]"); //$NON-NLS-1$ "ICASTDesignatedInitializer.DESIGNATOR [ICASTDesignator]"); //$NON-NLS-1$
public static final ASTNodeProperty OPERAND = new ASTNodeProperty( public static final ASTNodeProperty OPERAND = new ASTNodeProperty(
"ICASTDesignatedInitializer.OPERAND - [IASTInitializerClause]"); //$NON-NLS-1$ "ICASTDesignatedInitializer.OPERAND - [IASTInitializerClause]"); //$NON-NLS-1$
/** /**
* Add a designator to this initializer. * Add a designator to this initializer.

View file

@ -6,9 +6,9 @@
* http://www.eclipse.org/legal/epl-v10.html * http://www.eclipse.org/legal/epl-v10.html
* *
* Contributors: * Contributors:
* John Camelon (IBM) - Initial API and implementation * John Camelon (IBM) - Initial API and implementation
* Yuan Zhang / Beth Tibbitts (IBM Research) * Yuan Zhang / Beth Tibbitts (IBM Research)
* Markus Schorn (Wind River Systems) * Markus Schorn (Wind River Systems)
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.internal.core.dom.parser.c; package org.eclipse.cdt.internal.core.dom.parser.c;
@ -25,13 +25,12 @@ import org.eclipse.cdt.internal.core.dom.parser.ASTNode;
import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguityParent; import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguityParent;
/** /**
* Implementation for designated initializers * Implementation for designated initializers.
*/ */
public class CASTDesignatedInitializer extends ASTNode implements ICASTDesignatedInitializer, IASTAmbiguityParent { public class CASTDesignatedInitializer extends ASTNode implements ICASTDesignatedInitializer, IASTAmbiguityParent {
private IASTInitializerClause rhs; private IASTInitializerClause rhs;
private ICASTDesignator [] designators = null; private ICASTDesignator[] designators;
private int designatorsPos=-1; private int designatorsPos = -1;
public CASTDesignatedInitializer() { public CASTDesignatedInitializer() {
} }
@ -47,15 +46,12 @@ public class CASTDesignatedInitializer extends ASTNode implements ICASTDesignate
@Override @Override
public CASTDesignatedInitializer copy(CopyStyle style) { public CASTDesignatedInitializer copy(CopyStyle style) {
CASTDesignatedInitializer copy = new CASTDesignatedInitializer(rhs == null ? null CASTDesignatedInitializer copy =
: rhs.copy(style)); new CASTDesignatedInitializer(rhs == null ? null : rhs.copy(style));
for (ICASTDesignator designator : getDesignators()) for (ICASTDesignator designator : getDesignators()) {
copy.addDesignator(designator == null ? null : designator.copy(style)); copy.addDesignator(designator == null ? null : designator.copy(style));
copy.setOffsetAndLength(this);
if (style == CopyStyle.withLocations) {
copy.setCopyLocation(this);
} }
return copy; return copy(copy, style);
} }
@Override @Override
@ -64,20 +60,18 @@ public class CASTDesignatedInitializer extends ASTNode implements ICASTDesignate
if (designator != null) { if (designator != null) {
designator.setParent(this); designator.setParent(this);
designator.setPropertyInParent(DESIGNATOR); designator.setPropertyInParent(DESIGNATOR);
designators = ArrayUtil.appendAt( ICASTDesignator.class, designators, ++designatorsPos, designator ); designators = ArrayUtil.appendAt(ICASTDesignator.class, designators, ++designatorsPos, designator);
} }
} }
@Override @Override
public ICASTDesignator[] getDesignators() { public ICASTDesignator[] getDesignators() {
if( designators == null ) return ICASTDesignatedInitializer.EMPTY_DESIGNATOR_ARRAY; if (designators == null)
designators = ArrayUtil.trimAt( ICASTDesignator.class, designators, designatorsPos ); return ICASTDesignatedInitializer.EMPTY_DESIGNATOR_ARRAY;
designators = ArrayUtil.trimAt(ICASTDesignator.class, designators, designatorsPos);
return designators; return designators;
} }
@Override @Override
public IASTInitializerClause getOperand() { public IASTInitializerClause getOperand() {
return rhs; return rhs;
@ -121,26 +115,27 @@ public class CASTDesignatedInitializer extends ASTNode implements ICASTDesignate
} }
@Override @Override
public boolean accept( ASTVisitor action ){ public boolean accept(ASTVisitor action) {
if( action.shouldVisitInitializers ){ if (action.shouldVisitInitializers) {
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;
} }
} }
ICASTDesignator [] ds = getDesignators(); ICASTDesignator[] ds = getDesignators();
for ( int i = 0; i < ds.length; i++ ) { for (int i = 0; i < ds.length; i++) {
if( !ds[i].accept( action ) ) return false; if (!ds[i].accept(action))
return false;
} }
if( rhs != null ) if( !rhs.accept( action ) ) return false; if (rhs != null && !rhs.accept(action)) return false;
if( action.shouldVisitInitializers ){ if (action.shouldVisitInitializers) {
switch( action.leave( this ) ){ switch (action.leave(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;
} }
} }
return true; return true;
} }
@ -150,7 +145,7 @@ public class CASTDesignatedInitializer extends ASTNode implements ICASTDesignate
if (child == rhs) { if (child == rhs) {
other.setPropertyInParent(child.getPropertyInParent()); other.setPropertyInParent(child.getPropertyInParent());
other.setParent(child.getParent()); other.setParent(child.getParent());
rhs = (IASTInitializerClause) other; rhs = (IASTInitializerClause) other;
} }
} }
} }