942 "Modified: / 21-12-2013 / 00:08:39 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
940 "Modified: / 21-12-2013 / 00:08:39 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
943 "Modified: / 11-05-2018 / 09:29:20 / stefan" |
941 "Modified: / 11-05-2018 / 09:29:20 / stefan" |
944 ! |
942 ! |
945 |
943 |
946 reportCompilationErrorFor:aCommand fromFile:anErrorFilename |
944 reportCompilationErrorFor:aCommand fromFile:anErrorFilename |
947 |eMsg errorMessages lNr| |
945 |eMsg errorMessages errorMessagesColorized lNr cFile stFile| |
948 |
946 |
949 (executionStatus notNil and:[executionStatus couldNotExecute]) ifTrue:[ |
947 (executionStatus notNil and:[executionStatus couldNotExecute]) ifTrue:[ |
950 eMsg := 'oops, no %1 - cannot create machine code' bindWith:aCommand. |
948 eMsg := 'oops, no %1 - cannot create machine code' bindWith:aCommand. |
951 ] ifFalse:[ |
949 ] ifFalse:[ |
952 errorMessages := anErrorFilename contents |
950 errorMessages := anErrorFilename contents |
953 collect:[:l | OperatingSystem decodePathOrCommandOutput: l ]. |
951 collect:[:l | OperatingSystem decodePathOrCommandOutput: l ]. |
954 Transcript showCR:errorMessages asString. |
952 |
|
953 "/ replace the filename string |
|
954 cFile := cFileName asFilename name. |
|
955 stFile := stFileName asFilename name. |
|
956 errorMessages := errorMessages |
|
957 collect:[:line | |
|
958 (line startsWith:cFile) ifTrue:[ |
|
959 cFileName asFilename baseName,(line copyFrom:cFile size+1) |
|
960 ] ifFalse:[ |
|
961 (line startsWith:stFile) ifTrue:[ |
|
962 stFileName asFilename baseName,(line copyFrom:stFile size+1) |
|
963 ] ifFalse:[ |
|
964 line |
|
965 ]. |
|
966 ]. |
|
967 ]. |
|
968 |
|
969 errorMessagesColorized := |
|
970 errorMessages collect:[:line | |
|
971 (line includesString:'warning:' caseSensitive:false) ifTrue:[ |
|
972 line withColor:Color orange |
|
973 ] ifFalse:[ |
|
974 (line includesString:'error:' caseSensitive:false) ifTrue:[ |
|
975 line withColor:Color red |
|
976 ] ifFalse:[ |
|
977 line |
|
978 ] |
|
979 ] |
|
980 ]. |
|
981 Transcript showCR:errorMessagesColorized asString. |
|
982 |
955 errorMessages notNil ifTrue:[ |
983 errorMessages notNil ifTrue:[ |
956 errorMessages := errorMessages reject:[:line | line includesString:'Note:' caseSensitive:false]. |
984 errorMessages := errorMessages reject:[:line | line includesString:'Note:' caseSensitive:false]. |
957 errorMessages size > 20 ifTrue:[ |
985 errorMessages size > 20 ifTrue:[ |
958 errorMessages := errorMessages reject:[:line | line includesString:'Warning:' caseSensitive:false]. |
986 errorMessages := errorMessages reject:[:line | line includesString:'Warning:' caseSensitive:false]. |
959 errorMessages size > 20 ifTrue:[ |
987 errorMessages size > 20 ifTrue:[ |