From 2e9b844d6587678cf6fe42eed533963177c88c3f Mon Sep 17 00:00:00 2001 From: Daniel Kirchner Date: Sun, 25 Jun 2023 08:48:48 +0200 Subject: [PATCH] tmp --- libsolidity/analysis/experimental/TypeInference.h | 7 +------ libsolidity/ast/experimental/TypeSystemHelper.cpp | 4 ++-- libsolidity/parsing/Parser.cpp | 2 +- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/libsolidity/analysis/experimental/TypeInference.h b/libsolidity/analysis/experimental/TypeInference.h index b4024a005..3cdd59319 100644 --- a/libsolidity/analysis/experimental/TypeInference.h +++ b/libsolidity/analysis/experimental/TypeInference.h @@ -104,12 +104,7 @@ private: GlobalAnnotation& annotation(); void unify(Type _a, Type _b, langutil::SourceLocation _location = {}, TypeEnvironment* _env = nullptr); - enum class ExpressionContext - { - Term, - Type, - Sort - }; + enum class ExpressionContext { Term, Type, Sort }; Type handleIdentifierByReferencedDeclaration(langutil::SourceLocation _location, Declaration const& _declaration); ExpressionContext m_expressionContext = ExpressionContext::Term; }; diff --git a/libsolidity/ast/experimental/TypeSystemHelper.cpp b/libsolidity/ast/experimental/TypeSystemHelper.cpp index aa4a1c5e5..c81950f63 100644 --- a/libsolidity/ast/experimental/TypeSystemHelper.cpp +++ b/libsolidity/ast/experimental/TypeSystemHelper.cpp @@ -289,15 +289,14 @@ std::string TypeEnvironmentHelpers::canonicalTypeName(Type _type) const }; std::visit(util::GenericVisitor{ [&](Declaration const* _declaration) { - printTypeArguments(); if (auto const* typeDeclarationAnnotation = dynamic_cast(&_declaration->annotation())) stream << *typeDeclarationAnnotation->canonicalName; else // TODO: canonical name stream << _declaration->name(); + printTypeArguments(); }, [&](BuiltinType _builtinType) { - printTypeArguments(); switch(_builtinType) { case BuiltinType::Type: @@ -331,6 +330,7 @@ std::string TypeEnvironmentHelpers::canonicalTypeName(Type _type) const stream << "integer"; break; } + printTypeArguments(); } }, _type.constructor); return stream.str(); diff --git a/libsolidity/parsing/Parser.cpp b/libsolidity/parsing/Parser.cpp index cec679b92..d475f2c65 100644 --- a/libsolidity/parsing/Parser.cpp +++ b/libsolidity/parsing/Parser.cpp @@ -1822,12 +1822,12 @@ ASTPointer Parser::parseTypeClassInstantiation() expectToken(Token::Instantiation); // TODO: parseTypeConstructor() ASTPointer typeConstructor = parseTypeName(); - expectToken(Token::Colon); ASTPointer argumentSorts; if (m_scanner->currentToken() == Token::LParen) { argumentSorts = parseParameterList(); } + expectToken(Token::Colon); ASTPointer typeClassName = parseTypeClassName(); expectToken(Token::LBrace); while (true)