mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	Merge pull request #3309 from ethereum/limit-errors
Limit the number of errors output in a single run to 256
This commit is contained in:
		
						commit
						c9bdbcf470
					
				| @ -4,6 +4,7 @@ Features: | |||||||
|  * Code Generator: Initialize arrays without using ``msize()``. |  * Code Generator: Initialize arrays without using ``msize()``. | ||||||
|  * Code Generator: More specialized and thus optimized implementation for ``x.push(...)`` |  * Code Generator: More specialized and thus optimized implementation for ``x.push(...)`` | ||||||
|  * Commandline interface: Error when missing or inaccessible file detected. Suppress it with the ``--ignore-missing`` flag. |  * Commandline interface: Error when missing or inaccessible file detected. Suppress it with the ``--ignore-missing`` flag. | ||||||
|  |  * General: Limit the number of errors output in a single run to 256. | ||||||
|  * General: Support accessing dynamic return data in post-byzantium EVMs. |  * General: Support accessing dynamic return data in post-byzantium EVMs. | ||||||
|  * Interfaces: Allow overriding external functions in interfaces with public in an implementing contract. |  * Interfaces: Allow overriding external functions in interfaces with public in an implementing contract. | ||||||
|  * Optimizer: Remove useless ``SWAP1`` instruction preceding a commutative instruction (such as ``ADD``, ``MUL``, etc). |  * Optimizer: Remove useless ``SWAP1`` instruction preceding a commutative instruction (such as ``ADD``, ``MUL``, etc). | ||||||
|  | |||||||
| @ -60,17 +60,7 @@ bool typeSupportedByOldABIEncoder(Type const& _type) | |||||||
| 
 | 
 | ||||||
