| 1007 | | |
| | 1007 | sub make_log_strings_framework |
| | 1008 | { |
| | 1009 | my ($cmd) = @_; |
| | 1010 | |
| | 1011 | my @args; |
| | 1012 | |
| | 1013 | for(my $x = 0; $x < $#{$cmd_contents{$cmd}}; $x+=2) |
| | 1014 | { |
| | 1015 | my ($ty,$nm) = (${$cmd_contents{$cmd}}[$x], ${$cmd_contents{$cmd}}[$x+1]); |
| | 1016 | |
| | 1017 | if(exists $log_display_types{$ty}) |
| | 1018 | { |
| | 1019 | # need to translate it |
| | 1020 | my ($format,$arg) = @{$log_display_types{$ty}}; |
| | 1021 | $arg =~ s/VAR/m$nm/g; |
| | 1022 | |
| | 1023 | if ($format =~ m'x$') |
| | 1024 | { |
| | 1025 | $arg = "std::hex << std::showbase " . |
| | 1026 | "<< $arg << std::dec"; |
| | 1027 | } |
| | 1028 | |
| | 1029 | push @args, $arg; |
| | 1030 | } |
| | 1031 | else |
| | 1032 | { |
| | 1033 | # is opaque |
| | 1034 | push @args, '"OPAQUE"'; |
| | 1035 | } |
| | 1036 | } |
| | 1037 | |
| | 1038 | my $log_cmd = "Action << \" $cmd(\" "; |
| | 1039 | foreach my $arg (@args) |
| | 1040 | { |
| | 1041 | $arg = "<< $arg "; |
| | 1042 | } |
| | 1043 | $log_cmd .= join('<< "," ',@args); |
| | 1044 | $log_cmd .= '<< ")"'; |
| | 1045 | return $log_cmd; |
| | 1046 | } |
| | 1047 | |
| | 1048 | |