Better handling of case when user-defined accessor becomes auto-generated
parent
d27bbe844c
commit
44815fd981
|
@ -5,7 +5,7 @@ sequences strings vectors words words.symbol quotations io
|
||||||
combinators sorting splitting math.parser effects continuations
|
combinators sorting splitting math.parser effects continuations
|
||||||
io.files vocabs io.encodings.utf8 source-files
|
io.files vocabs io.encodings.utf8 source-files
|
||||||
classes hashtables compiler.errors compiler.units accessors sets
|
classes hashtables compiler.errors compiler.units accessors sets
|
||||||
lexer vocabs.parser ;
|
lexer vocabs.parser slots ;
|
||||||
IN: parser
|
IN: parser
|
||||||
|
|
||||||
: location ( -- loc )
|
: location ( -- loc )
|
||||||
|
@ -223,8 +223,8 @@ print-use-hook [ [ ] ] initialize
|
||||||
swap assoc-diff keys [
|
swap assoc-diff keys [
|
||||||
{
|
{
|
||||||
{ [ dup where dup [ first ] when file get path>> = not ] [ f ] }
|
{ [ dup where dup [ first ] when file get path>> = not ] [ f ] }
|
||||||
{ [ dup "reading" word-prop ] [ f ] }
|
{ [ dup reader-method? ] [ f ] }
|
||||||
{ [ dup "writing" word-prop ] [ f ] }
|
{ [ dup writer-method? ] [ f ] }
|
||||||
[ t ]
|
[ t ]
|
||||||
} cond nip
|
} cond nip
|
||||||
] filter ;
|
] filter ;
|
||||||
|
|
|
@ -10,8 +10,12 @@ TUPLE: slot-spec name offset class initial read-only ;
|
||||||
|
|
||||||
PREDICATE: reader < word "reader" word-prop ;
|
PREDICATE: reader < word "reader" word-prop ;
|
||||||
|
|
||||||
|
PREDICATE: reader-method < method-body "reading" word-prop ;
|
||||||
|
|
||||||
PREDICATE: writer < word "writer" word-prop ;
|
PREDICATE: writer < word "writer" word-prop ;
|
||||||
|
|
||||||
|
PREDICATE: writer-method < method-body "writing" word-prop ;
|
||||||
|
|
||||||
: <slot-spec> ( -- slot-spec )
|
: <slot-spec> ( -- slot-spec )
|
||||||
slot-spec new
|
slot-spec new
|
||||||
object bootstrap-word >>class ;
|
object bootstrap-word >>class ;
|
||||||
|
|
Loading…
Reference in New Issue