diff --git a/pxtcompiler/emitter/decompiler.ts b/pxtcompiler/emitter/decompiler.ts index 1db0f7340b19..b955f7a9b52c 100644 --- a/pxtcompiler/emitter/decompiler.ts +++ b/pxtcompiler/emitter/decompiler.ts @@ -1193,7 +1193,7 @@ ${output}`; return r; } - let value = U.htmlEscape(attributes.blockId || callInfo.qName); + let value = U.htmlEscape(attributes.blockId) || callInfo.qName; const [parent,] = getParent(n); const parentCallInfo: pxtc.CallInfo = parent && pxtInfo(parent).callInfo; diff --git a/pxtlib/service.ts b/pxtlib/service.ts index 2e67d440482f..d630f5fd8f15 100644 --- a/pxtlib/service.ts +++ b/pxtlib/service.ts @@ -592,7 +592,8 @@ namespace ts.pxtc { && s.kind != pxtc.SymbolKind.EnumMember && s.kind != pxtc.SymbolKind.Module && s.kind != pxtc.SymbolKind.Interface - && s.kind != pxtc.SymbolKind.Class) { + && s.kind != pxtc.SymbolKind.Class + && !s.attributes.blockIdentity) { if (!s.attributes.blockId) s.attributes.blockId = s.qName.replace(/\./g, "_") if (s.attributes.block == "true") {