mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	still not able to get types resolved, however it is compiling
This commit is contained in:
		
							parent
							
								
									9ab066de8c
								
							
						
					
					
						commit
						c8e4e9c05c
					
				| @ -779,6 +779,7 @@ bool TypeChecker::visit(Assignment const& _assignment) | |||||||
| 
 | 
 | ||||||
| bool TypeChecker::visit(TupleExpression const& _tuple) | bool TypeChecker::visit(TupleExpression const& _tuple) | ||||||
| { | { | ||||||
|  | 
 | ||||||
| 	vector<ASTPointer<Expression>> const& components = _tuple.components(); | 	vector<ASTPointer<Expression>> const& components = _tuple.components(); | ||||||
| 	TypePointers types; | 	TypePointers types; | ||||||
| 	if (_tuple.annotation().lValueRequested) | 	if (_tuple.annotation().lValueRequested) | ||||||
| @ -791,7 +792,10 @@ bool TypeChecker::visit(TupleExpression const& _tuple) | |||||||
| 			} | 			} | ||||||
| 			else | 			else | ||||||
| 				types.push_back(TypePointer()); | 				types.push_back(TypePointer()); | ||||||
| 		_tuple.annotation().type = make_shared<TupleType>(types); | 		if (_tuple.isInlineArray()) | ||||||
|  | 			_tuple.annotation().type = make_shared<ArrayType>(DataLocation::Storage, _tuple.annotation().type, types.size()); | ||||||
|  | 		else | ||||||
|  | 			_tuple.annotation().type = make_shared<TupleType>(types); | ||||||
| 		// If some of the components are not LValues, the error is reported above.
 | 		// If some of the components are not LValues, the error is reported above.
 | ||||||
| 		_tuple.annotation().isLValue = true; | 		_tuple.annotation().isLValue = true; | ||||||
| 	} | 	} | ||||||
| @ -801,7 +805,10 @@ bool TypeChecker::visit(TupleExpression const& _tuple) | |||||||
| 		{ | 		{ | ||||||
| 			// Outside of an lvalue-context, the only situation where a component can be empty is (x,).
 | 			// Outside of an lvalue-context, the only situation where a component can be empty is (x,).
 | ||||||
| 			if (!components[i] && !(i == 1 && components.size() == 2)) | 			if (!components[i] && !(i == 1 && components.size() == 2)) | ||||||
| 				fatalTypeError(_tuple.location(), "Tuple component cannot be empty."); | 				_tuple.isInlineArray() ?  | ||||||
|  | 					fatalTypeError(_tuple.location(), "Array component cannot have empty cells.") | ||||||
|  | 					: | ||||||
|  | 					fatalTypeError(_tuple.location(), "Tuple component cannot be empty."); | ||||||
| 			else if (components[i]) | 			else if (components[i]) | ||||||
| 			{ | 			{ | ||||||
| 				components[i]->accept(*this); | 				components[i]->accept(*this); | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user