diff options
author | David Tardon <dtardon@redhat.com> | 2012-04-30 13:55:25 +0200 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2012-05-29 07:25:03 +0200 |
commit | 9c9cad9f4acaaffef722ff732ceb159a5825855a (patch) | |
tree | 5b69b820f20d2499fed8e9e108510b5f47725572 /rdbmaker | |
parent | 2ca8cdf9791adc63e5afc2855f11397687826cf3 (diff) |
ignore type parameters when processing dependencies
Change-Id: I0a6d0315fe8db90b156d5cd988f79e66022e9414
Diffstat (limited to 'rdbmaker')
-rw-r--r-- | rdbmaker/source/codemaker/dependency.cxx | 13 |
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; |