mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-23 14:42:11 +02:00
Cosmetics.
This commit is contained in:
parent
181907f2fd
commit
52ac0596f6
3 changed files with 41 additions and 37 deletions
|
@ -39,7 +39,7 @@ import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor;
|
|||
*/
|
||||
public class CPPASTTemplateId extends CPPASTNameBase implements ICPPASTTemplateId, IASTAmbiguityParent {
|
||||
private IASTName templateName;
|
||||
private IASTNode[] templateArguments = null;
|
||||
private IASTNode[] templateArguments;
|
||||
|
||||
public CPPASTTemplateId() {
|
||||
}
|
||||
|
@ -57,8 +57,9 @@ public class CPPASTTemplateId extends CPPASTNameBase implements ICPPASTTemplateI
|
|||
public CPPASTTemplateId copy(CopyStyle style) {
|
||||
CPPASTTemplateId copy = new CPPASTTemplateId(templateName == null ?
|
||||
null : templateName.copy(style));
|
||||
for (IASTNode arg : getTemplateArguments())
|
||||
for (IASTNode arg : getTemplateArguments()) {
|
||||
copy.internalAddTemplateArgument(arg == null ? null : arg.copy(style));
|
||||
}
|
||||
copy.setOffsetAndLength(this);
|
||||
if (style == CopyStyle.withLocations) {
|
||||
copy.setCopyLocation(this);
|
||||
|
@ -215,7 +216,8 @@ public class CPPASTTemplateId extends CPPASTNameBase implements ICPPASTTemplateI
|
|||
|
||||
@Override
|
||||
public void replace(IASTNode child, IASTNode other) {
|
||||
if (templateArguments == null) return;
|
||||
if (templateArguments == null)
|
||||
return;
|
||||
for (int i = 0; i < templateArguments.length; ++i) {
|
||||
if (child == templateArguments[i]) {
|
||||
other.setPropertyInParent(child.getPropertyInParent());
|
||||
|
|
|
@ -51,7 +51,7 @@ import org.eclipse.core.runtime.IProgressMonitor;
|
|||
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||
|
||||
/**
|
||||
* Base class for c++-scopes of the ast.
|
||||
* Base class for c++-scopes of the AST.
|
||||
*/
|
||||
abstract public class CPPScope implements ICPPASTInternalScope {
|
||||
protected static final char[] CONSTRUCTOR_KEY = "!!!CTOR!!!".toCharArray(); //$NON-NLS-1$
|
||||
|
@ -60,13 +60,14 @@ abstract public class CPPScope implements ICPPASTInternalScope {
|
|||
|
||||
private IASTNode physicalNode;
|
||||
private boolean isCached = false;
|
||||
protected CharArrayObjectMap<Object> bindings = null;
|
||||
protected CharArrayObjectMap<Object> bindings;
|
||||
private ICPPNamespace fIndexNamespace= UNINITIALIZED;
|
||||
|
||||
public static class CPPScopeProblem extends ProblemBinding implements ICPPScope {
|
||||
public CPPScopeProblem(IASTNode node, int id, char[] arg) {
|
||||
super(node, id, arg);
|
||||
}
|
||||
|
||||
public CPPScopeProblem(IASTName name, int id) {
|
||||
super(name, id);
|
||||
}
|
||||
|
@ -89,7 +90,7 @@ abstract public class CPPScope implements ICPPASTInternalScope {
|
|||
@Override
|
||||
@SuppressWarnings({ "unchecked" })
|
||||
public void addName(IASTName name) {
|
||||
// don't add inactive names to the scope
|
||||
// Don't add inactive names to the scope.
|
||||
if (!name.isActive())
|
||||
return;
|
||||
|
||||
|
@ -101,7 +102,7 @@ abstract public class CPPScope implements ICPPASTInternalScope {
|
|||
return;
|
||||
}
|
||||
|
||||
// name belongs to a different scope, don't add it here except it names this scope
|
||||
// Name belongs to a different scope, don't add it here except if it names this scope.
|
||||
if (!canDenoteScopeMember((ICPPASTQualifiedName) name))
|
||||
return;
|
||||
}
|
||||
|
@ -125,16 +126,17 @@ abstract public class CPPScope implements ICPPASTInternalScope {
|
|||
|
||||
public boolean canDenoteScopeMember(ICPPASTQualifiedName name) {
|
||||
IScope scope= this;
|
||||
IASTName[] na= name.getNames();
|
||||
IASTName[] segments= name.getNames();
|
||||
try {
|
||||
for (int i= na.length - 2; i >= 0; i--) {
|
||||
for (int i= segments.length - 1; --i >= 0;) {
|
||||
if (scope == null)
|
||||
return false;
|
||||
IName scopeName = scope.getScopeName();
|
||||
if (scopeName == null)
|
||||
return false;
|
||||
|
||||
if (!CharArrayUtils.equals(scopeName.getSimpleID(), na[i].getSimpleID()))
|
||||
IASTName segmentName = segments[i];
|
||||
if (!CharArrayUtils.equals(scopeName.getSimpleID(), segmentName.getSimpleID()))
|
||||
return false;
|
||||
scope= scope.getParent();
|
||||
}
|
||||
|
@ -155,7 +157,7 @@ abstract public class CPPScope implements ICPPASTInternalScope {
|
|||
IIndex index = tu == null ? null : tu.getIndex();
|
||||
if (index != null) {
|
||||
final char[] nchars = name.getLookupKey();
|
||||
// Try looking this up in the PDOM
|
||||
// Try looking this up in the index.
|
||||
if (physicalNode instanceof IASTTranslationUnit) {
|
||||
try {
|
||||
IBinding[] bindings= index.findBindings(nchars,
|
||||
|
@ -310,7 +312,7 @@ abstract public class CPPScope implements ICPPASTInternalScope {
|
|||
simpleName= ((ICPPASTTemplateId) simpleName).getTemplateName();
|
||||
}
|
||||
if (forceResolve && candName != name && simpleName != name) {
|
||||
candName.resolvePreBinding(); // make sure to resolve the template-id
|
||||
candName.resolvePreBinding(); // Make sure to resolve the template-id
|
||||
binding = simpleName.resolvePreBinding();
|
||||
} else {
|
||||
binding = simpleName.getPreBinding();
|
||||
|
|
Loading…
Add table
Reference in a new issue