| bool TypeChecker::checkTypeRequirements(ASTNode const& _contract) | bool TypeChecker::checkTypeRequirements(ASTNode const& _contract) | ||||||
| { | { | ||||||
| 	try | 	_contract.accept(*this); | ||||||
| 	{ |  | ||||||
| 		_contract.accept(*this); |  | ||||||
| 	} |  | ||||||
| 	catch (FatalError const&) |  | ||||||
| 	{ |  | ||||||
| 		// We got a fatal error which required to stop further type checking, but we can
 |  | ||||||
| 		// continue normally from here.
 |  | ||||||
| 		if (m_errorReporter.errors().empty()) |  | ||||||
| 			throw; // Something is weird here, rather throw again.
 |  | ||||||
| 	} |  | ||||||
| 	return Error::containsOnlyWarnings(m_errorReporter.errors()); | 	return Error::containsOnlyWarnings(m_errorReporter.errors()); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -164,85 +164,94 @@ bool CompilerStack::analyze() | |||||||
| 	resolveImports(); | 	resolveImports(); | ||||||
| 
 | 
 | ||||||
| 	bool noErrors = true; | 	bool noErrors = true; | ||||||
| 	SyntaxChecker syntaxChecker(m_errorReporter); |  | ||||||
| 	for (Source const* source: m_sourceOrder) |  | ||||||
| 		if (!syntaxChecker.checkSyntax(*source->ast)) |  | ||||||
| 			noErrors = false; |  | ||||||
| 
 | 
 | ||||||
| 	DocStringAnalyser docStringAnalyser(m_errorReporter); | 	try { | ||||||
| 	for (Source const* source: m_sourceOrder) | 		SyntaxChecker syntaxChecker(m_errorReporter); | ||||||
| 		if (!docStringAnalyser.analyseDocStrings(*source->ast)) | 		for (Source const* source: m_sourceOrder) | ||||||
| 			noErrors = false; | 			if (!syntaxChecker.checkSyntax(*source->ast)) | ||||||
|  | 				noErrors = false; | ||||||
| 
 | 
 | ||||||
| 	m_globalContext = make_shared<GlobalContext>(); | 		DocStringAnalyser docStringAnalyser(m_errorReporter); | ||||||
| 	NameAndTypeResolver resolver(m_globalContext->declarations(), m_scopes, m_errorReporter); | 		for (Source const* source: m_sourceOrder) | ||||||
| 	for (Source const* source: m_sourceOrder) | 			if (!docStringAnalyser.analyseDocStrings(*source->ast)) | ||||||
| 		if (!resolver.registerDeclarations(*source->ast)) | 				noErrors = false; | ||||||
| 			return false; |  | ||||||
| 
 | 
 | ||||||
| 	map<string, SourceUnit const*> sourceUnitsByName; | 		m_globalContext = make_shared<GlobalContext>(); | ||||||
| 	for (auto& source: m_sources) | 		NameAndTypeResolver resolver(m_globalContext->declarations(), m_scopes, m_errorReporter); | ||||||
| 		sourceUnitsByName[source.first] = source.second.ast.get(); | 		for (Source const* source: m_sourceOrder) | ||||||
| 	for (Source const* source: m_sourceOrder) | 			if (!resolver.registerDeclarations(*source->ast)) | ||||||
| 		if (!resolver.performImports(*source->ast, sourceUnitsByName)) | 				return false; | ||||||
| 			return false; |  | ||||||
| 
 | 
 | ||||||
| 	for (Source const* source: m_sourceOrder) | 		map<string, SourceUnit const*> sourceUnitsByName; | ||||||
| 		for (ASTPointer<ASTNode> const& node: source->ast->nodes()) | 		for (auto& source: m_sources) | ||||||
| 			if (ContractDefinition* contract = dynamic_cast<ContractDefinition*>(node.get())) | 			sourceUnitsByName[source.first] = source.second.ast.get(); | ||||||
| 			{ | 		for (Source const* source: m_sourceOrder) | ||||||
| 				m_globalContext->setCurrentContract(*contract); | 			if (!resolver.performImports(*source->ast, sourceUnitsByName)) | ||||||
| 				if (!resolver.updateDeclaration(*m_globalContext->currentThis())) return false; | 				return false; | ||||||
| 				if (!resolver.updateDeclaration(*m_globalContext->currentSuper())) return false; |  | ||||||
| 				if (!resolver.resolveNamesAndTypes(*contract)) return false; |  | ||||||
| 
 | 
 | ||||||
| 				// Note that we now reference contracts by their fully qualified names, and
 | 		for (Source const* source: m_sourceOrder) | ||||||
| 				// thus contracts can only conflict if declared in the same source file.  This
 | 			for (ASTPointer<ASTNode> const& node: source->ast->nodes()) | ||||||
| 				// already causes a double-declaration error elsewhere, so we do not report
 | 				if (ContractDefinition* contract = dynamic_cast<ContractDefinition*>(node.get())) | ||||||
| 				// an error here and instead silently drop any additional contracts we find.
 | 				{ | ||||||
|  | 					m_globalContext->setCurrentContract(*contract); | ||||||
|  | 					if (!resolver.updateDeclaration(*m_globalContext->currentThis())) return false; | ||||||
|  | 					if (!resolver.updateDeclaration(*m_globalContext->currentSuper())) return false; | ||||||
|  | 					if (!resolver.resolveNamesAndTypes(*contract)) return false; | ||||||
| 
 | 
 | ||||||
| 				if (m_contracts.find(contract->fullyQualifiedName()) == m_contracts.end()) | 					// Note that we now reference contracts by their fully qualified names, and
 | ||||||
| 					m_contracts[contract->fullyQualifiedName()].contract = contract; | 					// thus contracts can only conflict if declared in the same source file.  This
 | ||||||
| 			} | 					// already causes a double-declaration error elsewhere, so we do not report
 | ||||||
|  | 					// an error here and instead silently drop any additional contracts we find.
 | ||||||
| 
 | 
 | ||||||
| 	TypeChecker typeChecker(m_evmVersion, m_errorReporter); | 					if (m_contracts.find(contract->fullyQualifiedName()) == m_contracts.end()) | ||||||
| 	for (Source const* source: m_sourceOrder) | 						m_contracts[contract->fullyQualifiedName()].contract = contract; | ||||||
| 		for (ASTPointer<ASTNode> const& node: source->ast->nodes()) | 				} | ||||||
| 			if (ContractDefinition* contract = dynamic_cast<ContractDefinition*>(node.get())) | 
 | ||||||
| 				if (!typeChecker.checkTypeRequirements(*contract)) | 		TypeChecker typeChecker(m_evmVersion, m_errorReporter); | ||||||
|  | 		for (Source const* source: m_sourceOrder) | ||||||
|  | 			for (ASTPointer<ASTNode> const& node: source->ast->nodes()) | ||||||
|  | 				if (ContractDefinition* contract = dynamic_cast<ContractDefinition*>(node.get())) | ||||||
|  | 					if (!typeChecker.checkTypeRequirements(*contract)) | ||||||
|  | 						noErrors = false; | ||||||
|  | 
 | ||||||
|  | 		if (noErrors) | ||||||
|  | 		{ | ||||||
|  | 			PostTypeChecker postTypeChecker(m_errorReporter); | ||||||
|  | 			for (Source const* source: m_sourceOrder) | ||||||
|  | 				if (!postTypeChecker.check(*source->ast)) | ||||||
| 					noErrors = false; | 					noErrors = false; | ||||||
|  | 		} | ||||||
| 
 | 
 | ||||||
| 	if (noErrors) | 		if (noErrors) | ||||||
| 	{ | 		{ | ||||||
| 		PostTypeChecker postTypeChecker(m_errorReporter); | 			StaticAnalyzer staticAnalyzer(m_errorReporter); | ||||||
| 		for (Source const* source: m_sourceOrder) | 			for (Source const* source: m_sourceOrder) | ||||||
| 			if (!postTypeChecker.check(*source->ast)) | 				if (!staticAnalyzer.analyze(*source->ast)) | ||||||
|  | 					noErrors = false; | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		if (noErrors) | ||||||
|  | 		{ | ||||||
|  | 			vector<ASTPointer<ASTNode>> ast; | ||||||
|  | 			for (Source const* source: m_sourceOrder) | ||||||
|  | 				ast.push_back(source->ast); | ||||||
|  | 
 | ||||||
|  | 			if (!ViewPureChecker(ast, m_errorReporter).check()) | ||||||
| 				noErrors = false; | 				noErrors = false; | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		if (noErrors) | ||||||
|  | 		{ | ||||||
|  | 			SMTChecker smtChecker(m_errorReporter, m_smtQuery); | ||||||
|  | 			for (Source const* source: m_sourceOrder) | ||||||
|  | 				smtChecker.analyze(*source->ast); | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 	catch(FatalError const&) | ||||||
| 	if (noErrors) |  | ||||||
| 	{ | 	{ | ||||||
| 		StaticAnalyzer staticAnalyzer(m_errorReporter); | 		if (m_errorReporter.errors().empty()) | ||||||
| 		for (Source const* source: m_sourceOrder) | 			throw; // Something is weird here, rather throw again.
 | ||||||
| 			if (!staticAnalyzer.analyze(*source->ast)) | 		noErrors = false; | ||||||
| 				noErrors = false; |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	if (noErrors) |  | ||||||
| 	{ |  | ||||||
| 		vector<ASTPointer<ASTNode>> ast; |  | ||||||
| 		for (Source const* source: m_sourceOrder) |  | ||||||
| 			ast.push_back(source->ast); |  | ||||||
| 
 |  | ||||||
| 		if (!ViewPureChecker(ast, m_errorReporter).check()) |  | ||||||
| 			noErrors = false; |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	if (noErrors) |  | ||||||
| 	{ |  | ||||||
| 		SMTChecker smtChecker(m_errorReporter, m_smtQuery); |  | ||||||
| 		for (Source const* source: m_sourceOrder) |  | ||||||
| 			smtChecker.analyze(*source->ast); |  | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if (noErrors) | 	if (noErrors) | ||||||
|  | |||||||
| @ -61,6 +61,9 @@ void ErrorReporter::warning( | |||||||
| 
 | 
 | ||||||
| void ErrorReporter::error(Error::Type _type, SourceLocation const& _location, string const& _description) | void ErrorReporter::error(Error::Type _type, SourceLocation const& _location, string const& _description) | ||||||
| { | { | ||||||
|  | 	if (checkForExcessiveErrors(_type)) | ||||||
|  | 		return; | ||||||
|  | 
 | ||||||
| 	auto err = make_shared<Error>(_type); | 	auto err = make_shared<Error>(_type); | ||||||
| 	*err << | 	*err << | ||||||
| 		errinfo_sourceLocation(_location) << | 		errinfo_sourceLocation(_location) << | ||||||
| @ -71,6 +74,9 @@ void ErrorReporter::error(Error::Type _type, SourceLocation const& _location, st | |||||||
| 
 | 
 | ||||||
| void ErrorReporter::error(Error::Type _type, SourceLocation const& _location, SecondarySourceLocation const& _secondaryLocation, string const& _description) | void ErrorReporter::error(Error::Type _type, SourceLocation const& _location, SecondarySourceLocation const& _secondaryLocation, string const& _description) | ||||||
| { | { | ||||||
|  | 	if (checkForExcessiveErrors(_type)) | ||||||
|  | 		return; | ||||||
|  | 
 | ||||||
| 	auto err = make_shared<Error>(_type); | 	auto err = make_shared<Error>(_type); | ||||||
| 	*err << | 	*err << | ||||||
| 		errinfo_sourceLocation(_location) << | 		errinfo_sourceLocation(_location) << | ||||||
| @ -80,6 +86,37 @@ void ErrorReporter::error(Error::Type _type, SourceLocation const& _location, Se | |||||||
| 	m_errorList.push_back(err); | 	m_errorList.push_back(err); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | bool ErrorReporter::checkForExcessiveErrors(Error::Type _type) | ||||||
|  | { | ||||||
|  | 	if (_type == Error::Type::Warning) | ||||||
|  | 	{ | ||||||
|  | 		m_warningCount++; | ||||||
|  | 
 | ||||||
|  | 		if (m_warningCount == c_maxWarningsAllowed) | ||||||
|  | 		{ | ||||||
|  | 			auto err = make_shared<Error>(Error::Type::Warning); | ||||||
|  | 			*err << errinfo_comment("There are more than 256 warnings. Ignoring the rest."); | ||||||
|  | 			m_errorList.push_back(err); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		if (m_warningCount >= c_maxWarningsAllowed) | ||||||
|  | 			return true; | ||||||
|  | 	} | ||||||
|  | 	else | ||||||
|  | 	{ | ||||||
|  | 		m_errorCount++; | ||||||
|  | 
 | ||||||
|  | 		if (m_errorCount > c_maxErrorsAllowed) | ||||||
|  | 		{ | ||||||
|  | 			auto err = make_shared<Error>(Error::Type::Warning); | ||||||
|  | 			*err << errinfo_comment("There are more than 256 errors. Aborting."); | ||||||
|  | 			m_errorList.push_back(err); | ||||||
|  | 			BOOST_THROW_EXCEPTION(FatalError()); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	return false; | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| void ErrorReporter::fatalError(Error::Type _type, SourceLocation const& _location, string const& _description) | void ErrorReporter::fatalError(Error::Type _type, SourceLocation const& _location, string const& _description) | ||||||
| { | { | ||||||
|  | |||||||
| @ -102,7 +102,16 @@ private: | |||||||
| 		SourceLocation const& _location = SourceLocation(), | 		SourceLocation const& _location = SourceLocation(), | ||||||
| 		std::string const& _description = std::string()); | 		std::string const& _description = std::string()); | ||||||
| 
 | 
 | ||||||
|  | 	// @returns true if error shouldn't be stored
 | ||||||
|  | 	bool checkForExcessiveErrors(Error::Type _type); | ||||||
|  | 
 | ||||||
| 	ErrorList& m_errorList; | 	ErrorList& m_errorList; | ||||||
|  | 
 | ||||||
|  | 	unsigned m_errorCount = 0; | ||||||
|  | 	unsigned m_warningCount = 0; | ||||||
|  | 
 | ||||||
|  | 	const unsigned c_maxWarningsAllowed = 256; | ||||||
|  | 	const unsigned c_maxErrorsAllowed = 256; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										524
									
								
								test/libsolidity/syntaxTests/more_than_256_declarationerrors.sol
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										524
									
								
								test/libsolidity/syntaxTests/more_than_256_declarationerrors.sol
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,524 @@ | |||||||
|  | contract C { | ||||||
|  |   function f() { | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |     b = 5; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | // ---- | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // DeclarationError: Undeclared identifier. | ||||||
|  | // Warning: There are more than 256 errors. Aborting. | ||||||
							
								
								
									
										524
									
								
								test/libsolidity/syntaxTests/more_than_256_syntaxerrors.sol
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										524
									
								
								test/libsolidity/syntaxTests/more_than_256_syntaxerrors.sol
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,524 @@ | |||||||
|  | contract C { | ||||||
|  |   function f() { | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |     continue; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | // ---- | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // SyntaxError: "continue" has to be in a "for" or "while" loop. | ||||||
|  | // Warning: There are more than 256 errors. Aborting. | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user