From 7c15c3e1e90ec604ff73d86d0bf2e80b127a3050 Mon Sep 17 00:00:00 2001 From: ctw Date: Wed, 1 Jun 2022 19:43:53 +0800 Subject: [PATCH] Fix duplicate method name of class Fix the bug when methods of class have duplicate name Signed-off-by: ctw Change-Id: I8151e51a1e5ca4465783dcaed843ba039a3d9f75 --- ts2panda/src/statement/classStatement.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/ts2panda/src/statement/classStatement.ts b/ts2panda/src/statement/classStatement.ts index ed9498afbf..5ae50ace24 100644 --- a/ts2panda/src/statement/classStatement.ts +++ b/ts2panda/src/statement/classStatement.ts @@ -785,8 +785,20 @@ function checkAndUpdateProperty(namedPropertyMap: Map, name: s prop!.setSetter(valueNode); } } else { - if (!scalarArrayEquals(prop!.getValue(), valueNode)) { - return false; + if (prop!.getKind() == PropertyKind.Accessor) { + if (prop!.getGetter()) { + if (!scalarArrayEquals(prop!.getGetter(), valueNode)) { + return false; + } + } else { // prop is setter + if (!scalarArrayEquals(prop!.getSetter(), valueNode)) { + return false; + } + } + } else { + if (!scalarArrayEquals(prop!.getValue(), valueNode)) { + return false; + } } prop!.setValue(valueNode); prop!.setKind(propKind); -- Gitee