diff options
author | Sergey Prigogin | 2012-04-13 18:36:38 +0000 |
---|---|---|
committer | Sergey Prigogin | 2012-04-13 18:48:35 +0000 |
commit | 33374d0a517f3c40e03352b63ec4edc8885fb633 (patch) | |
tree | cab9a2541a7977cebf2ab5e9f6c3717e961cd194 /upc/org.eclipse.cdt.core.parser.upc | |
parent | b9097cd175b8a61b156f24821ef9c811b42228f6 (diff) | |
download | org.eclipse.cdt-33374d0a517f3c40e03352b63ec4edc8885fb633.tar.gz org.eclipse.cdt-33374d0a517f3c40e03352b63ec4edc8885fb633.tar.xz org.eclipse.cdt-33374d0a517f3c40e03352b63ec4edc8885fb633.zip |
Bug 316230 - Representation of gcc attributes in AST. Also
contains a fix for bug 330635.
Change-Id: I11d872bd68dc0819a95ad8bf83c6db20fbc81387
Reviewed-on: https://git.eclipse.org/r/5554
Reviewed-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
IP-Clean: Sergey Prigogin <eclipse.sprigogin@gmail.com>
Tested-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
Diffstat (limited to 'upc/org.eclipse.cdt.core.parser.upc')
2 files changed, 17 insertions, 20 deletions
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTForallStatement.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTForallStatement.java index 9b85e452595..5987c3a5ec4 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTForallStatement.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTForallStatement.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2011 IBM Corporation and others. + * Copyright (c) 2006, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * IBM Corporation - initial API and implementation + * Sergey Prigogin (Google) *******************************************************************************/ package org.eclipse.cdt.internal.core.dom.parser.upc.ast; @@ -39,11 +40,7 @@ public class UPCASTForallStatement extends CASTForStatement implements IUPCASTFo public UPCASTForallStatement copy(CopyStyle style) { UPCASTForallStatement copy = new UPCASTForallStatement(); copy.setAffinityExpression(affinity == null ? null : affinity.copy(style)); - copyForStatement(copy, style); - if (style == CopyStyle.withLocations) { - copy.setCopyLocation(this); - } - return copy; + return copy(copy, style); } @Override @@ -83,6 +80,8 @@ public class UPCASTForallStatement extends CASTForStatement implements IUPCASTFo } } + if (!acceptByAttributes(visitor)) return false; + IASTStatement initializer = super.getInitializerStatement(); if (initializer != null && !initializer.accept(visitor)) return false; diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTSynchronizationStatement.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTSynchronizationStatement.java index 9058c8aa904..b28385766a3 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTSynchronizationStatement.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTSynchronizationStatement.java @@ -1,22 +1,23 @@ /******************************************************************************* - * Copyright (c) 2006, 2011 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * Copyright (c) 2006, 2011 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: - * IBM Corporation - initial API and implementation + * Contributors: + * IBM Corporation - initial API and implementation + * Sergey Prigogin (Google) *******************************************************************************/ package org.eclipse.cdt.internal.core.dom.parser.upc.ast; import org.eclipse.cdt.core.dom.ast.ASTVisitor; import org.eclipse.cdt.core.dom.ast.IASTExpression; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; -import org.eclipse.cdt.internal.core.dom.parser.ASTNode; +import org.eclipse.cdt.internal.core.dom.parser.ASTAttributeOwner; @SuppressWarnings("restriction") -public class UPCASTSynchronizationStatement extends ASTNode implements IUPCASTSynchronizationStatement { +public class UPCASTSynchronizationStatement extends ASTAttributeOwner implements IUPCASTSynchronizationStatement { private int statmentKind; private IASTExpression barrierExpression; @@ -38,11 +39,7 @@ public class UPCASTSynchronizationStatement extends ASTNode implements IUPCASTSy UPCASTSynchronizationStatement copy = new UPCASTSynchronizationStatement(); copy.statmentKind = statmentKind; copy.setBarrierExpression(barrierExpression == null ? null : barrierExpression.copy(style)); - copy.setOffsetAndLength(this); - if (style == CopyStyle.withLocations) { - copy.setCopyLocation(this); - } - return copy; + return copy(copy, style); } @Override @@ -78,6 +75,7 @@ public class UPCASTSynchronizationStatement extends ASTNode implements IUPCASTSy } } + if (!acceptByAttributes(visitor)) return false; if (barrierExpression != null && !barrierExpression.accept(visitor)) return false; if (visitor.shouldVisitStatements) { |