@@ -143,7 +143,9 @@ object SymOps:
143
143
import reflect ._
144
144
sym.flags.is(Flags .Artifact )
145
145
146
- def isLeftAssoc : Boolean = ! sym.name.endsWith(" :" )
146
+ def isRightAssoc : Boolean = sym.name.endsWith(" :" )
147
+
148
+ def isLeftAssoc : Boolean = ! sym.isRightAssoc
147
149
148
150
def extendedSymbol : Option [reflect.ValDef ] =
149
151
import reflect .*
@@ -172,41 +174,36 @@ object SymOps:
172
174
)
173
175
case _ => Nil -> Nil
174
176
177
+ def extendedParamLists : List [reflect.ParamClause ] = sym.splitExtensionParamList._1
178
+
179
+ def extendedTypeParamLists : List [reflect.TypeParamClause ] =
180
+ sym.extendedParamLists.collect {
181
+ case typeClause : reflect.TypeParamClause => typeClause
182
+ }
183
+
175
184
def extendedTypeParams : List [reflect.TypeDef ] =
176
- import reflect .*
177
- sym.tree match
178
- case tree : DefDef =>
179
- tree.leadingTypeParams
180
- case _ => Nil
185
+ sym.extendedTypeParamLists.headOption.map(_.params).getOrElse(List ())
181
186
182
187
def extendedTermParamLists : List [reflect.TermParamClause ] =
183
- import reflect .*
184
- sym.splitExtensionParamList._1.collect {
185
- case tpc : TermParamClause => tpc
188
+ sym.extendedParamLists.collect {
189
+ case tpc : reflect.TermParamClause => tpc
186
190
}
187
191
188
- def nonExtensionTermParamLists : List [reflect.TermParamClause ] =
189
- import reflect .*
190
- if sym.nonExtensionLeadingTypeParams.nonEmpty then
191
- sym.nonExtensionParamLists.dropWhile {
192
- case _ : TypeParamClause => false
193
- case _ => true
194
- }.drop(1 ).collect {
195
- case tpc : TermParamClause => tpc
196
- }
197
- else
198
- sym.nonExtensionParamLists.collect {
199
- case tpc : TermParamClause => tpc
200
- }
201
-
202
192
def nonExtensionParamLists : List [reflect.ParamClause ] =
203
193
sym.splitExtensionParamList._2
204
194
195
+ def nonExtensionTermParamLists : List [reflect.TermParamClause ] =
196
+ sym.nonExtensionParamLists.collect {
197
+ case tpc : reflect.TermParamClause => tpc
198
+ }
199
+
200
+ def nonExtensionTypeParamLists : List [reflect.TypeParamClause ] =
201
+ sym.nonExtensionParamLists.collect {
202
+ case typeClause : reflect.TypeParamClause => typeClause
203
+ }
204
+
205
205
def nonExtensionLeadingTypeParams : List [reflect.TypeDef ] =
206
- import reflect .*
207
- sym.nonExtensionParamLists.collectFirst {
208
- case TypeParamClause (params) => params
209
- }.toList.flatten
206
+ sym.nonExtensionTypeParamLists.headOption.map(_.params).getOrElse(List ())
210
207
211
208
end extension
212
209
0 commit comments