stack-checker.dependencies: changes the names of the dependency constants

Now named using the +blah+ convention which we're using elsewhere for
symbolic constants.
char-rename
Björn Lindqvist 2016-11-26 15:44:09 +01:00
parent 99653bab91
commit 14e8688112
3 changed files with 26 additions and 31 deletions

View File

@ -14,39 +14,39 @@ IN: compiler.crossref.tests
{
10
H{
{ 20 definition-dependency }
{ 30 conditional-dependency }
{ 40 effect-dependency }
{ 20 +definition+ }
{ 30 +conditional+ }
{ 40 +effect+ }
}
}
} clone ;
! dependencies-of
{
H{ { 20 definition-dependency } }
H{ { 20 +definition+ } }
} [
setup-crossref compiled-crossref [
10 definition-dependency dependencies-of
10 +definition+ dependencies-of
] with-variable
] unit-test
{
H{ { 20 definition-dependency } { 30 conditional-dependency } }
H{ { 20 +definition+ } { 30 +conditional+ } }
} [
setup-crossref compiled-crossref [
10 conditional-dependency dependencies-of
10 +conditional+ dependencies-of
] with-variable
] unit-test
! join-dependencies
{
H{
{ 1 effect-dependency }
{ 2 effect-dependency }
{ 3 conditional-dependency }
{ 4 conditional-dependency }
{ 5 definition-dependency }
{ 6 definition-dependency }
{ 1 +effect+ }
{ 2 +effect+ }
{ 3 +conditional+ }
{ 4 +conditional+ }
{ 5 +definition+ }
{ 6 +definition+ }
}
} [
{ 1 2 } { 3 4 } { 5 6 } join-dependencies

View File

@ -19,7 +19,7 @@ generic-call-site-crossref [ H{ } clone ] initialize
[ all-dependencies-of ] dip '[ nip _ dependency>= ] assoc-filter ;
: outdated-definition-usages ( set -- assocs )
members [ word? ] filter [ definition-dependency dependencies-of ] map ;
members [ word? ] filter [ +definition+ dependencies-of ] map ;
: outdated-effect-usages ( set -- assocs )
members [ word? ] filter [ all-dependencies-of ] map ;
@ -30,7 +30,7 @@ generic-call-site-crossref [ H{ } clone ] initialize
: outdated-conditional-usages ( set -- assocs )
members H{ } clone '[
conditional-dependency dependencies-of
+conditional+ dependencies-of
[ drop _ dependencies-satisfied? ] assoc-reject
] map ;
@ -44,8 +44,8 @@ generic-call-site-crossref [ H{ } clone ] initialize
concat f like "generic-call-sites" set-word-prop ;
: split-dependencies ( assoc -- effect-deps cond-deps def-deps )
[ nip effect-dependency eq? ] assoc-partition
[ nip conditional-dependency eq? ] assoc-partition ;
[ nip +effect+ eq? ] assoc-partition
[ nip +conditional+ eq? ] assoc-partition ;
: (store-dependencies) ( word assoc prop -- )
[ keys f like ] dip set-word-prop ;
@ -79,9 +79,9 @@ generic-call-site-crossref [ H{ } clone ] initialize
: join-dependencies ( effect-deps cond-deps def-deps -- assoc )
H{ } clone [
[ effect-dependency set-at-each ]
[ conditional-dependency set-at-each ]
[ definition-dependency set-at-each ] tri-curry tri*
[ +effect+ set-at-each ]
[ +conditional+ set-at-each ]
[ +definition+ set-at-each ] tri-curry tri*
] keep ;
: load-dependencies ( word -- assoc )

View File

@ -6,23 +6,18 @@ generic kernel math namespaces sequences sets words ;
FROM: classes.tuple.private => tuple-layout ;
IN: stack-checker.dependencies
! Words that the current quotation depends on
SYMBOL: dependencies
SYMBOLS: effect-dependency conditional-dependency definition-dependency ;
SYMBOLS: +effect+ +conditional+ +definition+ ;
: index>= ( obj1 obj2 seq -- ? )
[ index ] curry bi@ >= ;
: dependency>= ( how1 how2 -- ? )
{
effect-dependency
conditional-dependency
definition-dependency
} index>= ;
{ +effect+ +conditional+ +definition+ } index>= ;
: strongest-dependency ( how1 how2 -- how )
[ effect-dependency or ] bi@ [ dependency>= ] most ;
[ +effect+ or ] bi@ [ dependency>= ] most ;
: depends-on ( word how -- )
over primitive? [ 2drop ] [
@ -32,13 +27,13 @@ SYMBOLS: effect-dependency conditional-dependency definition-dependency ;
] if ;
: add-depends-on-effect ( word -- )
effect-dependency depends-on ;
+effect+ depends-on ;
: add-depends-on-conditionally ( word -- )
conditional-dependency depends-on ;
+conditional+ depends-on ;
: add-depends-on-definition ( word -- )
definition-dependency depends-on ;
+definition+ depends-on ;
GENERIC: add-depends-on-c-type ( c-type -- )