summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelliott_c <ocielliottc@users.noreply.github.com>2003-06-20 13:55:44 +0000
committerelliott_c <ocielliottc@users.noreply.github.com>2003-06-20 13:55:44 +0000
commitcfd8cb4af625f74d51a679d788f46fd2a24e7876 (patch)
tree24cbc6e54323e9dbda4b44b4a9a2c3dda14c8a6e
parentffde12438c348d34433a81926b09f632ea6cc78c (diff)
downloadMPC-cfd8cb4af625f74d51a679d788f46fd2a24e7876.tar.gz
ChangeLogTag: Fri Jun 20 08:54:29 2003 Chad Elliott <elliott_c@ociweb.com>
-rw-r--r--modules/ProjectCreator.pm24
1 files changed, 18 insertions, 6 deletions
diff --git a/modules/ProjectCreator.pm b/modules/ProjectCreator.pm
index c9da93d0..fa3549f7 100644
--- a/modules/ProjectCreator.pm
+++ b/modules/ProjectCreator.pm
@@ -215,12 +215,7 @@ sub parse_line {
$self->generate_defaults();
## Fill in type specific assignments
- my($tsa) = $self->{'type_specific_assign'}->{$self->{'pctype'}};
- if (defined $tsa) {
- foreach my $key (keys %$tsa) {
- $self->process_assignment_add($key, $$tsa{$key});
- }
- }
+ $self->process_type_specific_assignments();
## Perform any additions, subtractions
## or overrides for the project values.
@@ -248,9 +243,14 @@ sub parse_line {
if ($status) {
## Now add in the features that have been defined
$self->{$typecheck} = 0;
+ $self->{'type_specific_assign'} = {};
($status, $errorString) = $self->process_features();
if ($status) {
+ ## If the feature added any type specific assignments
+ ## then we need to processs them before we write the project
+ $self->process_type_specific_assignments();
+
## End of project; Write out the file.
($status, $errorString) = $self->write_project();
}
@@ -737,6 +737,18 @@ sub process_features {
}
+sub process_type_specific_assignments {
+ my($self) = shift;
+ my($tsa) = $self->{'type_specific_assign'}->{$self->{'pctype'}};
+
+ if (defined $tsa) {
+ foreach my $key (keys %$tsa) {
+ $self->process_assignment_add($key, $$tsa{$key});
+ }
+ }
+}
+
+
sub process_array_assignment {
my($self) = shift;
my($aref) = shift;