forked from qt-creator/qt-creator
Use const names.
This commit is contained in:
@@ -122,7 +122,7 @@ bool CheckUndefinedSymbols::isType(const Identifier *id) const
|
||||
return isType(QByteArray::fromRawData(id->chars(), id->size()));
|
||||
}
|
||||
|
||||
void CheckUndefinedSymbols::addType(Name *name)
|
||||
void CheckUndefinedSymbols::addType(const Name *name)
|
||||
{
|
||||
if (! name)
|
||||
return;
|
||||
@@ -131,7 +131,7 @@ void CheckUndefinedSymbols::addType(Name *name)
|
||||
_types.insert(QByteArray(id->chars(), id->size()));
|
||||
}
|
||||
|
||||
void CheckUndefinedSymbols::addProtocol(Name *name)
|
||||
void CheckUndefinedSymbols::addProtocol(const Name *name)
|
||||
{
|
||||
if (!name)
|
||||
return;
|
||||
@@ -294,7 +294,7 @@ bool CheckUndefinedSymbols::visit(ClassSpecifierAST *ast)
|
||||
Symbol *symbol = klass->memberAt(i);
|
||||
|
||||
if (symbol->name() && symbol->name()->isNameId()) {
|
||||
NameId *nameId = symbol->name()->asNameId();
|
||||
const NameId *nameId = symbol->name()->asNameId();
|
||||
|
||||
if (! qstrcmp(nameId->identifier()->chars(), "qt_check_for_QOBJECT_macro")) {
|
||||
hasQ_OBJECT_CHECK = true;
|
||||
@@ -367,7 +367,7 @@ bool CheckUndefinedSymbols::visit(BaseSpecifierAST *base)
|
||||
if (NameAST *nameAST = base->name) {
|
||||
bool resolvedBaseClassName = false;
|
||||
|
||||
if (Name *name = nameAST->name) {
|
||||
if (const Name *name = nameAST->name) {
|
||||
const Identifier *id = name->identifier();
|
||||
const QByteArray spell = QByteArray::fromRawData(id->chars(), id->size());
|
||||
if (isType(spell))
|
||||
@@ -403,9 +403,9 @@ bool CheckUndefinedSymbols::visit(UsingDirectiveAST *ast)
|
||||
bool CheckUndefinedSymbols::visit(QualifiedNameAST *ast)
|
||||
{
|
||||
if (ast->name) {
|
||||
QualifiedNameId *q = ast->name->asQualifiedNameId();
|
||||
const QualifiedNameId *q = ast->name->asQualifiedNameId();
|
||||
for (unsigned i = 0; i < q->nameCount() - 1; ++i) {
|
||||
Name *name = q->nameAt(i);
|
||||
const Name *name = q->nameAt(i);
|
||||
if (const Identifier *id = name->identifier()) {
|
||||
const QByteArray spell = QByteArray::fromRawData(id->chars(), id->size());
|
||||
if (! (_namespaceNames.contains(spell) || isType(id))) {
|
||||
@@ -474,7 +474,7 @@ bool CheckUndefinedSymbols::visit(ObjCClassDeclarationAST *ast)
|
||||
if (NameAST *nameAST = ast->superclass) {
|
||||
bool resolvedSuperClassName = false;
|
||||
|
||||
if (Name *name = nameAST->name) {
|
||||
if (const Name *name = nameAST->name) {
|
||||
const Identifier *id = name->identifier();
|
||||
const QByteArray spell = QByteArray::fromRawData(id->chars(), id->size());
|
||||
if (isType(spell))
|
||||
@@ -496,7 +496,7 @@ bool CheckUndefinedSymbols::visit(ObjCProtocolRefsAST *ast)
|
||||
if (NameAST *nameAST = iter->value) {
|
||||
bool resolvedProtocolName = false;
|
||||
|
||||
if (Name *name = nameAST->name) {
|
||||
if (const Name *name = nameAST->name) {
|
||||
const Identifier *id = name->identifier();
|
||||
const QByteArray spell = QByteArray::fromRawData(id->chars(), id->size());
|
||||
if (isProtocol(spell))
|
||||
|
||||
@@ -55,11 +55,11 @@ protected:
|
||||
bool isType(const Identifier *id) const;
|
||||
bool isType(const QByteArray &name) const;
|
||||
|
||||
void addType(Name *name);
|
||||
void addType(const Name *name);
|
||||
void buildTypeMap(Class *klass);
|
||||
void buildMemberTypeMap(Symbol *member);
|
||||
void buildTypeMap(NamespaceBinding *binding, QSet<NamespaceBinding *> *processed);
|
||||
void addProtocol(Name *name);
|
||||
void addProtocol(const Name *name);
|
||||
bool isProtocol(const QByteArray &name) const;
|
||||
|
||||
FunctionDeclaratorAST *currentFunctionDeclarator() const;
|
||||
|
||||
@@ -79,11 +79,11 @@ NamespaceBinding::~NamespaceBinding()
|
||||
qDeleteAll(classBindings);
|
||||
}
|
||||
|
||||
NameId *NamespaceBinding::name() const
|
||||
const NameId *NamespaceBinding::name() const
|
||||
{
|
||||
if (symbols.size()) {
|
||||
if (Name *name = symbols.first()->name()) {
|
||||
NameId *nameId = name->asNameId();
|
||||
if (const Name *name = symbols.first()->name()) {
|
||||
const NameId *nameId = name->asNameId();
|
||||
Q_ASSERT(nameId != 0);
|
||||
|
||||
return nameId;
|
||||
@@ -95,7 +95,7 @@ NameId *NamespaceBinding::name() const
|
||||
|
||||
const Identifier *NamespaceBinding::identifier() const
|
||||
{
|
||||
if (NameId *nameId = name())
|
||||
if (const NameId *nameId = name())
|
||||
return nameId->identifier();
|
||||
|
||||
return 0;
|
||||
@@ -144,7 +144,7 @@ Binding *NamespaceBinding::findClassOrNamespaceBinding(const Identifier *id, QSe
|
||||
return 0;
|
||||
}
|
||||
|
||||
ClassBinding *NamespaceBinding::findClassBinding(Name *name, QSet<Binding *> *processed)
|
||||
ClassBinding *NamespaceBinding::findClassBinding(const Name *name, QSet<Binding *> *processed)
|
||||
{
|
||||
if (! name)
|
||||
return 0;
|
||||
@@ -191,19 +191,19 @@ ClassBinding *NamespaceBinding::findClassBinding(Name *name, QSet<Binding *> *pr
|
||||
return 0;
|
||||
}
|
||||
|
||||
NamespaceBinding *NamespaceBinding::findNamespaceBinding(Name *name)
|
||||
NamespaceBinding *NamespaceBinding::findNamespaceBinding(const Name *name)
|
||||
{
|
||||
if (! name)
|
||||
return anonymousNamespaceBinding;
|
||||
|
||||
else if (NameId *nameId = name->asNameId())
|
||||
else if (const NameId *nameId = name->asNameId())
|
||||
return findNamespaceBindingForNameId(nameId, /*lookAtParent = */ true);
|
||||
|
||||
else if (const QualifiedNameId *q = name->asQualifiedNameId()) {
|
||||
NamespaceBinding *current = this;
|
||||
|
||||
for (unsigned i = 0; i < q->nameCount(); ++i) {
|
||||
NameId *namespaceName = q->nameAt(i)->asNameId();
|
||||
const NameId *namespaceName = q->nameAt(i)->asNameId();
|
||||
if (! namespaceName)
|
||||
return 0;
|
||||
|
||||
@@ -225,14 +225,14 @@ NamespaceBinding *NamespaceBinding::findNamespaceBinding(Name *name)
|
||||
return 0;
|
||||
}
|
||||
|
||||
NamespaceBinding *NamespaceBinding::findNamespaceBindingForNameId(NameId *name,
|
||||
NamespaceBinding *NamespaceBinding::findNamespaceBindingForNameId(const NameId *name,
|
||||
bool lookAtParentNamespace)
|
||||
{
|
||||
QSet<NamespaceBinding *> processed;
|
||||
return findNamespaceBindingForNameId_helper(name, lookAtParentNamespace, &processed);
|
||||
}
|
||||
|
||||
NamespaceBinding *NamespaceBinding::findNamespaceBindingForNameId_helper(NameId *name,
|
||||
NamespaceBinding *NamespaceBinding::findNamespaceBindingForNameId_helper(const NameId *name,
|
||||
bool lookAtParentNamespace,
|
||||
QSet<NamespaceBinding *> *processed)
|
||||
{
|
||||
@@ -242,12 +242,12 @@ NamespaceBinding *NamespaceBinding::findNamespaceBindingForNameId_helper(NameId
|
||||
processed->insert(this);
|
||||
|
||||
foreach (NamespaceBinding *binding, children) {
|
||||
Name *bindingName = binding->name();
|
||||
const Name *bindingName = binding->name();
|
||||
|
||||
if (! bindingName)
|
||||
continue;
|
||||
|
||||
if (NameId *bindingNameId = bindingName->asNameId()) {
|
||||
if (const NameId *bindingNameId = bindingName->asNameId()) {
|
||||
if (name->isEqualTo(bindingNameId))
|
||||
return binding;
|
||||
}
|
||||
@@ -296,7 +296,7 @@ NamespaceBinding *NamespaceBinding::findOrCreateNamespaceBinding(Namespace *symb
|
||||
}
|
||||
|
||||
static void closure(const Location &loc,
|
||||
NamespaceBinding *binding, Name *name,
|
||||
NamespaceBinding *binding, const Name *name,
|
||||
QList<NamespaceBinding *> *bindings)
|
||||
{
|
||||
if (bindings->contains(binding))
|
||||
@@ -334,13 +334,13 @@ static void closure(const Location &loc,
|
||||
|
||||
|
||||
NamespaceBinding *NamespaceBinding::resolveNamespace(const Location &loc,
|
||||
Name *name,
|
||||
const Name *name,
|
||||
bool lookAtParent)
|
||||
{
|
||||
if (! name)
|
||||
return 0;
|
||||
|
||||
else if (NameId *nameId = name->asNameId()) {
|
||||
else if (const NameId *nameId = name->asNameId()) {
|
||||
QList<NamespaceBinding *> bindings;
|
||||
closure(loc, this, nameId, &bindings);
|
||||
|
||||
@@ -447,7 +447,7 @@ Binding *ClassBinding::findClassOrNamespaceBinding(const Identifier *id, QSet<Bi
|
||||
return 0;
|
||||
}
|
||||
|
||||
ClassBinding *ClassBinding::findClassBinding(Name *name, QSet<Binding *> *processed)
|
||||
ClassBinding *ClassBinding::findClassBinding(const Name *name, QSet<Binding *> *processed)
|
||||
{
|
||||
if (! name)
|
||||
return 0;
|
||||
@@ -549,7 +549,7 @@ ClassBinding::ClassBinding(ClassBinding *parentClass)
|
||||
ClassBinding::~ClassBinding()
|
||||
{ qDeleteAll(children); }
|
||||
|
||||
Name *ClassBinding::name() const
|
||||
const Name *ClassBinding::name() const
|
||||
{
|
||||
if (symbols.isEmpty())
|
||||
return 0;
|
||||
@@ -559,7 +559,7 @@ Name *ClassBinding::name() const
|
||||
|
||||
const Identifier *ClassBinding::identifier() const
|
||||
{
|
||||
if (Name *n = name())
|
||||
if (const Name *n = name())
|
||||
return n->identifier();
|
||||
|
||||
return 0;
|
||||
@@ -623,12 +623,12 @@ protected:
|
||||
|
||||
NamespaceBinding *bind(Symbol *symbol, NamespaceBinding *binding);
|
||||
NamespaceBinding *findOrCreateNamespaceBinding(Namespace *symbol);
|
||||
NamespaceBinding *resolveNamespace(const Location &loc, Name *name);
|
||||
NamespaceBinding *resolveNamespace(const Location &loc, const Name *name);
|
||||
|
||||
NamespaceBinding *switchNamespaceBinding(NamespaceBinding *binding);
|
||||
|
||||
ClassBinding *findOrCreateClassBinding(Class *classSymbol);
|
||||
ClassBinding *findClassBinding(Name *name);
|
||||
ClassBinding *findClassBinding(const Name *name);
|
||||
|
||||
ClassBinding *switchClassBinding(ClassBinding *binding);
|
||||
|
||||
@@ -665,7 +665,7 @@ NamespaceBinding *Binder::bind(Symbol *symbol, NamespaceBinding *binding)
|
||||
NamespaceBinding *Binder::findOrCreateNamespaceBinding(Namespace *symbol)
|
||||
{ return namespaceBinding->findOrCreateNamespaceBinding(symbol); }
|
||||
|
||||
NamespaceBinding *Binder::resolveNamespace(const Location &loc, Name *name)
|
||||
NamespaceBinding *Binder::resolveNamespace(const Location &loc, const Name *name)
|
||||
{
|
||||
if (! namespaceBinding)
|
||||
return 0;
|
||||
@@ -694,7 +694,7 @@ ClassBinding *Binder::findOrCreateClassBinding(Class *classSymbol)
|
||||
return binding;
|
||||
}
|
||||
|
||||
ClassBinding *Binder::findClassBinding(Name *name)
|
||||
ClassBinding *Binder::findClassBinding(const Name *name)
|
||||
{
|
||||
QSet<Binding *> processed;
|
||||
|
||||
|
||||
@@ -84,7 +84,7 @@ public:
|
||||
virtual NamespaceBinding *asNamespaceBinding() { return 0; }
|
||||
virtual ClassBinding *asClassBinding() { return 0; }
|
||||
|
||||
virtual ClassBinding *findClassBinding(Name *name, QSet<Binding *> *processed) = 0;
|
||||
virtual ClassBinding *findClassBinding(const Name *name, QSet<Binding *> *processed) = 0;
|
||||
virtual Binding *findClassOrNamespaceBinding(const Identifier *id, QSet<Binding *> *processed) = 0;
|
||||
};
|
||||
|
||||
@@ -98,7 +98,7 @@ public:
|
||||
virtual ~NamespaceBinding();
|
||||
|
||||
/// Returns this binding's name.
|
||||
NameId *name() const;
|
||||
const NameId *name() const;
|
||||
|
||||
/// Returns this binding's identifier.
|
||||
const Identifier *identifier() const;
|
||||
@@ -107,16 +107,16 @@ public:
|
||||
NamespaceBinding *globalNamespaceBinding();
|
||||
|
||||
/// Returns the binding for the given namespace symbol.
|
||||
NamespaceBinding *findNamespaceBinding(Name *name);
|
||||
NamespaceBinding *findNamespaceBinding(const Name *name);
|
||||
|
||||
/// Returns the binding associated with the given symbol.
|
||||
NamespaceBinding *findOrCreateNamespaceBinding(Namespace *symbol);
|
||||
|
||||
NamespaceBinding *resolveNamespace(const Location &loc,
|
||||
Name *name,
|
||||
const Name *name,
|
||||
bool lookAtParent = true);
|
||||
|
||||
virtual ClassBinding *findClassBinding(Name *name, QSet<Binding *> *processed);
|
||||
virtual ClassBinding *findClassBinding(const Name *name, QSet<Binding *> *processed);
|
||||
virtual Binding *findClassOrNamespaceBinding(const Identifier *id, QSet<Binding *> *processed);
|
||||
|
||||
/// Helpers.
|
||||
@@ -129,10 +129,10 @@ public:
|
||||
static ClassBinding *find(Class *symbol, NamespaceBinding *binding);
|
||||
|
||||
private:
|
||||
NamespaceBinding *findNamespaceBindingForNameId(NameId *name,
|
||||
NamespaceBinding *findNamespaceBindingForNameId(const NameId *name,
|
||||
bool lookAtParentNamespace);
|
||||
|
||||
NamespaceBinding *findNamespaceBindingForNameId_helper(NameId *name,
|
||||
NamespaceBinding *findNamespaceBindingForNameId_helper(const NameId *name,
|
||||
bool lookAtParentNamespace,
|
||||
QSet<NamespaceBinding *> *processed);
|
||||
|
||||
@@ -165,13 +165,13 @@ public:
|
||||
virtual ClassBinding *asClassBinding() { return this; }
|
||||
|
||||
/// Returns this binding's name.
|
||||
Name *name() const;
|
||||
const Name *name() const;
|
||||
|
||||
/// Returns this binding's identifier.
|
||||
const Identifier *identifier() const;
|
||||
virtual QByteArray qualifiedId() const;
|
||||
|
||||
virtual ClassBinding *findClassBinding(Name *name, QSet<Binding *> *processed);
|
||||
virtual ClassBinding *findClassBinding(const Name *name, QSet<Binding *> *processed);
|
||||
virtual Binding *findClassOrNamespaceBinding(const Identifier *id, QSet<Binding *> *processed);
|
||||
|
||||
void dump();
|
||||
|
||||
@@ -52,7 +52,7 @@ public:
|
||||
|
||||
Control *control() const { return context.control(); }
|
||||
|
||||
FullySpecifiedType apply(Name *name);
|
||||
FullySpecifiedType apply(const Name *name);
|
||||
FullySpecifiedType apply(const FullySpecifiedType &type);
|
||||
|
||||
int findSubstitution(const Identifier *id) const;
|
||||
@@ -207,7 +207,7 @@ private:
|
||||
public:
|
||||
ApplyToName(ApplySubstitution *q): q(q) {}
|
||||
|
||||
FullySpecifiedType operator()(Name *name)
|
||||
FullySpecifiedType operator()(const Name *name)
|
||||
{
|
||||
FullySpecifiedType previousType = switchType(FullySpecifiedType());
|
||||
accept(name);
|
||||
@@ -231,7 +231,7 @@ private:
|
||||
return previousType;
|
||||
}
|
||||
|
||||
virtual void visit(NameId *name)
|
||||
virtual void visit(const NameId *name)
|
||||
{
|
||||
int index = findSubstitution(name->identifier());
|
||||
|
||||
@@ -242,7 +242,7 @@ private:
|
||||
_type = control()->namedType(name);
|
||||
}
|
||||
|
||||
virtual void visit(TemplateNameId *name)
|
||||
virtual void visit(const TemplateNameId *name)
|
||||
{
|
||||
QVarLengthArray<FullySpecifiedType, 8> arguments(name->templateArgumentCount());
|
||||
for (unsigned i = 0; i < name->templateArgumentCount(); ++i) {
|
||||
@@ -250,17 +250,19 @@ private:
|
||||
arguments[i] = q->apply(argTy);
|
||||
}
|
||||
|
||||
TemplateNameId *templId = control()->templateNameId(name->identifier(), arguments.data(), arguments.size());
|
||||
const TemplateNameId *templId = control()->templateNameId(name->identifier(),
|
||||
arguments.data(),
|
||||
arguments.size());
|
||||
_type = control()->namedType(templId);
|
||||
}
|
||||
|
||||
virtual void visit(QualifiedNameId *name)
|
||||
virtual void visit(const QualifiedNameId *name)
|
||||
{
|
||||
QVarLengthArray<Name *, 8> names(name->nameCount());
|
||||
QVarLengthArray<const Name *, 8> names(name->nameCount());
|
||||
for (unsigned i = 0; i < name->nameCount(); ++i) {
|
||||
Name *n = name->nameAt(i);
|
||||
const Name *n = name->nameAt(i);
|
||||
|
||||
if (TemplateNameId *templId = n->asTemplateNameId()) {
|
||||
if (const TemplateNameId *templId = n->asTemplateNameId()) {
|
||||
QVarLengthArray<FullySpecifiedType, 8> arguments(templId->templateArgumentCount());
|
||||
for (unsigned templateArgIndex = 0; templateArgIndex < templId->templateArgumentCount(); ++templateArgIndex) {
|
||||
FullySpecifiedType argTy = templId->templateArgumentAt(templateArgIndex);
|
||||
@@ -273,29 +275,29 @@ private:
|
||||
names[i] = n;
|
||||
}
|
||||
|
||||
QualifiedNameId *q = control()->qualifiedNameId(names.data(), names.size(), name->isGlobal());
|
||||
const QualifiedNameId *q = control()->qualifiedNameId(names.data(), names.size(), name->isGlobal());
|
||||
_type = control()->namedType(q);
|
||||
}
|
||||
|
||||
virtual void visit(DestructorNameId *name)
|
||||
virtual void visit(const DestructorNameId *name)
|
||||
{
|
||||
Overview oo;
|
||||
qWarning() << "ignored name:" << oo(name);
|
||||
}
|
||||
|
||||
virtual void visit(OperatorNameId *name)
|
||||
virtual void visit(const OperatorNameId *name)
|
||||
{
|
||||
Overview oo;
|
||||
qWarning() << "ignored name:" << oo(name);
|
||||
}
|
||||
|
||||
virtual void visit(ConversionNameId *name)
|
||||
virtual void visit(const ConversionNameId *name)
|
||||
{
|
||||
Overview oo;
|
||||
qWarning() << "ignored name:" << oo(name);
|
||||
}
|
||||
|
||||
virtual void visit(SelectorNameId *name)
|
||||
virtual void visit(const SelectorNameId *name)
|
||||
{
|
||||
Overview oo;
|
||||
qWarning() << "ignored name:" << oo(name);
|
||||
@@ -325,7 +327,7 @@ ApplySubstitution::~ApplySubstitution()
|
||||
{
|
||||
}
|
||||
|
||||
FullySpecifiedType ApplySubstitution::apply(Name *name)
|
||||
FullySpecifiedType ApplySubstitution::apply(const Name *name)
|
||||
{
|
||||
FullySpecifiedType ty = applyToName(name);
|
||||
return ty;
|
||||
|
||||
@@ -109,14 +109,14 @@ bool LookupContext::maybeValidSymbol(Symbol *symbol,
|
||||
return false;
|
||||
}
|
||||
|
||||
QList<Scope *> LookupContext::resolveNestedNameSpecifier(QualifiedNameId *q,
|
||||
const QList<Scope *> &visibleScopes) const
|
||||
QList<Scope *> LookupContext::resolveNestedNameSpecifier(const QualifiedNameId *q,
|
||||
const QList<Scope *> &visibleScopes) const
|
||||
{
|
||||
QList<Symbol *> candidates;
|
||||
QList<Scope *> scopes = visibleScopes;
|
||||
|
||||
for (unsigned i = 0; i < q->nameCount() - 1; ++i) {
|
||||
Name *name = q->nameAt(i);
|
||||
const Name *name = q->nameAt(i);
|
||||
|
||||
candidates = resolveClassOrNamespace(name, scopes);
|
||||
|
||||
@@ -137,7 +137,7 @@ QList<Scope *> LookupContext::resolveNestedNameSpecifier(QualifiedNameId *q,
|
||||
return scopes;
|
||||
}
|
||||
|
||||
QList<Symbol *> LookupContext::resolveQualifiedNameId(QualifiedNameId *q,
|
||||
QList<Symbol *> LookupContext::resolveQualifiedNameId(const QualifiedNameId *q,
|
||||
const QList<Scope *> &visibleScopes,
|
||||
ResolveMode mode) const
|
||||
{
|
||||
@@ -153,7 +153,7 @@ QList<Symbol *> LookupContext::resolveQualifiedNameId(QualifiedNameId *q,
|
||||
else if (! symbol->isClass())
|
||||
continue;
|
||||
|
||||
QualifiedNameId *qq = symbol->name()->asQualifiedNameId();
|
||||
const QualifiedNameId *qq = symbol->name()->asQualifiedNameId();
|
||||
|
||||
if (! qq)
|
||||
continue;
|
||||
@@ -167,8 +167,8 @@ QList<Symbol *> LookupContext::resolveQualifiedNameId(QualifiedNameId *q,
|
||||
unsigned j = 0;
|
||||
|
||||
for (; j < q->nameCount(); ++j) {
|
||||
Name *classOrNamespaceName1 = q->nameAt(j);
|
||||
Name *classOrNamespaceName2 = qq->nameAt(j);
|
||||
const Name *classOrNamespaceName1 = q->nameAt(j);
|
||||
const Name *classOrNamespaceName2 = qq->nameAt(j);
|
||||
|
||||
if (! classOrNamespaceName1->isEqualTo(classOrNamespaceName2))
|
||||
break;
|
||||
@@ -205,7 +205,7 @@ QList<Symbol *> LookupContext::resolveQualifiedNameId(QualifiedNameId *q,
|
||||
return candidates;
|
||||
}
|
||||
|
||||
QList<Symbol *> LookupContext::resolveOperatorNameId(OperatorNameId *opId,
|
||||
QList<Symbol *> LookupContext::resolveOperatorNameId(const OperatorNameId *opId,
|
||||
const QList<Scope *> &visibleScopes,
|
||||
ResolveMode) const
|
||||
{
|
||||
@@ -226,7 +226,7 @@ QList<Symbol *> LookupContext::resolveOperatorNameId(OperatorNameId *opId,
|
||||
return candidates;
|
||||
}
|
||||
|
||||
QList<Symbol *> LookupContext::resolve(Name *name, const QList<Scope *> &visibleScopes,
|
||||
QList<Symbol *> LookupContext::resolve(const Name *name, const QList<Scope *> &visibleScopes,
|
||||
ResolveMode mode) const
|
||||
{
|
||||
QList<Symbol *> candidates;
|
||||
@@ -234,10 +234,10 @@ QList<Symbol *> LookupContext::resolve(Name *name, const QList<Scope *> &visible
|
||||
if (!name)
|
||||
return candidates; // nothing to do, the symbol is anonymous.
|
||||
|
||||
else if (QualifiedNameId *q = name->asQualifiedNameId())
|
||||
else if (const QualifiedNameId *q = name->asQualifiedNameId())
|
||||
return resolveQualifiedNameId(q, visibleScopes, mode);
|
||||
|
||||
else if (OperatorNameId *opId = name->asOperatorNameId())
|
||||
else if (const OperatorNameId *opId = name->asOperatorNameId())
|
||||
return resolveOperatorNameId(opId, visibleScopes, mode);
|
||||
|
||||
else if (const Identifier *id = name->identifier()) {
|
||||
@@ -256,14 +256,14 @@ QList<Symbol *> LookupContext::resolve(Name *name, const QList<Scope *> &visible
|
||||
continue; // skip it, the symbol's id is not compatible with this lookup.
|
||||
}
|
||||
|
||||
if (QualifiedNameId *q = symbol->name()->asQualifiedNameId()) {
|
||||
if (const QualifiedNameId *q = symbol->name()->asQualifiedNameId()) {
|
||||
|
||||
if (name->isDestructorNameId() != q->unqualifiedNameId()->isDestructorNameId())
|
||||
continue;
|
||||
|
||||
else if (q->nameCount() > 1) {
|
||||
Name *classOrNamespaceName = control()->qualifiedNameId(q->names(),
|
||||
q->nameCount() - 1);
|
||||
const Name *classOrNamespaceName = control()->qualifiedNameId(q->names(),
|
||||
q->nameCount() - 1);
|
||||
|
||||
if (const Identifier *classOrNamespaceNameId = identifier(classOrNamespaceName)) {
|
||||
if (classOrNamespaceNameId->isEqualTo(id))
|
||||
@@ -418,7 +418,7 @@ void LookupContext::expandNamespace(Namespace *ns,
|
||||
if (Scope *encl = ns->enclosingNamespaceScope())
|
||||
expand(encl, visibleScopes, expandedScopes);
|
||||
|
||||
if (Name *nsName = ns->name()) {
|
||||
if (const Name *nsName = ns->name()) {
|
||||
const QList<Symbol *> namespaceList = resolveNamespace(nsName, visibleScopes);
|
||||
foreach (Symbol *otherNs, namespaceList) {
|
||||
if (otherNs == ns)
|
||||
@@ -478,7 +478,7 @@ void LookupContext::expandClass(Class *klass,
|
||||
|
||||
for (unsigned i = 0; i < klass->baseClassCount(); ++i) {
|
||||
BaseClass *baseClass = klass->baseClassAt(i);
|
||||
Name *baseClassName = baseClass->name();
|
||||
const Name *baseClassName = baseClass->name();
|
||||
const QList<Symbol *> baseClassCandidates = resolveClass(baseClassName,
|
||||
classVisibleScopes);
|
||||
|
||||
@@ -515,8 +515,8 @@ void LookupContext::expandFunction(Function *function,
|
||||
if (! expandedScopes->contains(function->arguments()))
|
||||
expandedScopes->append(function->arguments());
|
||||
|
||||
if (QualifiedNameId *q = function->name()->asQualifiedNameId()) {
|
||||
Name *nestedNameSpec = 0;
|
||||
if (const QualifiedNameId *q = function->name()->asQualifiedNameId()) {
|
||||
const Name *nestedNameSpec = 0;
|
||||
if (q->nameCount() == 1)
|
||||
nestedNameSpec = q->nameAt(0);
|
||||
else
|
||||
@@ -565,7 +565,7 @@ void LookupContext::expandObjCClass(ObjCClass *klass,
|
||||
|
||||
// expand the base class:
|
||||
if (ObjCBaseClass *baseClass = klass->baseClass()) {
|
||||
Name *baseClassName = baseClass->name();
|
||||
const Name *baseClassName = baseClass->name();
|
||||
const QList<Symbol *> baseClassCandidates = resolveObjCClass(baseClassName,
|
||||
visibleScopes);
|
||||
|
||||
@@ -577,7 +577,7 @@ void LookupContext::expandObjCClass(ObjCClass *klass,
|
||||
|
||||
// expand the protocols:
|
||||
for (unsigned i = 0; i < klass->protocolCount(); ++i) {
|
||||
Name *protocolName = klass->protocolAt(i)->name();
|
||||
const Name *protocolName = klass->protocolAt(i)->name();
|
||||
const QList<Symbol *> protocolCandidates = resolveObjCProtocol(protocolName, visibleScopes);
|
||||
for (int j = 0; j < protocolCandidates.size(); ++j) {
|
||||
if (ObjCProtocol *protocolSymbol = protocolCandidates.at(j)->asObjCProtocol())
|
||||
|
||||
@@ -94,22 +94,22 @@ public:
|
||||
static Symbol *canonicalSymbol(const QList<LookupItem> &candidates,
|
||||
NamespaceBinding *globalNamespaceBinding);
|
||||
|
||||
QList<Symbol *> resolve(Name *name) const
|
||||
QList<Symbol *> resolve(const Name *name) const
|
||||
{ return resolve(name, visibleScopes()); }
|
||||
|
||||
QList<Symbol *> resolveNamespace(Name *name) const
|
||||
QList<Symbol *> resolveNamespace(const Name *name) const
|
||||
{ return resolveNamespace(name, visibleScopes()); }
|
||||
|
||||
QList<Symbol *> resolveClass(Name *name) const
|
||||
QList<Symbol *> resolveClass(const Name *name) const
|
||||
{ return resolveClass(name, visibleScopes()); }
|
||||
|
||||
QList<Symbol *> resolveClassOrNamespace(Name *name) const
|
||||
QList<Symbol *> resolveClassOrNamespace(const Name *name) const
|
||||
{ return resolveClassOrNamespace(name, visibleScopes()); }
|
||||
|
||||
QList<Symbol *> resolveObjCClass(Name *name) const
|
||||
QList<Symbol *> resolveObjCClass(const Name *name) const
|
||||
{ return resolveObjCClass(name, visibleScopes()); }
|
||||
|
||||
QList<Symbol *> resolveObjCProtocol(Name *name) const
|
||||
QList<Symbol *> resolveObjCProtocol(const Name *name) const
|
||||
{ return resolveObjCProtocol(name, visibleScopes()); }
|
||||
|
||||
enum ResolveMode {
|
||||
@@ -122,22 +122,22 @@ public:
|
||||
ResolveAll = ResolveSymbol | ResolveClassOrNamespace | ResolveObjCClass | ResolveObjCProtocol
|
||||
};
|
||||
|
||||
QList<Symbol *> resolve(Name *name, const QList<Scope *> &visibleScopes,
|
||||
QList<Symbol *> resolve(const Name *name, const QList<Scope *> &visibleScopes,
|
||||
ResolveMode mode = ResolveAll) const;
|
||||
|
||||
QList<Symbol *> resolveNamespace(Name *name, const QList<Scope *> &visibleScopes) const
|
||||
QList<Symbol *> resolveNamespace(const Name *name, const QList<Scope *> &visibleScopes) const
|
||||
{ return resolve(name, visibleScopes, ResolveNamespace); }
|
||||
|
||||
QList<Symbol *> resolveClass(Name *name, const QList<Scope *> &visibleScopes) const
|
||||
QList<Symbol *> resolveClass(const Name *name, const QList<Scope *> &visibleScopes) const
|
||||
{ return resolve(name, visibleScopes, ResolveClass); }
|
||||
|
||||
QList<Symbol *> resolveClassOrNamespace(Name *name, const QList<Scope *> &visibleScopes) const
|
||||
QList<Symbol *> resolveClassOrNamespace(const Name *name, const QList<Scope *> &visibleScopes) const
|
||||
{ return resolve(name, visibleScopes, ResolveClassOrNamespace); }
|
||||
|
||||
QList<Symbol *> resolveObjCClass(Name *name, const QList<Scope *> &visibleScopes) const
|
||||
QList<Symbol *> resolveObjCClass(const Name *name, const QList<Scope *> &visibleScopes) const
|
||||
{ return resolve(name, visibleScopes, ResolveObjCClass); }
|
||||
|
||||
QList<Symbol *> resolveObjCProtocol(Name *name, const QList<Scope *> &visibleScopes) const
|
||||
QList<Symbol *> resolveObjCProtocol(const Name *name, const QList<Scope *> &visibleScopes) const
|
||||
{ return resolve(name, visibleScopes, ResolveObjCProtocol); }
|
||||
|
||||
QList<Scope *> visibleScopes() const
|
||||
@@ -187,15 +187,15 @@ public:
|
||||
private:
|
||||
static Symbol *canonicalSymbol(Symbol *symbol);
|
||||
|
||||
QList<Symbol *> resolveQualifiedNameId(QualifiedNameId *q,
|
||||
QList<Symbol *> resolveQualifiedNameId(const QualifiedNameId *q,
|
||||
const QList<Scope *> &visibleScopes,
|
||||
ResolveMode mode) const;
|
||||
|
||||
QList<Symbol *> resolveOperatorNameId(OperatorNameId *opId,
|
||||
QList<Symbol *> resolveOperatorNameId(const OperatorNameId *opId,
|
||||
const QList<Scope *> &visibleScopes,
|
||||
ResolveMode mode) const;
|
||||
|
||||
QList<Scope *> resolveNestedNameSpecifier(QualifiedNameId *q,
|
||||
QList<Scope *> resolveNestedNameSpecifier(const QualifiedNameId *q,
|
||||
const QList<Scope *> &visibleScopes) const;
|
||||
|
||||
const Identifier *identifier(const Name *name) const;
|
||||
|
||||
@@ -48,7 +48,7 @@ const Overview *NamePrettyPrinter::overview() const
|
||||
return _overview;
|
||||
}
|
||||
|
||||
QString NamePrettyPrinter::operator()(Name *name)
|
||||
QString NamePrettyPrinter::operator()(const Name *name)
|
||||
{
|
||||
QString previousName = switchName();
|
||||
accept(name);
|
||||
@@ -62,7 +62,7 @@ QString NamePrettyPrinter::switchName(const QString &name)
|
||||
return previousName;
|
||||
}
|
||||
|
||||
void NamePrettyPrinter::visit(NameId *name)
|
||||
void NamePrettyPrinter::visit(const NameId *name)
|
||||
{
|
||||
const Identifier *id = name->identifier();
|
||||
if (id)
|
||||
@@ -71,7 +71,7 @@ void NamePrettyPrinter::visit(NameId *name)
|
||||
_name = QLatin1String("anonymous");
|
||||
}
|
||||
|
||||
void NamePrettyPrinter::visit(TemplateNameId *name)
|
||||
void NamePrettyPrinter::visit(const TemplateNameId *name)
|
||||
{
|
||||
const Identifier *id = name->identifier();
|
||||
if (id)
|
||||
@@ -93,14 +93,14 @@ void NamePrettyPrinter::visit(TemplateNameId *name)
|
||||
_name += QLatin1Char('>');
|
||||
}
|
||||
|
||||
void NamePrettyPrinter::visit(DestructorNameId *name)
|
||||
void NamePrettyPrinter::visit(const DestructorNameId *name)
|
||||
{
|
||||
const Identifier *id = name->identifier();
|
||||
_name += QLatin1Char('~');
|
||||
_name += QString::fromLatin1(id->chars(), id->size());
|
||||
}
|
||||
|
||||
void NamePrettyPrinter::visit(OperatorNameId *name)
|
||||
void NamePrettyPrinter::visit(const OperatorNameId *name)
|
||||
{
|
||||
_name += QLatin1String("operator ");
|
||||
switch (name->kind()) { // ### i should probably do this in OperatorNameId
|
||||
@@ -236,13 +236,13 @@ void NamePrettyPrinter::visit(OperatorNameId *name)
|
||||
} // switch
|
||||
}
|
||||
|
||||
void NamePrettyPrinter::visit(ConversionNameId *name)
|
||||
void NamePrettyPrinter::visit(const ConversionNameId *name)
|
||||
{
|
||||
_name += QLatin1String("operator ");
|
||||
_name += overview()->prettyType(name->type());
|
||||
}
|
||||
|
||||
void NamePrettyPrinter::visit(QualifiedNameId *name)
|
||||
void NamePrettyPrinter::visit(const QualifiedNameId *name)
|
||||
{
|
||||
if (name->isGlobal())
|
||||
_name += QLatin1String("::");
|
||||
@@ -254,10 +254,10 @@ void NamePrettyPrinter::visit(QualifiedNameId *name)
|
||||
}
|
||||
}
|
||||
|
||||
void NamePrettyPrinter::visit(SelectorNameId *name)
|
||||
void NamePrettyPrinter::visit(const SelectorNameId *name)
|
||||
{
|
||||
for (unsigned i = 0; i < name->nameCount(); ++i) {
|
||||
Name *n = name->nameAt(i);
|
||||
const Name *n = name->nameAt(i);
|
||||
if (!n)
|
||||
continue;
|
||||
|
||||
|
||||
@@ -44,18 +44,18 @@ public:
|
||||
virtual ~NamePrettyPrinter();
|
||||
|
||||
const Overview *overview() const;
|
||||
QString operator()(Name *name);
|
||||
QString operator()(const Name *name);
|
||||
|
||||
protected:
|
||||
QString switchName(const QString &name = QString());
|
||||
|
||||
virtual void visit(NameId *name);
|
||||
virtual void visit(TemplateNameId *name);
|
||||
virtual void visit(DestructorNameId *name);
|
||||
virtual void visit(OperatorNameId *name);
|
||||
virtual void visit(ConversionNameId *name);
|
||||
virtual void visit(QualifiedNameId *name);
|
||||
virtual void visit(SelectorNameId *name);
|
||||
virtual void visit(const NameId *name);
|
||||
virtual void visit(const TemplateNameId *name);
|
||||
virtual void visit(const DestructorNameId *name);
|
||||
virtual void visit(const OperatorNameId *name);
|
||||
virtual void visit(const ConversionNameId *name);
|
||||
virtual void visit(const QualifiedNameId *name);
|
||||
virtual void visit(const SelectorNameId *name);
|
||||
|
||||
private:
|
||||
const Overview *_overview;
|
||||
|
||||
@@ -117,13 +117,13 @@ void Overview::setShowFullyQualifiedNamed(bool showFullyQualifiedNames)
|
||||
_showFullyQualifiedNames = showFullyQualifiedNames;
|
||||
}
|
||||
|
||||
QString Overview::prettyName(Name *name) const
|
||||
QString Overview::prettyName(const Name *name) const
|
||||
{
|
||||
NamePrettyPrinter pp(this);
|
||||
return pp(name);
|
||||
}
|
||||
|
||||
QString Overview::prettyType(const FullySpecifiedType &ty, Name *name) const
|
||||
QString Overview::prettyType(const FullySpecifiedType &ty, const Name *name) const
|
||||
{
|
||||
return prettyType(ty, prettyName(name));
|
||||
}
|
||||
|
||||
@@ -66,14 +66,14 @@ public:
|
||||
int markedArgumentEnd() const;
|
||||
void setMarkedArgumentEnd(int end);
|
||||
|
||||
QString operator()(Name *name) const
|
||||
QString operator()(const Name *name) const
|
||||
{ return prettyName(name); }
|
||||
|
||||
QString operator()(const FullySpecifiedType &type, Name *name = 0) const
|
||||
QString operator()(const FullySpecifiedType &type, const Name *name = 0) const
|
||||
{ return prettyType(type, name); }
|
||||
|
||||
QString prettyName(Name *name) const;
|
||||
QString prettyType(const FullySpecifiedType &type, Name *name = 0) const;
|
||||
QString prettyName(const Name *name) const;
|
||||
QString prettyType(const FullySpecifiedType &type, const Name *name = 0) const;
|
||||
QString prettyType(const FullySpecifiedType &type, const QString &name) const;
|
||||
|
||||
private:
|
||||
|
||||
@@ -181,11 +181,11 @@ bool ResolveExpression::visit(NewExpressionAST *ast)
|
||||
|
||||
bool ResolveExpression::visit(TypeidExpressionAST *)
|
||||
{
|
||||
Name *std_type_info[2];
|
||||
const Name *std_type_info[2];
|
||||
std_type_info[0] = control()->nameId(control()->findOrInsertIdentifier("std"));
|
||||
std_type_info[1] = control()->nameId(control()->findOrInsertIdentifier("type_info"));
|
||||
|
||||
Name *q = control()->qualifiedNameId(std_type_info, 2, /*global=*/ true);
|
||||
const Name *q = control()->qualifiedNameId(std_type_info, 2, /*global=*/ true);
|
||||
FullySpecifiedType ty(control()->namedType(q));
|
||||
addResult(ty);
|
||||
|
||||
@@ -277,8 +277,8 @@ bool ResolveExpression::visit(ThisExpressionAST *)
|
||||
FullySpecifiedType ptrTy(control()->pointerType(classTy));
|
||||
addResult(ptrTy, fun);
|
||||
break;
|
||||
} else if (QualifiedNameId *q = fun->name()->asQualifiedNameId()) {
|
||||
Name *nestedNameSpecifier = 0;
|
||||
} else if (const QualifiedNameId *q = fun->name()->asQualifiedNameId()) {
|
||||
const Name *nestedNameSpecifier = 0;
|
||||
if (q->nameCount() == 1 && q->isGlobal())
|
||||
nestedNameSpecifier = q->nameAt(0);
|
||||
else
|
||||
@@ -355,7 +355,7 @@ bool ResolveExpression::visit(CompoundLiteralAST *ast)
|
||||
bool ResolveExpression::visit(QualifiedNameAST *ast)
|
||||
{
|
||||
ResolveClass resolveClass;
|
||||
Name *name = ast->name;
|
||||
const Name *name = ast->name;
|
||||
|
||||
QList<Symbol *> symbols = _context.resolve(name);
|
||||
foreach (Symbol *symbol, symbols) {
|
||||
@@ -451,7 +451,7 @@ bool ResolveExpression::visit(CallAST *ast)
|
||||
++actualArgumentCount;
|
||||
}
|
||||
|
||||
Name *functionCallOp = control()->operatorNameId(OperatorNameId::FunctionCallOp);
|
||||
const Name *functionCallOp = control()->operatorNameId(OperatorNameId::FunctionCallOp);
|
||||
|
||||
foreach (const LookupItem &result, baseResults) {
|
||||
FullySpecifiedType ty = result.type().simplified();
|
||||
@@ -495,7 +495,7 @@ bool ResolveExpression::visit(ArrayAccessAST *ast)
|
||||
const QList<LookupItem> indexResults = operator()(ast->expression);
|
||||
ResolveClass resolveClass;
|
||||
|
||||
Name *arrayAccessOp = control()->operatorNameId(OperatorNameId::ArrayAccessOp);
|
||||
const Name *arrayAccessOp = control()->operatorNameId(OperatorNameId::ArrayAccessOp);
|
||||
|
||||
foreach (const LookupItem &result, baseResults) {
|
||||
FullySpecifiedType ty = result.type().simplified();
|
||||
@@ -537,7 +537,7 @@ bool ResolveExpression::visit(MemberAccessAST *ast)
|
||||
QList<LookupItem> baseResults = _results;
|
||||
|
||||
// Evaluate the expression-id that follows the access operator.
|
||||
Name *memberName = 0;
|
||||
const Name *memberName = 0;
|
||||
if (ast->member_name)
|
||||
memberName = ast->member_name->name;
|
||||
|
||||
@@ -594,7 +594,7 @@ ResolveExpression::resolveBaseExpression(const QList<LookupItem> &baseResults, i
|
||||
|
||||
if (NamedType *namedTy = ty->asNamedType()) {
|
||||
ResolveClass resolveClass;
|
||||
Name *arrowAccessOp = control()->operatorNameId(OperatorNameId::ArrowOp);
|
||||
const Name *arrowAccessOp = control()->operatorNameId(OperatorNameId::ArrowOp);
|
||||
const QList<Symbol *> candidates = resolveClass(namedTy->name(), result, _context);
|
||||
|
||||
foreach (Symbol *classObject, candidates) {
|
||||
@@ -663,7 +663,7 @@ ResolveExpression::resolveBaseExpression(const QList<LookupItem> &baseResults, i
|
||||
QList<LookupItem>
|
||||
ResolveExpression::resolveMemberExpression(const QList<LookupItem> &baseResults,
|
||||
unsigned accessOp,
|
||||
Name *memberName,
|
||||
const Name *memberName,
|
||||
bool *replacedDotOperator) const
|
||||
{
|
||||
ResolveClass resolveClass;
|
||||
@@ -677,7 +677,7 @@ ResolveExpression::resolveMemberExpression(const QList<LookupItem> &baseResults,
|
||||
results += resolveMember(memberName, klass);
|
||||
|
||||
else if (NamedType *namedTy = ty->asNamedType()) {
|
||||
Name *className = namedTy->name();
|
||||
const Name *className = namedTy->name();
|
||||
const QList<Symbol *> classes = resolveClass(className, r, _context);
|
||||
|
||||
foreach (Symbol *c, classes) {
|
||||
@@ -691,8 +691,8 @@ ResolveExpression::resolveMemberExpression(const QList<LookupItem> &baseResults,
|
||||
}
|
||||
|
||||
QList<LookupItem>
|
||||
ResolveExpression::resolveMember(Name *memberName, Class *klass,
|
||||
Name *className) const
|
||||
ResolveExpression::resolveMember(const Name *memberName, Class *klass,
|
||||
const Name *className) const
|
||||
{
|
||||
QList<LookupItem> results;
|
||||
|
||||
@@ -709,19 +709,19 @@ ResolveExpression::resolveMember(Name *memberName, Class *klass,
|
||||
|
||||
foreach (Symbol *candidate, candidates) {
|
||||
FullySpecifiedType ty = candidate->type();
|
||||
Name *unqualifiedNameId = className;
|
||||
const Name *unqualifiedNameId = className;
|
||||
|
||||
if (QualifiedNameId *q = className->asQualifiedNameId())
|
||||
if (const QualifiedNameId *q = className->asQualifiedNameId())
|
||||
unqualifiedNameId = q->unqualifiedNameId();
|
||||
|
||||
if (TemplateNameId *templId = unqualifiedNameId->asTemplateNameId()) {
|
||||
if (const TemplateNameId *templId = unqualifiedNameId->asTemplateNameId()) {
|
||||
GenTemplateInstance::Substitution subst;
|
||||
|
||||
for (unsigned i = 0; i < templId->templateArgumentCount(); ++i) {
|
||||
FullySpecifiedType templArgTy = templId->templateArgumentAt(i);
|
||||
|
||||
if (i < klass->templateParameterCount()) {
|
||||
Name *templArgName = klass->templateParameterAt(i)->name();
|
||||
const Name *templArgName = klass->templateParameterAt(i)->name();
|
||||
if (templArgName && templArgName->identifier()) {
|
||||
const Identifier *templArgId = templArgName->identifier();
|
||||
subst.append(qMakePair(templArgId, templArgTy));
|
||||
@@ -741,7 +741,7 @@ ResolveExpression::resolveMember(Name *memberName, Class *klass,
|
||||
|
||||
|
||||
QList<LookupItem>
|
||||
ResolveExpression::resolveMember(Name *memberName, ObjCClass *klass) const
|
||||
ResolveExpression::resolveMember(const Name *memberName, ObjCClass *klass) const
|
||||
{
|
||||
QList<LookupItem> results;
|
||||
|
||||
@@ -774,7 +774,7 @@ bool ResolveExpression::visit(ObjCMessageExpressionAST *ast)
|
||||
if (!receiverResults.isEmpty()) {
|
||||
LookupItem result = receiverResults.first();
|
||||
FullySpecifiedType ty = result.type().simplified();
|
||||
Name *klassName = 0;
|
||||
const Name *klassName = 0;
|
||||
|
||||
if (const ObjCClass *classTy = ty->asObjCClassType()) {
|
||||
// static access, e.g.:
|
||||
@@ -805,7 +805,7 @@ bool ResolveExpression::visit(ObjCMessageExpressionAST *ast)
|
||||
ResolveClass::ResolveClass()
|
||||
{ }
|
||||
|
||||
QList<Symbol *> ResolveClass::operator()(Name *name,
|
||||
QList<Symbol *> ResolveClass::operator()(const Name *name,
|
||||
const LookupItem &p,
|
||||
const LookupContext &context)
|
||||
{
|
||||
@@ -815,7 +815,7 @@ QList<Symbol *> ResolveClass::operator()(Name *name,
|
||||
return symbols;
|
||||
}
|
||||
|
||||
QList<Symbol *> ResolveClass::resolveClass(Name *name,
|
||||
QList<Symbol *> ResolveClass::resolveClass(const Name *name,
|
||||
const LookupItem &p,
|
||||
const LookupContext &context)
|
||||
{
|
||||
@@ -873,7 +873,7 @@ QList<Symbol *> ResolveClass::resolveClass(Name *name,
|
||||
ResolveObjCClass::ResolveObjCClass()
|
||||
{}
|
||||
|
||||
QList<Symbol *> ResolveObjCClass::operator ()(Name *name,
|
||||
QList<Symbol *> ResolveObjCClass::operator ()(const Name *name,
|
||||
const LookupItem &p,
|
||||
const LookupContext &context)
|
||||
{
|
||||
|
||||
@@ -48,17 +48,17 @@ public:
|
||||
|
||||
QList<LookupItem> resolveMemberExpression(const QList<LookupItem> &baseResults,
|
||||
unsigned accessOp,
|
||||
Name *memberName,
|
||||
const Name *memberName,
|
||||
bool *replacedDotOperator = 0) const;
|
||||
|
||||
QList<LookupItem> resolveBaseExpression(const QList<LookupItem> &baseResults,
|
||||
int accessOp,
|
||||
bool *replacedDotOperator = 0) const;
|
||||
|
||||
QList<LookupItem> resolveMember(Name *memberName, Class *klass,
|
||||
Name *className = 0) const;
|
||||
QList<LookupItem> resolveMember(const Name *memberName, Class *klass,
|
||||
const Name *className = 0) const;
|
||||
|
||||
QList<LookupItem> resolveMember(Name *memberName, ObjCClass *klass) const;
|
||||
QList<LookupItem> resolveMember(const Name *memberName, ObjCClass *klass) const;
|
||||
|
||||
protected:
|
||||
QList<LookupItem> switchResults(const QList<LookupItem> &symbols);
|
||||
@@ -125,12 +125,12 @@ class CPLUSPLUS_EXPORT ResolveClass
|
||||
public:
|
||||
ResolveClass();
|
||||
|
||||
QList<Symbol *> operator()(Name *name,
|
||||
QList<Symbol *> operator()(const Name *name,
|
||||
const LookupItem &p,
|
||||
const LookupContext &context);
|
||||
|
||||
private:
|
||||
QList<Symbol *> resolveClass(Name *name,
|
||||
QList<Symbol *> resolveClass(const Name *name,
|
||||
const LookupItem &p,
|
||||
const LookupContext &context);
|
||||
|
||||
@@ -143,7 +143,7 @@ class CPLUSPLUS_EXPORT ResolveObjCClass
|
||||
public:
|
||||
ResolveObjCClass();
|
||||
|
||||
QList<Symbol *> operator()(Name *name,
|
||||
QList<Symbol *> operator()(const Name *name,
|
||||
const LookupItem &p,
|
||||
const LookupContext &context);
|
||||
};
|
||||
|
||||
@@ -327,7 +327,7 @@ void TypePrettyPrinter::visit(Function *type)
|
||||
if (index + 1 == _overview->markedArgument())
|
||||
const_cast<Overview*>(_overview)->setMarkedArgumentBegin(_text.length());
|
||||
|
||||
Name *name = 0;
|
||||
const Name *name = 0;
|
||||
|
||||
if (_overview->showArgumentNames())
|
||||
name = arg->name();
|
||||
|
||||
Reference in New Issue
Block a user