mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			82 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Solidity
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Solidity
		
	
	
	
	
	
| // SPDX-License-Identifier: UNLICENSED
 | |
| pragma solidity >=0.8.0;
 | |
| 
 | |
| contract C
 | |
| {
 | |
|     bool public locked = false;
 | |
|     int public calls = 0;
 | |
|     int public totalSum = 0;
 | |
| 
 | |
|     function add(uint a, uint b) lock() monitor(a, b) public returns (uint result)
 | |
|     {
 | |
|         result = a + b;
 | |
|     }
 | |
| 
 | |
|     modifier lock()
 | |
|     {
 | |
|         require(!locked);
 | |
|         locked = true;
 | |
|         _;
 | |
|         locked = false;
 | |
|     }
 | |
| 
 | |
|     modifier monitor(uint a, uint b)
 | |
|     {
 | |
|         calls++;
 | |
|         totalSum = totalSum + a + b;
 | |
|         //         ^^^^^^^^^^^^^^^^ @totalSumWarning
 | |
|         //         ^^^^^^^^^^^^ @totalSumWarningSub
 | |
|         _;
 | |
|     }
 | |
| }
 | |
| // ----
 | |
| // modifiers: @totalSumWarningSub 2271 @totalSumWarning 2271
 | |
| // -> textDocument/semanticTokens/full {
 | |
| // }
 | |
| // <- {
 | |
| //     "data": [
 | |
| //         1, 0, 24, 8, 0,
 | |
| //         2, 9, 1, 0, 0,
 | |
| //         2, 4, 4, 11, 0,
 | |
| //         0, 12, 6, 19, 0,
 | |
| //         0, 9, 5, 11, 0,
 | |
| //         1, 4, 3, 11, 0,
 | |
| //         0, 11, 5, 19, 0,
 | |
| //         0, 8, 1, 11, 0,
 | |
| //         1, 4, 3, 11, 0,
 | |
| //         0, 11, 8, 19, 0,
 | |
| //         0, 11, 1, 11, 0,
 | |
| //         2, 13, 3, 5, 0,
 | |
| //         0, 4, 4, 11, 0,
 | |
| //         0, 5, 1, 19, 0,
 | |
| //         0, 3, 4, 11, 0,
 | |
| //         0, 5, 1, 19, 0,
 | |
| //         0, 40, 4, 11, 0,
 | |
| //         0, 5, 6, 19, 0,
 | |
| //         0, -42, 4, 19, 0,
 | |
| //         0, 7, 7, 19, 0,
 | |
| //         0, 8, 1, 19, 0,
 | |
| //         0, 3, 1, 19, 0,
 | |
| //         2, 8, 6, 19, 0,
 | |
| //         0, 9, 1, 19, 0,
 | |
| //         0, 4, 1, 19, 0,
 | |
| //         3, 13, 4, 10, 0,
 | |
| //         2, 8, 7, 19, 0,
 | |
| //         0, 9, 6, 19, 0,
 | |
| //         1, 8, 6, 19, 0,
 | |
| //         0, 9, 4, 11, 0,
 | |
| //         2, 8, 6, 19, 0,
 | |
| //         0, 9, 5, 11, 0,
 | |
| //         3, 13, 7, 10, 0,
 | |
| //         0, 8, 4, 11, 0,
 | |
| //         0, 5, 1, 19, 0,
 | |
| //         0, 3, 4, 11, 0,
 | |
| //         0, 5, 1, 19, 0,
 | |
| //         2, 8, 5, 19, 0,
 | |
| //         1, 8, 8, 19, 0,
 | |
| //         0, 11, 8, 19, 0,
 | |
| //         0, 11, 1, 19, 0,
 | |
| //         0, 4, 1, 19, 0
 | |
| //     ]
 | |
| // }
 |