File tree Expand file tree Collapse file tree 1 file changed +14
-8
lines changed Expand file tree Collapse file tree 1 file changed +14
-8
lines changed Original file line number Diff line number Diff line change @@ -11,6 +11,8 @@ const NativeIntArg = nativeArgs.NativeIntArg;
11
11
const NativeNumArg = nativeArgs . NativeNumArg ;
12
12
const NativeStrArg = nativeArgs . NativeStrArg ;
13
13
14
+ const reprs = require ( './reprs.js' ) ;
15
+
14
16
class MultiCache {
15
17
constructor ( ) {
16
18
this . cache = [ ] ;
@@ -34,16 +36,20 @@ function posTypes(ctx, capture) {
34
36
35
37
/* TODO - think if having flags wouldn't be faster/cleaner then weird objects */
36
38
if ( obj . $$isrwcont ( ) ) {
37
- if ( deconted . typeObject_ ) {
38
- if ( deconted . _STable . typeObjectCachedAsRW === undefined ) {
39
- deconted . _STable . typeObjectCachedAsRW = { } ;
40
- }
41
- types [ i ] = deconted . _STable . typeObjectCachedAsRW ;
39
+ if ( obj . _STable . REPR instanceof reprs . NativeRef ) {
40
+ types [ i ] = obj . _STable ;
42
41
} else {
43
- if ( deconted . _STable . cachedAsRW === undefined ) {
44
- deconted . _STable . cachedAsRW = { } ;
42
+ if ( deconted . typeObject_ ) {
43
+ if ( deconted . _STable . typeObjectCachedAsRW === undefined ) {
44
+ deconted . _STable . typeObjectCachedAsRW = { } ;
45
+ }
46
+ types [ i ] = deconted . _STable . typeObjectCachedAsRW ;
47
+ } else {
48
+ if ( deconted . _STable . cachedAsRW === undefined ) {
49
+ deconted . _STable . cachedAsRW = { } ;
50
+ }
51
+ types [ i ] = deconted . _STable . cachedAsRW ;
45
52
}
46
- types [ i ] = deconted . _STable . cachedAsRW ;
47
53
}
48
54
} else {
49
55
types [ i ] = deconted . typeObject_ ? deconted : deconted . _STable ;
You can’t perform that action at this time.
0 commit comments