mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-03 07:05:24 +02:00
Bug 459179 - ClassCastException in CPPSemantics.getParentScope
This commit is contained in:
parent
8eb15f3fca
commit
91981f9453
5 changed files with 18 additions and 5 deletions
|
@ -35,7 +35,6 @@ import org.eclipse.cdt.internal.core.pdom.PDOM;
|
|||
import org.eclipse.cdt.internal.core.pdom.db.Database;
|
||||
import org.eclipse.cdt.internal.core.pdom.db.IString;
|
||||
import org.eclipse.cdt.internal.core.pdom.db.PDOMExternalReferencesList;
|
||||
import org.eclipse.cdt.internal.core.pdom.dom.c.PDOMCGlobalScope;
|
||||
import org.eclipse.cdt.internal.core.pdom.tag.PDOMTaggable;
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
|
||||
|
@ -257,7 +256,7 @@ public abstract class PDOMBinding extends PDOMNamedNode implements IPDOMBinding
|
|||
} catch (CoreException e) {
|
||||
CCorePlugin.log(e);
|
||||
}
|
||||
return PDOMCGlobalScope.INSTANCE;
|
||||
return getLinkage().getGlobalScope();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -271,7 +270,7 @@ public abstract class PDOMBinding extends PDOMNamedNode implements IPDOMBinding
|
|||
} catch (CoreException e) {
|
||||
CCorePlugin.log(e);
|
||||
}
|
||||
return PDOMCGlobalScope.INSTANCE;
|
||||
return getLinkage().getGlobalScope();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -180,10 +180,12 @@ public abstract class PDOMLinkage extends PDOMNamedNode implements IIndexLinkage
|
|||
return null;
|
||||
}
|
||||
|
||||
abstract public PDOMNode getNode(long record, int nodeType) throws CoreException;
|
||||
public abstract PDOMNode getNode(long record, int nodeType) throws CoreException;
|
||||
|
||||
public abstract IBTreeComparator getIndexComparator();
|
||||
|
||||
public abstract PDOMGlobalScope getGlobalScope();
|
||||
|
||||
public IBTreeComparator getNestedBindingsComparator() {
|
||||
return new FindBinding.NestedBindingsBTreeComparator(this);
|
||||
}
|
||||
|
|
|
@ -43,6 +43,7 @@ import org.eclipse.cdt.internal.core.pdom.dom.FindBinding;
|
|||
import org.eclipse.cdt.internal.core.pdom.dom.IPDOMMemberOwner;
|
||||
import org.eclipse.cdt.internal.core.pdom.dom.PDOMASTAdapter;
|
||||
import org.eclipse.cdt.internal.core.pdom.dom.PDOMBinding;
|
||||
import org.eclipse.cdt.internal.core.pdom.dom.PDOMGlobalScope;
|
||||
import org.eclipse.cdt.internal.core.pdom.dom.PDOMLinkage;
|
||||
import org.eclipse.cdt.internal.core.pdom.dom.PDOMNode;
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
|
@ -342,6 +343,11 @@ class PDOMCLinkage extends PDOMLinkage implements IIndexCBindingConstants {
|
|||
return new FindBinding.DefaultBindingBTreeComparator(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PDOMGlobalScope getGlobalScope() {
|
||||
return PDOMCGlobalScope.INSTANCE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PDOMBinding addTypeBinding(IBinding type) throws CoreException {
|
||||
return addBinding(type, null);
|
||||
|
|
|
@ -84,6 +84,6 @@ public abstract class PDOMCPPBinding extends PDOMBinding implements ICPPBinding
|
|||
} catch (CoreException e) {
|
||||
CCorePlugin.log(e);
|
||||
}
|
||||
return PDOMCPPGlobalScope.INSTANCE;
|
||||
return getLinkage().getGlobalScope();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -136,6 +136,7 @@ import org.eclipse.cdt.internal.core.pdom.dom.IPDOMMemberOwner;
|
|||
import org.eclipse.cdt.internal.core.pdom.dom.PDOMASTAdapter;
|
||||
import org.eclipse.cdt.internal.core.pdom.dom.PDOMBinding;
|
||||
import org.eclipse.cdt.internal.core.pdom.dom.PDOMFile;
|
||||
import org.eclipse.cdt.internal.core.pdom.dom.PDOMGlobalScope;
|
||||
import org.eclipse.cdt.internal.core.pdom.dom.PDOMLinkage;
|
||||
import org.eclipse.cdt.internal.core.pdom.dom.PDOMName;
|
||||
import org.eclipse.cdt.internal.core.pdom.dom.PDOMNode;
|
||||
|
@ -1054,6 +1055,11 @@ class PDOMCPPLinkage extends PDOMLinkage implements IIndexCPPBindingConstants {
|
|||
return new CPPFindBinding.CPPBindingBTreeComparator(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PDOMGlobalScope getGlobalScope() {
|
||||
return PDOMCPPGlobalScope.INSTANCE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreateName(PDOMFile file, IASTName name, PDOMName pdomName) throws CoreException {
|
||||
super.onCreateName(file, name, pdomName);
|
||||
|
|
Loading…
Add table
Reference in a new issue