Explorer: Support class extension (#1946)

Support class extension with `extends`
Relates to #1881 

Add support for:
* Class extension with `extends`
* Using base class methods and members
This commit is contained in:
Adrien Leravat
2022-10-21 08:08:07 -07:00
committed by GitHub
parent d76835bed4
commit 7c19ef5be3
14 changed files with 353 additions and 56 deletions
+4
View File
@@ -577,6 +577,10 @@ static auto ResolveNames(Declaration& declaration, StaticScope& enclosing_scope,
StaticScope class_scope;
class_scope.AddParent(&enclosing_scope);
enclosing_scope.MarkDeclared(class_decl.name());
if (class_decl.base_expr().has_value()) {
CARBON_RETURN_IF_ERROR(
ResolveNames(**class_decl.base_expr(), class_scope));
}
if (class_decl.type_params().has_value()) {
CARBON_RETURN_IF_ERROR(
ResolveNames(**class_decl.type_params(), class_scope));