Fixed the loading failure issue of Control Flow Graph view #951
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Dear committers:
Before fixing the issue:
The source code was like this:public static final String PLUGIN_ID = "org.eclipse.cdt.codan.ui.cfgview";
![bad](https://private-user-images.githubusercontent.com/26852785/391304296-3f159a71-1d71-4666-8001-2c266c1d8e91.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1NjYwMzgsIm5iZiI6MTczOTU2NTczOCwicGF0aCI6Ii8yNjg1Mjc4NS8zOTEzMDQyOTYtM2YxNTlhNzEtMWQ3MS00NjY2LTgwMDEtMmMyNjZjMWQ4ZTkxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE0VDIwNDIxOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTAzMGI0NjRjZTZjMWQ1NzdhZGUwMmY2ZjRjMzExNmRmYTljMjk3NTU4OTZjZDhlOWRmNjEwYWJlNzk0OWU0NjEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.BEtQTmmV4dURfOBCdAGDtR-I5Y1eNbW15Twy2M8f0gY)
As shown in the following figure, when the CDT project is running, the Control Flow Graph view throws an exception.
After fixing the issue:
The source code was like this:public static final String PLUGIN_ID = "org.eclipse.cdt.codan.ui.example.cfgview";
![Well](https://private-user-images.githubusercontent.com/26852785/391304340-34e8eb78-0b14-4a19-9279-000a8a2d9cc8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1NjYwMzgsIm5iZiI6MTczOTU2NTczOCwicGF0aCI6Ii8yNjg1Mjc4NS8zOTEzMDQzNDAtMzRlOGViNzgtMGIxNC00YTE5LTkyNzktMDAwYThhMmQ5Y2M4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE0VDIwNDIxOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWJmZTExY2IxOTA5NWUyMDlmMjQ4MDhlNzM5OWNmODMzY2RmNTkxZmFhNzBkODI3NTI3ODE0MDgzM2FiMzkwMmMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.nPysAlz52NcVeQ9Hyrgtyqlt-0pf3BT037FpPvX-oTg)
As shown in the following figure, when the CDT project is running, the Control Flow Graph view runs normally.
Conduct impact analysis on code changes:
As shown in the following figure, the Plugin ID member variable is called by these three functions
![1](https://private-user-images.githubusercontent.com/26852785/391304607-1fc85dbd-7ad2-40a3-a535-ec302dc70072.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1NjYwMzgsIm5iZiI6MTczOTU2NTczOCwicGF0aCI6Ii8yNjg1Mjc4NS8zOTEzMDQ2MDctMWZjODVkYmQtN2FkMi00MGEzLWE1MzUtZWMzMDJkYzcwMDcyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE0VDIwNDIxOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc4ZWU0Njg4Y2FjMTMwMDZmZDdhZDRhNzdhOGQ4OWQwMTU4ZTFjMDgyNjc5ZTIxZGMxZTVmZTkzMDI1NTZhY2MmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.man_DELEg5vXsEhtAizniY4t1q-t-GZZBje1xRWJa3k)
![Image resource loading function](https://private-user-images.githubusercontent.com/26852785/391305082-4c061134-f5e5-4447-b70a-aa60065d0e14.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1NjYwMzgsIm5iZiI6MTczOTU2NTczOCwicGF0aCI6Ii8yNjg1Mjc4NS8zOTEzMDUwODItNGMwNjExMzQtZjVlNS00NDQ3LWI3MGEtYWE2MDA2NWQwZTE0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE0VDIwNDIxOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTYxOTJhM2EzZTcyZmI3MzI3MjhjODhjZGIxM2I4NDRiYTI1OWNlZGJmZjBmYjM4N2RhMzNmMWJhZTJkZTEzNzMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Y4Ezw8qTi3m77CW5g8BZlkXinGC3r0p9DtVB5Yn0LIY)
![logging function](https://private-user-images.githubusercontent.com/26852785/391305086-ec3c6837-275f-4f56-a813-2e6119a5fb41.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1NjYwMzgsIm5iZiI6MTczOTU2NTczOCwicGF0aCI6Ii8yNjg1Mjc4NS8zOTEzMDUwODYtZWMzYzY4MzctMjc1Zi00ZjU2LWE4MTMtMmU2MTE5YTVmYjQxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE0VDIwNDIxOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTEzMzBiZDE5NWQzYTFmNWM2OWU4YmU0MjU3MmZlYWFkZDRjYjM5MWJiZTUzOTI1ZDMxNTQxMDdjZDFmNDQ0MzImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.bI6jZzKjYvTprcVrGhVGQnVefksfTB3uNU9sdYyzSm0)
By analyzing these three calling functions, only the image resource loading function and logging function are affected, so this code change will not affect other functions.