mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	Exception-throwing assert.
This commit is contained in:
		
							parent
							
								
									ed757ba5bf
								
							
						
					
					
						commit
						d1f9e14476
					
				
							
								
								
									
										29
									
								
								Utils.h
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								Utils.h
									
									
									
									
									
								
							| @ -22,34 +22,9 @@ | |||||||
| 
 | 
 | ||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| #include <string> | #include <libdevcore/Assertions.h> | ||||||
| #include <libsolidity/Exceptions.h> |  | ||||||
| 
 |  | ||||||
| namespace dev |  | ||||||
| { |  | ||||||
| namespace solidity |  | ||||||
| { |  | ||||||
| 
 | 
 | ||||||
| /// Assertion that throws an InternalCompilerError containing the given description if it is not met.
 | /// Assertion that throws an InternalCompilerError containing the given description if it is not met.
 | ||||||
| #define solAssert(CONDITION, DESCRIPTION) \ | #define solAssert(CONDITION, DESCRIPTION) \ | ||||||
| 	::dev::solidity::solAssertAux(CONDITION, DESCRIPTION, __LINE__, __FILE__, ETH_FUNC) | 	assertThrow(CONDITION, ::dev::solidity::InternalCompilerError, DESCRIPTION) | ||||||
| 
 | 
 | ||||||
| inline void solAssertAux(bool _condition, std::string const& _errorDescription, unsigned _line, |  | ||||||
| 						 char const* _file, char const* _function) |  | ||||||
| { |  | ||||||
| 	if (!_condition) |  | ||||||
| 		::boost::throw_exception( InternalCompilerError() |  | ||||||
| 				<< errinfo_comment(_errorDescription) |  | ||||||
| 				<< ::boost::throw_function(_function) |  | ||||||
| 				<< ::boost::throw_file(_file) |  | ||||||
| 				<< ::boost::throw_line(_line)); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| inline void solAssertAux(void const* _pointer, std::string const& _errorDescription, unsigned _line, |  | ||||||
| 						 char const* _file, char const* _function) |  | ||||||
| { |  | ||||||
| 	solAssertAux(_pointer != nullptr, _errorDescription, _line, _file, _function); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| } |  | ||||||
| } |  | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user