aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Changelog.md1
-rw-r--r--libsolidity/interface/ErrorReporter.cpp14
-rw-r--r--libsolidity/interface/ErrorReporter.h2
-rw-r--r--test/libsolidity/syntaxTests/more_than_256_declarationerrors.sol524
-rw-r--r--test/libsolidity/syntaxTests/more_than_256_syntaxerrors.sol524
5 files changed, 1065 insertions, 0 deletions
diff --git a/Changelog.md b/Changelog.md
index d6860bdf..53038a1a 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -4,6 +4,7 @@ Features:
* Code Generator: Initialize arrays without using ``msize()``.
* 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.
+ * General: Limit the number of errors output in a single run to 256.
* General: Support accessing dynamic return data in post-byzantium EVMs.
* 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).
diff --git a/libsolidity/interface/ErrorReporter.cpp b/libsolidity/interface/ErrorReporter.cpp
index e6171756..f7260d51 100644
--- a/libsolidity/interface/ErrorReporter.cpp
+++ b/libsolidity/interface/ErrorReporter.cpp
@@ -61,6 +61,8 @@ void ErrorReporter::warning(
void ErrorReporter::error(Error::Type _type, SourceLocation const& _location, string const& _description)
{
+ abortIfExcessive();
+
auto err = make_shared<Error>(_type);
*err <<
errinfo_sourceLocation(_location) <<
@@ -71,6 +73,8 @@ 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)
{
+ abortIfExcessive();
+
auto err = make_shared<Error>(_type);
*err <<
errinfo_sourceLocation(_location) <<
@@ -80,6 +84,16 @@ void ErrorReporter::error(Error::Type _type, SourceLocation const& _location, Se
m_errorList.push_back(err);
}
+void ErrorReporter::abortIfExcessive()
+{
+ if (m_errorList.size() > 256)
+ {
+ 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());
+ }
+}
void ErrorReporter::fatalError(Error::Type _type, SourceLocation const& _location, string const& _description)
{
diff --git a/libsolidity/interface/ErrorReporter.h b/libsolidity/interface/ErrorReporter.h
index a87db21d..6b3dc221 100644
--- a/libsolidity/interface/ErrorReporter.h
+++ b/libsolidity/interface/ErrorReporter.h
@@ -102,6 +102,8 @@ private:
SourceLocation const& _location = SourceLocation(),
std::string const& _description = std::string());
+ void abortIfExcessive();
+
ErrorList& m_errorList;
};
diff --git a/test/libsolidity/syntaxTests/more_than_256_declarationerrors.sol b/test/libsolidity/syntaxTests/more_than_256_declarationerrors.sol
new file mode 100644
index 00000000..36305977
--- /dev/null
+++ b/test/libsolidity/syntaxTests/more_than_256_declarationerrors.sol
@@ -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.
diff --git a/test/libsolidity/syntaxTests/more_than_256_syntaxerrors.sol b/test/libsolidity/syntaxTests/more_than_256_syntaxerrors.sol
new file mode 100644
index 00000000..66e185fa
--- /dev/null
+++ b/test/libsolidity/syntaxTests/more_than_256_syntaxerrors.sol
@@ -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.