Skip to content

Commit 88bf2ef

Browse files
committed
Refactor interfaces names
1 parent 9f06912 commit 88bf2ef

File tree

3 files changed

+20
-35
lines changed

3 files changed

+20
-35
lines changed

internal/sh/builtin/len.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import (
1010

1111
type (
1212
lenFn struct {
13-
arg sh.Enumerable
13+
arg sh.Collection
1414
}
1515
)
1616

@@ -38,11 +38,11 @@ func (l *lenFn) SetArgs(args []sh.Obj) error {
3838
}
3939

4040
obj := args[0]
41-
indexer, err := sh.NewEnumerable(obj)
41+
col, err := sh.NewCollection(obj)
4242
if err != nil {
4343
return errors.NewError("len:error[%s]", err)
4444
}
4545

46-
l.arg = indexer
46+
l.arg = col
4747
return nil
4848
}

internal/sh/shell.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -546,12 +546,12 @@ func (shell *Shell) setvar(name *ast.NameNode, value sh.Obj) error {
546546
return err
547547
}
548548

549-
indexer, err := sh.NewWriteIndexer(obj)
549+
col, err := sh.NewWriteableCollection(obj)
550550
if err != nil {
551551
return errors.NewEvalError(shell.filename, name, err.Error())
552552
}
553553

554-
err = indexer.Set(index, value)
554+
err = col.Set(index, value)
555555
if err != nil {
556556
return errors.NewEvalError(
557557
shell.filename,
@@ -1482,7 +1482,7 @@ func (shell *Shell) evalIndexedVar(indexVar *ast.IndexExpr) (sh.Obj, error) {
14821482
return nil, err
14831483
}
14841484

1485-
indexer, err := sh.NewReadIndexer(v)
1485+
col, err := sh.NewCollection(v)
14861486
if err != nil {
14871487
return nil, errors.NewEvalError(shell.filename, indexVar.Var, err.Error())
14881488
}
@@ -1492,7 +1492,7 @@ func (shell *Shell) evalIndexedVar(indexVar *ast.IndexExpr) (sh.Obj, error) {
14921492
return nil, err
14931493
}
14941494

1495-
val, err := indexer.Get(indexNum)
1495+
val, err := col.Get(indexNum)
14961496
if err != nil {
14971497
return nil, errors.NewEvalError(shell.filename, indexVar.Var, err.Error())
14981498
}
@@ -1505,7 +1505,7 @@ func (shell *Shell) evalArgIndexedVar(indexVar *ast.IndexExpr) ([]sh.Obj, error)
15051505
return nil, err
15061506
}
15071507

1508-
indexer, err := sh.NewReadIndexer(v)
1508+
col, err := sh.NewCollection(v)
15091509
if err != nil {
15101510
return nil, errors.NewEvalError(shell.filename, indexVar.Var, err.Error())
15111511
}
@@ -1515,7 +1515,7 @@ func (shell *Shell) evalArgIndexedVar(indexVar *ast.IndexExpr) ([]sh.Obj, error)
15151515
return nil, err
15161516
}
15171517

1518-
retval, err := indexer.Get(indexNum)
1518+
retval, err := col.Get(indexNum)
15191519
if err != nil {
15201520
return nil, errors.NewEvalError(shell.filename, indexVar.Var, err.Error())
15211521
}
@@ -2196,14 +2196,14 @@ func (shell *Shell) executeFor(n *ast.ForNode) ([]sh.Obj, error) {
21962196
return nil, err
21972197
}
21982198

2199-
indexer, err := sh.NewReadIndexer(obj)
2199+
col, err := sh.NewCollection(obj)
22002200
if err != nil {
22012201
return nil, errors.NewEvalError(shell.filename,
22022202
inExpr, "error[%s] trying to iterate", err)
22032203
}
22042204

2205-
for i := 0; i < indexer.Len(); i++ {
2206-
val, err := indexer.Get(i)
2205+
for i := 0; i < col.Len(); i++ {
2206+
val, err := col.Get(i)
22072207
if err != nil {
22082208
return nil, errors.NewEvalError(shell.filename,
22092209
inExpr, "unexpected error[%s] during iteration", err)

sh/obj.go

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -32,44 +32,29 @@ type (
3232
runes []rune
3333
}
3434

35-
Enumerable interface {
35+
Collection interface {
3636
Len() int
37+
Get(index int) (Obj, error)
3738
}
3839

39-
WriteIndexer interface {
40+
WriteableCollection interface {
4041
Set(index int, val Obj) error
4142
}
42-
43-
ReadIndexer interface {
44-
Enumerable
45-
Get(index int) (Obj, error)
46-
}
4743
)
4844

49-
func NewEnumerable(o Obj) (Enumerable, error) {
50-
sizer, ok := o.(Enumerable)
45+
func NewCollection(o Obj) (Collection, error) {
46+
sizer, ok := o.(Collection)
5147
if !ok {
5248
return nil, fmt.Errorf(
53-
"SizeError: trying to get size from a non enumerable type %s",
49+
"SizeError: trying to get size from type %s which is not a collection",
5450
o.Type(),
5551
)
5652
}
5753
return sizer, nil
5854
}
5955

60-
func NewReadIndexer(o Obj) (ReadIndexer, error) {
61-
indexer, ok := o.(ReadIndexer)
62-
if !ok {
63-
return nil, fmt.Errorf(
64-
"IndexError: trying to use a non read/indexable type %s to read from index",
65-
o.Type(),
66-
)
67-
}
68-
return indexer, nil
69-
}
70-
71-
func NewWriteIndexer(o Obj) (WriteIndexer, error) {
72-
indexer, ok := o.(WriteIndexer)
56+
func NewWriteableCollection(o Obj) (WriteableCollection, error) {
57+
indexer, ok := o.(WriteableCollection)
7358
if !ok {
7459
return nil, fmt.Errorf(
7560
"IndexError: trying to use a non write/indexable type %s to write on index: ",

0 commit comments

Comments
 (0)