@@ -32,7 +32,6 @@ package builder
32
32
import (
33
33
"arduino.cc/builder/constants"
34
34
"arduino.cc/builder/types"
35
- "arduino.cc/builder/utils"
36
35
"strings"
37
36
)
38
37
@@ -41,10 +40,7 @@ type CTagsToPrototypes struct{}
41
40
func (s * CTagsToPrototypes ) Run (context map [string ]interface {}) error {
42
41
tags := context [constants .CTX_COLLECTED_CTAGS ].([]* CTag )
43
42
44
- lineWhereToInsertPrototypes , err := findLineWhereToInsertPrototypes (tags )
45
- if err != nil {
46
- return utils .WrapError (err )
47
- }
43
+ lineWhereToInsertPrototypes := findLineWhereToInsertPrototypes (tags )
48
44
if lineWhereToInsertPrototypes != - 1 {
49
45
context [constants .CTX_LINE_WHERE_TO_INSERT_PROTOTYPES ] = lineWhereToInsertPrototypes
50
46
}
@@ -55,36 +51,30 @@ func (s *CTagsToPrototypes) Run(context map[string]interface{}) error {
55
51
return nil
56
52
}
57
53
58
- func findLineWhereToInsertPrototypes (tags []* CTag ) (int , error ) {
59
- firstFunctionLine , err := firstFunctionAtLine (tags )
60
- if err != nil {
61
- return - 1 , utils .WrapError (err )
62
- }
63
- firstFunctionPointerAsArgument , err := firstFunctionPointerUsedAsArgument (tags )
64
- if err != nil {
65
- return - 1 , utils .WrapError (err )
66
- }
54
+ func findLineWhereToInsertPrototypes (tags []* CTag ) int {
55
+ firstFunctionLine := firstFunctionAtLine (tags )
56
+ firstFunctionPointerAsArgument := firstFunctionPointerUsedAsArgument (tags )
67
57
if firstFunctionLine != - 1 && firstFunctionPointerAsArgument != - 1 {
68
58
if firstFunctionLine < firstFunctionPointerAsArgument {
69
- return firstFunctionLine , nil
59
+ return firstFunctionLine
70
60
} else {
71
- return firstFunctionPointerAsArgument , nil
61
+ return firstFunctionPointerAsArgument
72
62
}
73
63
} else if firstFunctionLine == - 1 {
74
- return firstFunctionPointerAsArgument , nil
64
+ return firstFunctionPointerAsArgument
75
65
} else {
76
- return firstFunctionLine , nil
66
+ return firstFunctionLine
77
67
}
78
68
}
79
69
80
- func firstFunctionPointerUsedAsArgument (tags []* CTag ) ( int , error ) {
70
+ func firstFunctionPointerUsedAsArgument (tags []* CTag ) int {
81
71
functionNames := collectFunctionNames (tags )
82
72
for _ , tag := range tags {
83
73
if functionNameUsedAsFunctionPointerIn (tag , functionNames ) {
84
- return tag .Line , nil
74
+ return tag .Line
85
75
}
86
76
}
87
- return - 1 , nil
77
+ return - 1
88
78
}
89
79
90
80
func functionNameUsedAsFunctionPointerIn (tag * CTag , functionNames []string ) bool {
@@ -106,13 +96,13 @@ func collectFunctionNames(tags []*CTag) []string {
106
96
return names
107
97
}
108
98
109
- func firstFunctionAtLine (tags []* CTag ) ( int , error ) {
99
+ func firstFunctionAtLine (tags []* CTag ) int {
110
100
for _ , tag := range tags {
111
101
if ! tagIsUnknown (tag ) && tag .IsHandled () && tag .Kind == KIND_FUNCTION {
112
- return tag .Line , nil
102
+ return tag .Line
113
103
}
114
104
}
115
- return - 1 , nil
105
+ return - 1
116
106
}
117
107
118
108
func toPrototypes (tags []* CTag ) []* types.Prototype {
0 commit comments