@@ -12,13 +12,13 @@ function MultiCache() {
12
12
}
13
13
}
14
14
15
- function posTypes ( capture ) {
15
+ function posTypes ( ctx , capture ) {
16
16
var arity = capture . pos . length ;
17
17
var types = new Array ( arity ) ;
18
18
for ( var i = 0 ; i < arity ; i ++ ) {
19
19
var obj = capture . pos [ i ] ;
20
20
if ( obj . _STable ) {
21
- types [ i ] = obj . _STable ;
21
+ types [ i ] = obj . $$decont ( ctx ) . _STable ;
22
22
} else if ( obj instanceof NQPInt ) {
23
23
types [ i ] = 1 ;
24
24
} else if ( typeof obj == 'number' ) {
@@ -32,7 +32,7 @@ function posTypes(capture) {
32
32
33
33
var op = { } ;
34
34
35
- op . multicachefind = function ( cache , capture ) {
35
+ op . multicachefind = function ( ctx , cache , capture ) {
36
36
if ( cache === Null ) return Null ;
37
37
var arity = capture . pos . length ;
38
38
var hasNamed = capture . named ? true : false ;
@@ -47,7 +47,7 @@ op.multicachefind = function(cache, capture) {
47
47
48
48
if ( arity > MAX_ARITY ) return Null ;
49
49
50
- var types = posTypes ( capture ) ;
50
+ var types = posTypes ( ctx , capture ) ;
51
51
52
52
var arityCache = cache . cache [ arity - 1 ] ;
53
53
@@ -62,7 +62,7 @@ op.multicachefind = function(cache, capture) {
62
62
return Null ;
63
63
} ;
64
64
65
- op . multicacheadd = function ( cache , capture , result ) {
65
+ op . multicacheadd = function ( ctx , cache , capture , result ) {
66
66
var c = cache === Null ? new MultiCache ( ) : cache ;
67
67
var arity = capture . pos . length ;
68
68
var hasNamed = capture . named ? true : false ;
@@ -78,7 +78,7 @@ op.multicacheadd = function(cache, capture, result) {
78
78
return c ;
79
79
}
80
80
81
- c . cache [ arity - 1 ] . push ( { types : posTypes ( capture ) , hasNamed : hasNamed , result : result } ) ;
81
+ c . cache [ arity - 1 ] . push ( { types : posTypes ( ctx , capture ) , hasNamed : hasNamed , result : result } ) ;
82
82
return c ;
83
83
} ;
84
84
0 commit comments