pxt-core 13.2.1 → 13.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +1 -1
  2. package/built/pxt.js +646 -137
  3. package/built/pxtcompiler.d.ts +19 -1
  4. package/built/pxtcompiler.js +519 -64
  5. package/built/pxtlib.d.ts +1 -1
  6. package/built/pxtlib.js +127 -73
  7. package/built/react-common/components/controls/DropdownModal.d.ts +6 -0
  8. package/built/react-common/components/controls/Input.d.ts +1 -1
  9. package/built/target.js +1 -1
  10. package/built/targetlight.js +1 -1
  11. package/built/tests/thumb-test/asmchecks.d.ts +73 -0
  12. package/built/tests/thumb-test/thumbrunner.d.ts +3 -0
  13. package/built/web/main.js +30 -30
  14. package/built/web/pxtapp.js +1 -1
  15. package/built/web/pxtasseteditor.js +20 -20
  16. package/built/web/pxtcompiler.js +1 -1
  17. package/built/web/pxtembed.js +4 -4
  18. package/built/web/pxtlib.js +1 -1
  19. package/built/web/pxtworker.js +1 -1
  20. package/built/web/react-common-authcode.css +1 -1
  21. package/built/web/react-common-multiplayer.css +1 -1
  22. package/built/web/react-common-skillmap.css +1 -1
  23. package/built/web/rtlreact-common-authcode.css +1 -1
  24. package/built/web/rtlreact-common-multiplayer.css +1 -1
  25. package/built/web/rtlreact-common-skillmap.css +1 -1
  26. package/built/web/rtlsemantic.css +2 -2
  27. package/built/web/runnerembed.js +5 -5
  28. package/built/web/semantic.css +2 -2
  29. package/common-docs/blocks-embed.md +2 -2
  30. package/common-docs/github/commit.md +1 -1
  31. package/common-docs/github/private-assignments.md +1 -1
  32. package/common-docs/github/test-extension.md +1 -1
  33. package/common-docs/online-learning.md +2 -2
  34. package/common-docs/reference/arrays/pick-random.md +1 -1
  35. package/common-docs/reference/text/char-code-at.md +1 -1
  36. package/common-docs/share.md +2 -2
  37. package/common-docs/types/function/define.md +1 -1
  38. package/localtypings/pxtarget.d.ts +3 -1
  39. package/package.json +3 -2
  40. package/react-common/components/controls/DropdownModal.tsx +66 -0
  41. package/react-common/components/controls/Input.tsx +1 -1
  42. package/react-common/styles/controls/DropdownModal.less +17 -0
  43. package/react-common/styles/react-common.less +1 -0
  44. package/react-common/styles/theming/ThemePickerModal.less +5 -0
  45. package/theme/monaco.less +2 -0
  46. package/theme/music-editor/gallery.less +10 -1
  47. package/theme/piano-roll/piano-roll.less +33 -2
  48. package/theme/pxtjson.less +0 -12
@@ -120,12 +120,17 @@ declare namespace ts.pxtc {
120
120
  private bitSizeInfo;
121
121
  private emitExpr;
122
122
  private emitFieldAccess;
123
+ private checkedFieldAccessCountKey;
124
+ private shouldSpecializeCheckedFieldLoad;
125
+ private emitCheckedFieldLoad;
123
126
  private writeFailBranch;
124
127
  private emitClassCall;
125
128
  private helperObject;
126
129
  private emitBindHelper;
127
130
  private ifaceCallCore;
128
131
  private emitIfaceCall;
132
+ private ifaceCallCountKey;
133
+ private shouldSpecializeIfaceCall;
129
134
  private checkSubtype;
130
135
  private loadVTable;
131
136
  private emitInstanceOf;
@@ -134,17 +139,24 @@ declare namespace ts.pxtc {
134
139
  private builtInClassNo;
135
140
  private emitBeginTry;
136
141
  private emitRtCall;
142
+ private mapSetByFieldId;
143
+ private shouldSpecializeMapSetByFieldId;
144
+ private emitMapSetByFieldIdCall;
137
145
  private alignedCall;
146
+ private ensureLabelledHelper;
138
147
  private emitLabelledHelper;
148
+ private helperLabel;
139
149
  private emitHelper;
140
150
  private pushToExprStack;
141
151
  private pushArg;
142
152
  private loadFromExprStack;
143
153
  private pushDummy;
144
154
  private alignExprStack;
145
- private emitFieldMethods;
155
+ private emitFieldMethod;
156
+ private emitStringMapSetMethod;
146
157
  private emitArrayMethod;
147
158
  private emitArrayMethods;
159
+ private emitFieldMethods;
148
160
  private emitLambdaTrampoline;
149
161
  private emitProcCall;
150
162
  private lambdaCall;
@@ -505,6 +517,7 @@ declare namespace ts.pxtc.ir {
505
517
  classInfo: ClassInfo;
506
518
  perfCounterName: string;
507
519
  perfCounterNo: number;
520
+ useExactIfaceWrapper: boolean;
508
521
  body: Stmt[];
509
522
  lblNo: number;
510
523
  action: ts.FunctionLikeDeclaration;
@@ -727,6 +740,11 @@ declare namespace ts.pxtc {
727
740
  explicitlyUsedIfaceMembers: pxt.Map<boolean>;
728
741
  ifaceMemberMap: pxt.Map<number>;
729
742
  ifaceMembers: string[];
743
+ ifaceCallCounts: pxt.Map<number>;
744
+ mapSetByFieldIdCounts: pxt.Map<number>;
745
+ checkedFieldAccessCounts: pxt.Map<number>;
746
+ dynamicIfaceCalls: pxt.Map<boolean>;
747
+ usesMapSetByStringOnly: boolean;
730
748
  strings: pxt.Map<string>;
731
749
  hexlits: pxt.Map<string>;
732
750
  doubles: pxt.Map<string>;