diff options
-rw-r--r-- | AST.h | 2 | ||||
-rw-r--r-- | Types.cpp | 6 | ||||
-rw-r--r-- | grammar.txt | 2 |
3 files changed, 5 insertions, 5 deletions
@@ -763,7 +763,7 @@ public: std::vector<ASTPointer<Expression const>> getArguments() const { return {m_arguments.begin(), m_arguments.end()}; } /// Returns the referenced contract. Can only be called after type checking. - ContractDefinition const* getContract() const { return m_contract; } + ContractDefinition const* getContract() const { if (asserts(m_contract)) BOOST_THROW_EXCEPTION(InternalCompilerError()); else return m_contract; } private: ASTPointer<Identifier> m_contractName; @@ -314,9 +314,9 @@ shared_ptr<FunctionType const> const& ContractType::getConstructorType() const { if (!m_constructorType) { - FunctionDefinition const* constr = m_contract.getConstructor(); - if (constr) - m_constructorType = make_shared<FunctionType const>(*constr); + FunctionDefinition const* constructor = m_contract.getConstructor(); + if (constructor) + m_constructorType = make_shared<FunctionType const>(*constructor); else m_constructorType = make_shared<FunctionType const>(TypePointers(), TypePointers()); } diff --git a/grammar.txt b/grammar.txt index 793e9188..a26f717a 100644 --- a/grammar.txt +++ b/grammar.txt @@ -29,7 +29,7 @@ Expression = Assignment | UnaryOperation | BinaryOperation | FunctionCall | NewE MemberAccess | PrimaryExpression // The expression syntax is actually much more complicated Assignment = Expression (AssignmentOp Expression) -FunctionCall = Expression '(' ( Expression ( ',' Expression )* ) ')' +FunctionCall = Expression '(' Expression ( ',' Expression )* ')' NewExpression = 'new' Identifier '(' ( Expression ( ',' Expression )* ) ')' MemberAccess = Expression '.' Identifier IndexAccess = Expression '[' Expresison ']' |