summaryrefslogtreecommitdiff
path: root/rdbmaker
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2012-04-30 13:55:25 +0200
committerDavid Tardon <dtardon@redhat.com>2012-05-29 07:25:03 +0200
commit9c9cad9f4acaaffef722ff732ceb159a5825855a (patch)
tree5b69b820f20d2499fed8e9e108510b5f47725572 /rdbmaker
parent2ca8cdf9791adc63e5afc2855f11397687826cf3 (diff)
ignore type parameters when processing dependencies
Change-Id: I0a6d0315fe8db90b156d5cd988f79e66022e9414
Diffstat (limited to 'rdbmaker')
-rw-r--r--rdbmaker/source/codemaker/dependency.cxx13
1 files changed, 8 insertions, 5 deletions
diff --git a/rdbmaker/source/codemaker/dependency.cxx b/rdbmaker/source/codemaker/dependency.cxx
index a8ceb2523f56..5cfaf9d0307a 100644
--- a/rdbmaker/source/codemaker/dependency.cxx
+++ b/rdbmaker/source/codemaker/dependency.cxx
@@ -138,12 +138,12 @@ static sal_Bool checkFieldDependencies(TypeManager& typeMgr, TypeDependency& dep
if (count == 0 || reader.getTypeClass() == RT_TYPE_ENUM)
return sal_True;
- OString fieldType;
for (sal_uInt16 i=0; i < count; i++)
{
- fieldType = reader.getFieldType(i);
+ const OString fieldType = reader.getFieldType(i);
+ const bool bIsTypeParam(reader.getFieldAccess(i) & RT_ACCESS_PARAMETERIZED_TYPE);
- if (!fieldType.isEmpty())
+ if (!fieldType.isEmpty() && !bIsTypeParam)
{
dependencies.insert(type, fieldType, TYPEUSE_MEMBER);
checkTypeDependencies(typeMgr, dependencies, fieldType);
@@ -224,8 +224,11 @@ static sal_Bool checkReferenceDependencies(TypeManager& typeMgr, TypeDependency&
{
referenceName = reader.getReferenceName(i);
- dependencies.insert(type, referenceName, TYPEUSE_NORMAL);
- checkTypeDependencies(typeMgr, dependencies, referenceName);
+ if (reader.getReferenceType(i) != RT_REF_TYPE_PARAMETER)
+ {
+ dependencies.insert(type, referenceName, TYPEUSE_NORMAL);
+ checkTypeDependencies(typeMgr, dependencies, referenceName);
+ }
}
return sal_True;