mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Fix tabs/spaces.
This commit is contained in:
parent
17ea467e5b
commit
1a823f0bf8
@ -1,48 +1,48 @@
|
|||||||
/*
|
/*
|
||||||
This file is part of solidity.
|
* This file is part of solidity.
|
||||||
|
*
|
||||||
solidity is free software: you can redistribute it and/or modify
|
* solidity is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
(at your option) any later version.
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
solidity is distributed in the hope that it will be useful,
|
* solidity is distributed in the hope that it will be useful,
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
along with solidity. If not, see <http://www.gnu.org/licenses/>.
|
* along with solidity. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
This file is derived from the file "scanner.cc", which was part of the
|
* This file is derived from the file "scanner.cc", which was part of the
|
||||||
V8 project. The original copyright header follows:
|
* V8 project. The original copyright header follows:
|
||||||
|
*
|
||||||
Copyright 2006-2012, the V8 project authors. All rights reserved.
|
* Copyright 2006-2012, the V8 project authors. All rights reserved.
|
||||||
Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are
|
||||||
met:
|
* met:
|
||||||
|
*
|
||||||
* Redistributions of source code must retain the above copyright
|
* * Redistributions of source code must retain the above copyright
|
||||||
notice, this list of conditions and the following disclaimer.
|
* notice, this list of conditions and the following disclaimer.
|
||||||
* Redistributions in binary form must reproduce the above
|
* * Redistributions in binary form must reproduce the above
|
||||||
copyright notice, this list of conditions and the following
|
* copyright notice, this list of conditions and the following
|
||||||
disclaimer in the documentation and/or other materials provided
|
* disclaimer in the documentation and/or other materials provided
|
||||||
with the distribution.
|
* with the distribution.
|
||||||
* Neither the name of Google Inc. nor the names of its
|
* * Neither the name of Google Inc. nor the names of its
|
||||||
contributors may be used to endorse or promote products derived
|
* contributors may be used to endorse or promote products derived
|
||||||
from this software without specific prior written permission.
|
* from this software without specific prior written permission.
|
||||||
|
*
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* @author Christian <c@ethdev.com>
|
* @author Christian <c@ethdev.com>
|
||||||
@ -85,8 +85,10 @@ string CharStream::lineAtPosition(int _position) const
|
|||||||
lineStart = 0;
|
lineStart = 0;
|
||||||
else
|
else
|
||||||
lineStart++;
|
lineStart++;
|
||||||
return m_source.substr(lineStart, min(m_source.find('\n', lineStart),
|
return m_source.substr(
|
||||||
m_source.size()) - lineStart);
|
lineStart,
|
||||||
|
min(m_source.find('\n', lineStart), m_source.size()) - lineStart
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
tuple<int, int> CharStream::translatePositionToLineColumn(int _position) const
|
tuple<int, int> CharStream::translatePositionToLineColumn(int _position) const
|
||||||
|
@ -1,48 +1,48 @@
|
|||||||
/*
|
/*
|
||||||
This file is part of solidity.
|
* This file is part of solidity.
|
||||||
|
*
|
||||||
solidity is free software: you can redistribute it and/or modify
|
* solidity is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
(at your option) any later version.
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
solidity is distributed in the hope that it will be useful,
|
* solidity is distributed in the hope that it will be useful,
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
along with solidity. If not, see <http://www.gnu.org/licenses/>.
|
* along with solidity. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
This file is derived from the file "scanner.h", which was part of the
|
* This file is derived from the file "scanner.h", which was part of the
|
||||||
V8 project. The original copyright header follows:
|
* V8 project. The original copyright header follows:
|
||||||
|
*
|
||||||
Copyright 2006-2012, the V8 project authors. All rights reserved.
|
* Copyright 2006-2012, the V8 project authors. All rights reserved.
|
||||||
Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are
|
||||||
met:
|
* met:
|
||||||
|
*
|
||||||
* Redistributions of source code must retain the above copyright
|
* * Redistributions of source code must retain the above copyright
|
||||||
notice, this list of conditions and the following disclaimer.
|
* notice, this list of conditions and the following disclaimer.
|
||||||
* Redistributions in binary form must reproduce the above
|
* * Redistributions in binary form must reproduce the above
|
||||||
copyright notice, this list of conditions and the following
|
* copyright notice, this list of conditions and the following
|
||||||
disclaimer in the documentation and/or other materials provided
|
* disclaimer in the documentation and/or other materials provided
|
||||||
with the distribution.
|
* with the distribution.
|
||||||
* Neither the name of Google Inc. nor the names of its
|
* * Neither the name of Google Inc. nor the names of its
|
||||||
contributors may be used to endorse or promote products derived
|
* contributors may be used to endorse or promote products derived
|
||||||
from this software without specific prior written permission.
|
* from this software without specific prior written permission.
|
||||||
|
*
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* @author Christian <c@ethdev.com>
|
* @author Christian <c@ethdev.com>
|
||||||
|
@ -1,48 +1,48 @@
|
|||||||
/*
|
/*
|
||||||
This file is part of solidity.
|
* This file is part of solidity.
|
||||||
|
*
|
||||||
solidity is free software: you can redistribute it and/or modify
|
* solidity is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
(at your option) any later version.
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
solidity is distributed in the hope that it will be useful,
|
* solidity is distributed in the hope that it will be useful,
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
along with solidity. If not, see <http://www.gnu.org/licenses/>.
|
* along with solidity. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
This file is derived from the file "scanner.cc", which was part of the
|
* This file is derived from the file "scanner.cc", which was part of the
|
||||||
V8 project. The original copyright header follows:
|
* V8 project. The original copyright header follows:
|
||||||
|
*
|
||||||
Copyright 2006-2012, the V8 project authors. All rights reserved.
|
* Copyright 2006-2012, the V8 project authors. All rights reserved.
|
||||||
Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are
|
||||||
met:
|
* met:
|
||||||
|
*
|
||||||
* Redistributions of source code must retain the above copyright
|
* * Redistributions of source code must retain the above copyright
|
||||||
notice, this list of conditions and the following disclaimer.
|
* notice, this list of conditions and the following disclaimer.
|
||||||
* Redistributions in binary form must reproduce the above
|
* * Redistributions in binary form must reproduce the above
|
||||||
copyright notice, this list of conditions and the following
|
* copyright notice, this list of conditions and the following
|
||||||
disclaimer in the documentation and/or other materials provided
|
* disclaimer in the documentation and/or other materials provided
|
||||||
with the distribution.
|
* with the distribution.
|
||||||
* Neither the name of Google Inc. nor the names of its
|
* * Neither the name of Google Inc. nor the names of its
|
||||||
contributors may be used to endorse or promote products derived
|
* contributors may be used to endorse or promote products derived
|
||||||
from this software without specific prior written permission.
|
* from this software without specific prior written permission.
|
||||||
|
*
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* @author Christian <c@ethdev.com>
|
* @author Christian <c@ethdev.com>
|
||||||
@ -69,9 +69,10 @@ bool isDecimalDigit(char c)
|
|||||||
}
|
}
|
||||||
bool isHexDigit(char c)
|
bool isHexDigit(char c)
|
||||||
{
|
{
|
||||||
return isDecimalDigit(c)
|
return
|
||||||
|| ('a' <= c && c <= 'f')
|
isDecimalDigit(c) ||
|
||||||
|| ('A' <= c && c <= 'F');
|
('a' <= c && c <= 'f') ||
|
||||||
|
('A' <= c && c <= 'F');
|
||||||
}
|
}
|
||||||
bool isLineTerminator(char c)
|
bool isLineTerminator(char c)
|
||||||
{
|
{
|
||||||
|
@ -1,48 +1,48 @@
|
|||||||
/*
|
/*
|
||||||
This file is part of solidity.
|
* This file is part of solidity.
|
||||||
|
*
|
||||||
solidity is free software: you can redistribute it and/or modify
|
* solidity is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
(at your option) any later version.
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
solidity is distributed in the hope that it will be useful,
|
* solidity is distributed in the hope that it will be useful,
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
along with solidity. If not, see <http://www.gnu.org/licenses/>.
|
* along with solidity. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
This file is derived from the file "scanner.h", which was part of the
|
* This file is derived from the file "scanner.h", which was part of the
|
||||||
V8 project. The original copyright header follows:
|
* V8 project. The original copyright header follows:
|
||||||
|
*
|
||||||
Copyright 2006-2012, the V8 project authors. All rights reserved.
|
* Copyright 2006-2012, the V8 project authors. All rights reserved.
|
||||||
Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are
|
||||||
met:
|
* met:
|
||||||
|
*
|
||||||
* Redistributions of source code must retain the above copyright
|
* * Redistributions of source code must retain the above copyright
|
||||||
notice, this list of conditions and the following disclaimer.
|
* notice, this list of conditions and the following disclaimer.
|
||||||
* Redistributions in binary form must reproduce the above
|
* * Redistributions in binary form must reproduce the above
|
||||||
copyright notice, this list of conditions and the following
|
* copyright notice, this list of conditions and the following
|
||||||
disclaimer in the documentation and/or other materials provided
|
* disclaimer in the documentation and/or other materials provided
|
||||||
with the distribution.
|
* with the distribution.
|
||||||
* Neither the name of Google Inc. nor the names of its
|
* * Neither the name of Google Inc. nor the names of its
|
||||||
contributors may be used to endorse or promote products derived
|
* contributors may be used to endorse or promote products derived
|
||||||
from this software without specific prior written permission.
|
* from this software without specific prior written permission.
|
||||||
|
*
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* @author Christian <c@ethdev.com>
|
* @author Christian <c@ethdev.com>
|
||||||
|
@ -32,7 +32,8 @@ namespace dev
|
|||||||
namespace solidity
|
namespace solidity
|
||||||
{
|
{
|
||||||
|
|
||||||
/** Occurrence of a variable in a block of control flow.
|
/**
|
||||||
|
* Occurrence of a variable in a block of control flow.
|
||||||
* Stores the declaration of the referenced variable, the
|
* Stores the declaration of the referenced variable, the
|
||||||
* kind of the occurrence and possibly the node at which
|
* kind of the occurrence and possibly the node at which
|
||||||
* it occurred.
|
* it occurred.
|
||||||
@ -85,7 +86,8 @@ private:
|
|||||||
ASTNode const* m_occurrence = nullptr;
|
ASTNode const* m_occurrence = nullptr;
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Node of the Control Flow Graph.
|
/**
|
||||||
|
* Node of the Control Flow Graph.
|
||||||
* The control flow is a directed graph connecting control flow blocks.
|
* The control flow is a directed graph connecting control flow blocks.
|
||||||
* An arc between two nodes indicates that the control flow can possibly
|
* An arc between two nodes indicates that the control flow can possibly
|
||||||
* move from its start node to its end node during execution.
|
* move from its start node to its end node during execution.
|
||||||
|
@ -113,9 +113,13 @@ bool ASTPrinter::visit(ParameterList const& _node)
|
|||||||
|
|
||||||
bool ASTPrinter::visit(FunctionDefinition const& _node)
|
bool ASTPrinter::visit(FunctionDefinition const& _node)
|
||||||
{
|
{
|
||||||
writeLine("FunctionDefinition \"" + _node.name() + "\"" +
|
writeLine(
|
||||||
|
"FunctionDefinition \"" +
|
||||||
|
_node.name() +
|
||||||
|
"\"" +
|
||||||
(_node.isPublic() ? " - public" : "") +
|
(_node.isPublic() ? " - public" : "") +
|
||||||
(_node.stateMutability() == StateMutability::View ? " - const" : ""));
|
(_node.stateMutability() == StateMutability::View ? " - const" : "")
|
||||||
|
);
|
||||||
printSourcePart(_node);
|
printSourcePart(_node);
|
||||||
return goDeeper();
|
return goDeeper();
|
||||||
}
|
}
|
||||||
@ -305,8 +309,12 @@ bool ASTPrinter::visit(TupleExpression const& _node)
|
|||||||
|
|
||||||
bool ASTPrinter::visit(UnaryOperation const& _node)
|
bool ASTPrinter::visit(UnaryOperation const& _node)
|
||||||
{
|
{
|
||||||
writeLine(string("UnaryOperation (") + (_node.isPrefixOperation() ? "prefix" : "postfix") +
|
writeLine(
|
||||||
") " + TokenTraits::toString(_node.getOperator()));
|
string("UnaryOperation (") +
|
||||||
|
(_node.isPrefixOperation() ? "prefix" : "postfix") +
|
||||||
|
") " +
|
||||||
|
TokenTraits::toString(_node.getOperator())
|
||||||
|
);
|
||||||
printType(_node);
|
printType(_node);
|
||||||
printSourcePart(_node);
|
printSourcePart(_node);
|
||||||
return goDeeper();
|
return goDeeper();
|
||||||
|
@ -3327,8 +3327,12 @@ bool ModifierType::operator==(Type const& _other) const
|
|||||||
return false;
|
return false;
|
||||||
auto typeCompare = [](TypePointer const& _a, TypePointer const& _b) -> bool { return *_a == *_b; };
|
auto typeCompare = [](TypePointer const& _a, TypePointer const& _b) -> bool { return *_a == *_b; };
|
||||||
|
|
||||||
if (!equal(m_parameterTypes.cbegin(), m_parameterTypes.cend(),
|
if (!equal(
|
||||||
other.m_parameterTypes.cbegin(), typeCompare))
|
m_parameterTypes.cbegin(),
|
||||||
|
m_parameterTypes.cend(),
|
||||||
|
other.m_parameterTypes.cbegin(),
|
||||||
|
typeCompare
|
||||||
|
))
|
||||||
return false;
|
return false;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -934,8 +934,11 @@ void ArrayUtils::clearStorageLoop(TypePointer const& _type) const
|
|||||||
eth::AssemblyItem loopStart = _context.appendJumpToNew();
|
eth::AssemblyItem loopStart = _context.appendJumpToNew();
|
||||||
_context << loopStart;
|
_context << loopStart;
|
||||||
// check for loop condition
|
// check for loop condition
|
||||||
_context << Instruction::DUP1 << Instruction::DUP3
|
_context <<
|
||||||
<< Instruction::GT << Instruction::ISZERO;
|
Instruction::DUP1 <<
|
||||||
|
Instruction::DUP3 <<
|
||||||
|
Instruction::GT <<
|
||||||
|
Instruction::ISZERO;
|
||||||
eth::AssemblyItem zeroLoopEnd = _context.newTag();
|
eth::AssemblyItem zeroLoopEnd = _context.newTag();
|
||||||
_context.appendConditionalJumpTo(zeroLoopEnd);
|
_context.appendConditionalJumpTo(zeroLoopEnd);
|
||||||
// delete
|
// delete
|
||||||
|
@ -129,8 +129,10 @@ void CompilerContext::appendMissingLowLevelFunctions()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CompilerContext::addVariable(VariableDeclaration const& _declaration,
|
void CompilerContext::addVariable(
|
||||||
unsigned _offsetToCurrent)
|
VariableDeclaration const& _declaration,
|
||||||
|
unsigned _offsetToCurrent
|
||||||
|
)
|
||||||
{
|
{
|
||||||
solAssert(m_asm->deposit() >= 0 && unsigned(m_asm->deposit()) >= _offsetToCurrent, "");
|
solAssert(m_asm->deposit() >= 0 && unsigned(m_asm->deposit()) >= _offsetToCurrent, "");
|
||||||
unsigned sizeOnStack = _declaration.annotation().type->sizeOnStack();
|
unsigned sizeOnStack = _declaration.annotation().type->sizeOnStack();
|
||||||
|
@ -1310,8 +1310,10 @@ bool ExpressionCompiler::visit(MemberAccess const& _memberAccess)
|
|||||||
utils().leftShiftNumberOnStack(224);
|
utils().leftShiftNumberOnStack(224);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
solAssert(!!_memberAccess.expression().annotation().type->memberType(member),
|
solAssert(
|
||||||
"Invalid member access to function.");
|
!!_memberAccess.expression().annotation().type->memberType(member),
|
||||||
|
"Invalid member access to function."
|
||||||
|
);
|
||||||
break;
|
break;
|
||||||
case Type::Category::Magic:
|
case Type::Category::Magic:
|
||||||
// we can ignore the kind of magic and only look at the name of the member
|
// we can ignore the kind of magic and only look at the name of the member
|
||||||
|
@ -593,7 +593,7 @@ at standard output or in files in the output directory, if specified.
|
|||||||
Imports are automatically read from the filesystem, but it is also possible to
|
Imports are automatically read from the filesystem, but it is also possible to
|
||||||
remap paths using the context:prefix=path syntax.
|
remap paths using the context:prefix=path syntax.
|
||||||
Example:
|
Example:
|
||||||
solc --bin -o /tmp/solcoutput dapp-bin=/usr/local/lib/dapp-bin contract.sol
|
solc --bin -o /tmp/solcoutput dapp-bin=/usr/local/lib/dapp-bin contract.sol
|
||||||
|
|
||||||
Allowed options)",
|
Allowed options)",
|
||||||
po::options_description::m_default_line_length,
|
po::options_description::m_default_line_length,
|
||||||
@ -927,14 +927,18 @@ bool CommandLineInterface::processInput()
|
|||||||
}
|
}
|
||||||
catch (InternalCompilerError const& _exception)
|
catch (InternalCompilerError const& _exception)
|
||||||
{
|
{
|
||||||
serr() << "Internal compiler error during compilation:" << endl
|
serr() <<
|
||||||
<< boost::diagnostic_information(_exception);
|
"Internal compiler error during compilation:" <<
|
||||||
|
endl <<
|
||||||
|
boost::diagnostic_information(_exception);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
catch (UnimplementedFeatureError const& _exception)
|
catch (UnimplementedFeatureError const& _exception)
|
||||||
{
|
{
|
||||||
serr() << "Unimplemented feature:" << endl
|
serr() <<
|
||||||
<< boost::diagnostic_information(_exception);
|
"Unimplemented feature:" <<
|
||||||
|
endl <<
|
||||||
|
boost::diagnostic_information(_exception);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
catch (Error const& _error)
|
catch (Error const& _error)
|
||||||
|
Loading…
Reference in New Issue
Block a user