Skip to content

Commit b3326bf

Browse files
committed
detect all markers
Signed-off-by: sivchari <[email protected]>
1 parent 57e7fda commit b3326bf

File tree

9 files changed

+81
-1
lines changed

9 files changed

+81
-1
lines changed

pkg/analysis/ssatags/analyzer.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ func (a *analyzer) checkField(pass *analysis.Pass, field *ast.Field, markersAcce
7878
return
7979
}
8080

81-
fieldMarkers := markersAccess.FieldMarkers(field)
81+
fieldMarkers := utils.TypeAwareMarkerCollectionForField(pass, markersAccess, field)
8282
if fieldMarkers == nil {
8383
return
8484
}

pkg/analysis/ssatags/testdata/src/a/a.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package a
22

3+
import (
4+
"a/aa"
5+
)
6+
37
type TestObject struct {
48
Name string `json:"name"`
59
ID int `json:"id"`
@@ -22,11 +26,23 @@ type StringArrayAlias = []string
2226
type ByteArray []byte
2327
type ByteArrayAlias = []byte
2428

29+
// +listType=atomic
30+
type StringArrayAtomic StringArray
31+
2532
type SSATagsTestSpec struct {
2633
// Valid atomic list - should pass
2734
// +listType=atomic
2835
AtomicStringList []string `json:"atomicStringList,omitempty"`
2936

37+
// Valid atomic object list - should pass
38+
StringArrayAtomic StringArrayAtomic `json:"stringArrayAtomic,omitempty"`
39+
40+
// Valid atomic object list from another file - should pass
41+
OtherFileStringArrayAtomic OtherFileStringArrayAtomic `json:"otherFileStringArrayAtomic,omitempty"`
42+
43+
// Valid atomic object list from another package - should pass
44+
OtherPackageStringArrayAtomic aa.OtherPackageStringArrayAtomic `json:"otherPackageStringArrayAtomic,omitempty"`
45+
3046
// Valid atomic object list - should pass
3147
// +listType=atomic
3248
AtomicObjectList []TestObject `json:"atomicObjectList,omitempty"`

pkg/analysis/ssatags/testdata/src/a/a.go.golden

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package a
22

3+
import (
4+
"a/aa"
5+
)
6+
37
type TestObject struct {
48
Name string `json:"name"`
59
ID int `json:"id"`
@@ -22,11 +26,23 @@ type StringArrayAlias = []string
2226
type ByteArray []byte
2327
type ByteArrayAlias = []byte
2428

29+
// +listType=atomic
30+
type StringArrayAtomic StringArray
31+
2532
type SSATagsTestSpec struct {
2633
// Valid atomic list - should pass
2734
// +listType=atomic
2835
AtomicStringList []string `json:"atomicStringList,omitempty"`
2936

37+
// Valid atomic object list - should pass
38+
StringArrayAtomic StringArrayAtomic `json:"stringArrayAtomic,omitempty"`
39+
40+
// Valid atomic object list from another file - should pass
41+
OtherFileStringArrayAtomic OtherFileStringArrayAtomic `json:"otherFileStringArrayAtomic,omitempty"`
42+
43+
// Valid atomic object list from another package - should pass
44+
OtherPackageStringArrayAtomic aa.OtherPackageStringArrayAtomic `json:"otherPackageStringArrayAtomic,omitempty"`
45+
3046
// Valid atomic object list - should pass
3147
// +listType=atomic
3248
AtomicObjectList []TestObject `json:"atomicObjectList,omitempty"`
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package a
2+
3+
// +listType=atomic
4+
type OtherFileStringArrayAtomic []string
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package aa
2+
3+
// +listType=atomic
4+
type OtherPackageStringArrayAtomic []string

pkg/analysis/ssatags/testdata/src/b/b.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package b
22

3+
import (
4+
"b/bb"
5+
)
6+
37
type TestObject struct {
48
Name string `json:"name"`
59
ID int `json:"id"`
@@ -22,11 +26,23 @@ type StringArrayAlias = []string
2226
type ByteArray []byte
2327
type ByteArrayAlias = []byte
2428

29+
// +listType=atomic
30+
type StringArrayAtomic StringArray
31+
2532
type SSATagsTestSpec struct {
2633
// Valid atomic list - should pass
2734
// +listType=atomic
2835
AtomicStringList []string `json:"atomicStringList,omitempty"`
2936

37+
// Valid atomic object list - should pass
38+
StringArrayAtomic StringArrayAtomic `json:"stringArrayAtomic,omitempty"`
39+
40+
// Valid atomic object list from another file - should pass
41+
OtherFileStringArrayAtomic OtherFileStringArrayAtomic `json:"otherFileStringArrayAtomic,omitempty"`
42+
43+
// Valid atomic object list from another package - should pass
44+
OtherPackageStringArrayAtomic bb.OtherPackageStringArrayAtomic `json:"otherPackageStringArrayAtomic,omitempty"`
45+
3046
// Valid atomic object list - should pass
3147
// +listType=atomic
3248
AtomicObjectList []TestObject `json:"atomicObjectList,omitempty"`

pkg/analysis/ssatags/testdata/src/b/b.go.golden

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package b
22

3+
import (
4+
"b/bb"
5+
)
6+
37
type TestObject struct {
48
Name string `json:"name"`
59
ID int `json:"id"`
@@ -22,11 +26,23 @@ type StringArrayAlias = []string
2226
type ByteArray []byte
2327
type ByteArrayAlias = []byte
2428

29+
// +listType=atomic
30+
type StringArrayAtomic StringArray
31+
2532
type SSATagsTestSpec struct {
2633
// Valid atomic list - should pass
2734
// +listType=atomic
2835
AtomicStringList []string `json:"atomicStringList,omitempty"`
2936

37+
// Valid atomic object list - should pass
38+
StringArrayAtomic StringArrayAtomic `json:"stringArrayAtomic,omitempty"`
39+
40+
// Valid atomic object list from another file - should pass
41+
OtherFileStringArrayAtomic OtherFileStringArrayAtomic `json:"otherFileStringArrayAtomic,omitempty"`
42+
43+
// Valid atomic object list from another package - should pass
44+
OtherPackageStringArrayAtomic bb.OtherPackageStringArrayAtomic `json:"otherPackageStringArrayAtomic,omitempty"`
45+
3046
// Valid atomic object list - should pass
3147
// +listType=atomic
3248
AtomicObjectList []TestObject `json:"atomicObjectList,omitempty"`
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package b
2+
3+
// +listType=atomic
4+
type OtherFileStringArrayAtomic []string
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package bb
2+
3+
// +listType=atomic
4+
type OtherPackageStringArrayAtomic []string

0 commit comments

Comments
 (0)