20 : fHasDefaultVariableAccess(false)
21 , fHasSystemPropertyAccess(false)
28 return fHasDefaultVariableAccess;
34 fHasDefaultVariableAccess=
true;
40 return fHasSystemPropertyAccess;
46 fHasSystemPropertyAccess=
true;
51 return fAccessedVariableNames;
57 fAccessedVariableNames.insert(name);
63 return fAccessedPropertyNames;
69 fAccessedPropertyNames.insert(name);
74 return fMisbehavingExpressionTypes;
80 fMisbehavingExpressionTypes.insert(QString(clazz.name()));
86 this->MergeDefaultVariableAccess(other);
87 this->MergeSystemPropertyAccess(other);
89 this->MergeAccessedVariableNames(other);
90 this->MergeAccessedPropertyNames(other);
91 this->MergeMisbehavingExpressionTypes(other);
97 this->MergeSystemPropertyAccess(other);
99 this->MergeAccessedVariableNames(other);
100 this->MergeAccessedPropertyNames(other);
101 this->MergeMisbehavingExpressionTypes(other);
107 fHasDefaultVariableAccess= fHasDefaultVariableAccess || other->fHasDefaultVariableAccess;
113 fHasSystemPropertyAccess= fHasSystemPropertyAccess || other->fHasSystemPropertyAccess;
119 if (fAccessedVariableNames.size() == 0) {
120 fAccessedVariableNames= other->fAccessedVariableNames;
124 fAccessedVariableNames.unite(other->fAccessedVariableNames);
131 if (fAccessedPropertyNames.size() == 0)
133 fAccessedPropertyNames = other->fAccessedPropertyNames;
137 fAccessedPropertyNames.unite(other->fAccessedPropertyNames);
142 ExpressionInfo::MergeMisbehavingExpressionTypes(
ExpressionInfo* other)
144 if (fMisbehavingExpressionTypes.size() == 0)
146 fMisbehavingExpressionTypes= other->fMisbehavingExpressionTypes;
150 fMisbehavingExpressionTypes.unite(other->fMisbehavingExpressionTypes);
void MarkSystemPropertyAccessed()
void AddAccessedPropertyName(const QString &name)
bool HasDefaultVariableAccess() const
void MarkDefaultVariableAccessed()
QSet< QString > GetAccessedVariableNames() const
bool HasSystemPropertyAccess() const
void Merge(ExpressionInfo *other)
void AddVariableNameAccess(const QString &name)
void AddMisBehavingExpressionType(const std::type_info &clazz)
QSet< QString > GetMisbehavingExpressionTypes() const
QSet< QString > GetAccessedPropertyNames() const
void MergeExceptDefaultVariable(ExpressionInfo *other)