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) | ||||
| { | ||||
| 
 | ||||
| 	vector<ASTPointer<Expression>> const& components = _tuple.components(); | ||||
| 	TypePointers types; | ||||
| 	if (_tuple.annotation().lValueRequested) | ||||
| @ -791,7 +792,10 @@ bool TypeChecker::visit(TupleExpression const& _tuple) | ||||
| 			} | ||||
| 			else | ||||
| 				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.
 | ||||
| 		_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,).
 | ||||
| 			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]) | ||||
| 			{ | ||||
| 				components[i]->accept(*this); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user