diff options
author | svenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2015-11-23 16:21:18 +0000 |
---|---|---|
committer | svenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2015-11-23 16:21:18 +0000 |
commit | eaa747c9b69ca5ad905c30b2177c35ff8b7a5779 (patch) | |
tree | df95a12cde4aa5c802701cc3d56ecf0decbf6dd9 | |
parent | 16912f45d32fc9cc4cedb8c42c1c5c6b2b90f37e (diff) | |
download | fpc-eaa747c9b69ca5ad905c30b2177c35ff8b7a5779.tar.gz |
fpcp.pas, tpcppackage:
+ new method add_required_package() to add a required package while ignoring duplicates
git-svn-id: http://svn.freepascal.org/svn/fpc/branches/svenbarth@32510 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r-- | packages/compiler/fpcp.pas | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/packages/compiler/fpcp.pas b/packages/compiler/fpcp.pas index 78bd2bdd08..7b07ebe7ee 100644 --- a/packages/compiler/fpcp.pas +++ b/packages/compiler/fpcp.pas @@ -57,6 +57,7 @@ interface function getmodulestream(module:tmodulebase):tcstream; procedure initmoduleinfo(module:tmodulebase); procedure addunit(module:tmodulebase); + procedure add_required_package(pkg:tpackage); end; implementation @@ -551,5 +552,19 @@ implementation containedmodules.add(module.modulename^,containedunit); end; + + procedure tpcppackage.add_required_package(pkg:tpackage); + var + p : tpackage; + begin + p:=tpackage(requiredpackages.find(pkg.packagename^)); + if not assigned(p) then + requiredpackages.Add(pkg.packagename^,pkg) + else + if p<>pkg then + internalerror(2015112302); + end; + + end. |