24 : fHasDefaultVariableAccess(false)
25 , fHasSystemPropertyAccess(false)
32 return fHasDefaultVariableAccess;
38 fHasDefaultVariableAccess=
true;
44 return fHasSystemPropertyAccess;
50 fHasSystemPropertyAccess=
true;
55 return fAccessedVariableNames;
61 fAccessedVariableNames.insert(name);
67 return fAccessedPropertyNames;
73 fAccessedPropertyNames.insert(name);
78 return fMisbehavingExpressionTypes;
84 fMisbehavingExpressionTypes.insert(QString(clazz.name()));
90 this->MergeDefaultVariableAccess(other);
91 this->MergeSystemPropertyAccess(other);
93 this->MergeAccessedVariableNames(other);
94 this->MergeAccessedPropertyNames(other);
95 this->MergeMisbehavingExpressionTypes(other);
101 this->MergeSystemPropertyAccess(other);
103 this->MergeAccessedVariableNames(other);
104 this->MergeAccessedPropertyNames(other);
105 this->MergeMisbehavingExpressionTypes(other);
111 fHasDefaultVariableAccess= fHasDefaultVariableAccess || other->fHasDefaultVariableAccess;
115 ExpressionInfo::MergeSystemPropertyAccess(ExpressionInfo* other)
117 fHasSystemPropertyAccess= fHasSystemPropertyAccess || other->fHasSystemPropertyAccess;
121 ExpressionInfo::MergeAccessedVariableNames(ExpressionInfo* other)
123 if (fAccessedVariableNames.size() == 0) {
124 fAccessedVariableNames= other->fAccessedVariableNames;
128 fAccessedVariableNames.unite(other->fAccessedVariableNames);
133 ExpressionInfo::MergeAccessedPropertyNames(ExpressionInfo* other)
135 if (fAccessedPropertyNames.size() == 0)
137 fAccessedPropertyNames = other->fAccessedPropertyNames;
141 fAccessedPropertyNames.unite(other->fAccessedPropertyNames);
146 ExpressionInfo::MergeMisbehavingExpressionTypes(ExpressionInfo* other)
148 if (fMisbehavingExpressionTypes.size() == 0)
150 fMisbehavingExpressionTypes= other->fMisbehavingExpressionTypes;
154 fMisbehavingExpressionTypes.unite(other->fMisbehavingExpressionTypes);
void MarkSystemPropertyAccessed()
void AddAccessedPropertyName(const QString &name)
QSet< QString > GetMisbehavingExpressionTypes() const
void MarkDefaultVariableAccessed()
QSet< QString > GetAccessedPropertyNames() const
bool HasDefaultVariableAccess() const
void Merge(ExpressionInfo *other)
void AddVariableNameAccess(const QString &name)
void AddMisBehavingExpressionType(const std::type_info &clazz)
bool HasSystemPropertyAccess() const
QSet< QString > GetAccessedVariableNames() const
void MergeExceptDefaultVariable(ExpressionInfo *other)