visitClassDecl method

  1. @override
void visitClassDecl(
  1. ClassDecl node
)
override

Implementation

@override
void visitClassDecl(ClassDecl node) {
  for (final param in node.genericTypeParameters) {
    visitGenericTypeParamExpr(param);
  }
  node.superType?.accept(this);
  for (final implementsType in node.implementsTypes) {
    visitNominalTypeExpr(implementsType);
  }
  for (final withType in node.withTypes) {
    visitNominalTypeExpr(withType);
  }
  // final decl = HTClassDeclaration(
  //     id: node.id.id,
  //     classId: node.classId,
  //     closure: _curNamespace,
  //     source: _curSource,
  //     genericTypeParameters: node.genericTypeParameters
  //         .map((param) => HTGenericTypeParameter(param.id.id))
  //         .toList(),
  //     superType: HTType.fromAst(node.superType),
  //     implementsTypes:
  //         node.implementsTypes.map((param) => HTType.fromAst(param)),
  //     withTypes: node.withTypes.map((param) => HTType.fromAst(param)),
  //     isExternal: node.isExternal,
  //     isAbstract: node.isAbstract,
  //     isTopLevel: node.isTopLevel,
  //     isExported: node.isExported);
  // final savedCurNamespace = _curNamespace;
  // node.declaration = decl;
  // _curNamespace = decl.namespace;
  // visitBlockStmt(node.definition);
  // _curNamespace = savedCurNamespace;
  // _curNamespace.define(node.id.id, decl);
}