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