正在显示
1 个修改的文件
包含
2 行增加
和
295 行删除
| @@ -18,27 +18,16 @@ | @@ -18,27 +18,16 @@ | ||
| 18 | 18 | ||
| 19 | package io.livekit.lint | 19 | package io.livekit.lint |
| 20 | 20 | ||
| 21 | -import com.android.tools.lint.client.api.UElementHandler | ||
| 22 | import com.android.tools.lint.detector.api.* | 21 | import com.android.tools.lint.detector.api.* |
| 23 | -import com.intellij.psi.JavaElementVisitor | ||
| 24 | import com.intellij.psi.PsiElement | 22 | import com.intellij.psi.PsiElement |
| 25 | -import com.intellij.psi.PsiJavaCodeReferenceElement | ||
| 26 | import com.intellij.psi.PsiMethod | 23 | import com.intellij.psi.PsiMethod |
| 27 | -import org.jetbrains.uast.* | 24 | +import org.jetbrains.uast.UCallableReferenceExpression |
| 25 | +import org.jetbrains.uast.UReferenceExpression | ||
| 28 | import org.jetbrains.uast.kotlin.KotlinUQualifiedReferenceExpression | 26 | import org.jetbrains.uast.kotlin.KotlinUQualifiedReferenceExpression |
| 29 | 27 | ||
| 30 | /** Checks related to DiffUtil computation. */ | 28 | /** Checks related to DiffUtil computation. */ |
| 31 | class FlowDelegateUsageDetector : Detector(), SourceCodeScanner { | 29 | class FlowDelegateUsageDetector : Detector(), SourceCodeScanner { |
| 32 | 30 | ||
| 33 | - override fun visitReference( | ||
| 34 | - context: JavaContext, | ||
| 35 | - visitor: JavaElementVisitor?, | ||
| 36 | - reference: PsiJavaCodeReferenceElement, | ||
| 37 | - referenced: PsiElement | ||
| 38 | - ) { | ||
| 39 | - super.visitReference(context, visitor, reference, referenced) | ||
| 40 | - } | ||
| 41 | - | ||
| 42 | override fun visitReference(context: JavaContext, reference: UReferenceExpression, referenced: PsiElement) { | 31 | override fun visitReference(context: JavaContext, reference: UReferenceExpression, referenced: PsiElement) { |
| 43 | 32 | ||
| 44 | // Check if we're actually trying to access the flow delegate | 33 | // Check if we're actually trying to access the flow delegate |
| @@ -68,290 +57,8 @@ class FlowDelegateUsageDetector : Detector(), SourceCodeScanner { | @@ -68,290 +57,8 @@ class FlowDelegateUsageDetector : Detector(), SourceCodeScanner { | ||
| 68 | override fun getApplicableReferenceNames(): List<String>? = | 57 | override fun getApplicableReferenceNames(): List<String>? = |
| 69 | listOf("flow") | 58 | listOf("flow") |
| 70 | 59 | ||
| 71 | - override fun visitMethodCall(context: JavaContext, node: UCallExpression, method: PsiMethod) { | ||
| 72 | - super.visitMethodCall(context, node, method) | ||
| 73 | - } | ||
| 74 | - | ||
| 75 | - override fun getApplicableUastTypes() = | ||
| 76 | - listOf( | ||
| 77 | - UBinaryExpression::class.java, | ||
| 78 | - UCallExpression::class.java, | ||
| 79 | - UAnnotation::class.java, | ||
| 80 | - UArrayAccessExpression::class.java, | ||
| 81 | - UBinaryExpressionWithType::class.java, | ||
| 82 | - UBlockExpression::class.java, | ||
| 83 | - UBreakExpression::class.java, | ||
| 84 | - UCallableReferenceExpression::class.java, | ||
| 85 | - UCatchClause::class.java, | ||
| 86 | - UClass::class.java, | ||
| 87 | - UClassLiteralExpression::class.java, | ||
| 88 | - UContinueExpression::class.java, | ||
| 89 | - UDeclaration::class.java, | ||
| 90 | - UDoWhileExpression::class.java, | ||
| 91 | - UElement::class.java, | ||
| 92 | - UEnumConstant::class.java, | ||
| 93 | - UExpression::class.java, | ||
| 94 | - UExpressionList::class.java, | ||
| 95 | - UField::class.java, | ||
| 96 | - UFile::class.java, | ||
| 97 | - UForEachExpression::class.java, | ||
| 98 | - UForExpression::class.java, | ||
| 99 | - UIfExpression::class.java, | ||
| 100 | - UImportStatement::class.java, | ||
| 101 | - UClassInitializer::class.java, | ||
| 102 | - ULabeledExpression::class.java, | ||
| 103 | - ULambdaExpression::class.java, | ||
| 104 | - ULiteralExpression::class.java, | ||
| 105 | - ULocalVariable::class.java, | ||
| 106 | - UMethod::class.java, | ||
| 107 | - UObjectLiteralExpression::class.java, | ||
| 108 | - UParameter::class.java, | ||
| 109 | - UParenthesizedExpression::class.java, | ||
| 110 | - UPolyadicExpression::class.java, | ||
| 111 | - UPostfixExpression::class.java, | ||
| 112 | - UPrefixExpression::class.java, | ||
| 113 | - UQualifiedReferenceExpression::class.java, | ||
| 114 | - UReturnExpression::class.java, | ||
| 115 | - USimpleNameReferenceExpression::class.java, | ||
| 116 | - USuperExpression::class.java, | ||
| 117 | - USwitchClauseExpression::class.java, | ||
| 118 | - USwitchExpression::class.java, | ||
| 119 | - UThisExpression::class.java, | ||
| 120 | - UThrowExpression::class.java, | ||
| 121 | - UTryExpression::class.java, | ||
| 122 | - UTypeReferenceExpression::class.java, | ||
| 123 | - UUnaryExpression::class.java, | ||
| 124 | - UVariable::class.java, | ||
| 125 | - UWhileExpression::class.java, | ||
| 126 | - UYieldExpression::class.java, | ||
| 127 | - | ||
| 128 | - ) | ||
| 129 | - | ||
| 130 | - override fun createUastHandler(context: JavaContext): UElementHandler? { | ||
| 131 | - return object : UElementHandler() { | ||
| 132 | - val context = context | ||
| 133 | - override fun visitBinaryExpression(node: UBinaryExpression) { | ||
| 134 | - println(0) | ||
| 135 | - } | ||
| 136 | - | ||
| 137 | - override fun visitCallExpression(node: UCallExpression) { | ||
| 138 | - node.classReference | ||
| 139 | - node.methodName | ||
| 140 | - node.methodIdentifier | ||
| 141 | - node.receiverType | ||
| 142 | - node.receiver | ||
| 143 | - node.kind | ||
| 144 | - node.valueArguments | ||
| 145 | - node.valueArgumentCount | ||
| 146 | - node.typeArguments | ||
| 147 | - node.typeArgumentCount | ||
| 148 | - node.returnType | ||
| 149 | - println(1) | ||
| 150 | - } | ||
| 151 | - | ||
| 152 | - override fun visitAnnotation(node: UAnnotation) { | ||
| 153 | - println(0) | ||
| 154 | - } | ||
| 155 | - | ||
| 156 | - override fun visitArrayAccessExpression(node: UArrayAccessExpression) { | ||
| 157 | - println(0) | ||
| 158 | - } | ||
| 159 | - | ||
| 160 | - override fun visitBinaryExpressionWithType(node: UBinaryExpressionWithType) { | ||
| 161 | - println(0) | ||
| 162 | - } | ||
| 163 | - | ||
| 164 | - override fun visitBlockExpression(node: UBlockExpression) { | ||
| 165 | - println(0) | ||
| 166 | - } | ||
| 167 | - | ||
| 168 | - override fun visitBreakExpression(node: UBreakExpression) { | ||
| 169 | - println(0) | ||
| 170 | - } | ||
| 171 | - | ||
| 172 | - override fun visitCallableReferenceExpression(node: UCallableReferenceExpression) { | ||
| 173 | - println(0) | ||
| 174 | - } | ||
| 175 | - | ||
| 176 | - override fun visitCatchClause(node: UCatchClause) { | ||
| 177 | - println(0) | ||
| 178 | - } | ||
| 179 | - | ||
| 180 | - override fun visitClass(node: UClass) { | ||
| 181 | - println(0) | ||
| 182 | - } | ||
| 183 | - | ||
| 184 | - override fun visitClassLiteralExpression(node: UClassLiteralExpression) { | ||
| 185 | - println(0) | ||
| 186 | - } | ||
| 187 | - | ||
| 188 | - override fun visitContinueExpression(node: UContinueExpression) { | ||
| 189 | - println(0) | ||
| 190 | - } | ||
| 191 | - | ||
| 192 | - override fun visitDeclaration(node: UDeclaration) { | ||
| 193 | - println(0) | ||
| 194 | - } | ||
| 195 | - | ||
| 196 | - override fun visitDeclarationsExpression(node: UDeclarationsExpression) { | ||
| 197 | - println(0) | ||
| 198 | - } | ||
| 199 | - | ||
| 200 | - override fun visitDoWhileExpression(node: UDoWhileExpression) { | ||
| 201 | - println(0) | ||
| 202 | - } | ||
| 203 | - | ||
| 204 | - override fun visitElement(node: UElement) { | ||
| 205 | - println(0) | ||
| 206 | - } | ||
| 207 | - | ||
| 208 | - override fun visitEnumConstant(node: UEnumConstant) { | ||
| 209 | - println(0) | ||
| 210 | - } | ||
| 211 | - | ||
| 212 | - override fun visitExpression(node: UExpression) { | ||
| 213 | - println(0) | ||
| 214 | - } | ||
| 215 | - | ||
| 216 | - override fun visitExpressionList(node: UExpressionList) { | ||
| 217 | - println(0) | ||
| 218 | - } | ||
| 219 | - | ||
| 220 | - override fun visitField(node: UField) { | ||
| 221 | - println(0) | ||
| 222 | - } | ||
| 223 | - | ||
| 224 | - override fun visitFile(node: UFile) { | ||
| 225 | - println(0) | ||
| 226 | - } | ||
| 227 | - | ||
| 228 | - override fun visitForEachExpression(node: UForEachExpression) { | ||
| 229 | - println(0) | ||
| 230 | - } | ||
| 231 | - | ||
| 232 | - override fun visitForExpression(node: UForExpression) { | ||
| 233 | - println(0) | ||
| 234 | - } | ||
| 235 | - | ||
| 236 | - override fun visitIfExpression(node: UIfExpression) { | ||
| 237 | - println(0) | ||
| 238 | - } | ||
| 239 | - | ||
| 240 | - override fun visitImportStatement(node: UImportStatement) { | ||
| 241 | - println(0) | ||
| 242 | - } | ||
| 243 | - | ||
| 244 | - override fun visitInitializer(node: UClassInitializer) { | ||
| 245 | - println(0) | ||
| 246 | - } | ||
| 247 | - | ||
| 248 | - override fun visitLabeledExpression(node: ULabeledExpression) { | ||
| 249 | - println(0) | ||
| 250 | - } | ||
| 251 | - | ||
| 252 | - override fun visitLambdaExpression(node: ULambdaExpression) { | ||
| 253 | - println(0) | ||
| 254 | - } | ||
| 255 | - | ||
| 256 | - override fun visitLiteralExpression(node: ULiteralExpression) { | ||
| 257 | - println(0) | ||
| 258 | - } | ||
| 259 | - | ||
| 260 | - override fun visitLocalVariable(node: ULocalVariable) { | ||
| 261 | - println(0) | ||
| 262 | - } | ||
| 263 | - | ||
| 264 | - override fun visitMethod(node: UMethod) { | ||
| 265 | - println(0) | ||
| 266 | - } | ||
| 267 | - | ||
| 268 | - | ||
| 269 | - override fun visitObjectLiteralExpression(node: UObjectLiteralExpression) { | ||
| 270 | - println(0) | ||
| 271 | - } | ||
| 272 | - | ||
| 273 | - override fun visitParameter(node: UParameter) { | ||
| 274 | - println(0) | ||
| 275 | - } | ||
| 276 | - | ||
| 277 | - override fun visitParenthesizedExpression(node: UParenthesizedExpression) { | ||
| 278 | - println(0) | ||
| 279 | - } | ||
| 280 | - | ||
| 281 | - override fun visitPolyadicExpression(node: UPolyadicExpression) { | ||
| 282 | - println(0) | ||
| 283 | - } | ||
| 284 | - | ||
| 285 | - override fun visitPostfixExpression(node: UPostfixExpression) { | ||
| 286 | - println(0) | ||
| 287 | - } | ||
| 288 | - | ||
| 289 | - override fun visitPrefixExpression(node: UPrefixExpression) { | ||
| 290 | - println(0) | ||
| 291 | - } | ||
| 292 | - | ||
| 293 | - override fun visitQualifiedReferenceExpression(node: UQualifiedReferenceExpression) { | ||
| 294 | - println(0) | ||
| 295 | - } | ||
| 296 | - | ||
| 297 | - override fun visitReturnExpression(node: UReturnExpression) { | ||
| 298 | - println(0) | ||
| 299 | - } | ||
| 300 | - | ||
| 301 | - override fun visitSimpleNameReferenceExpression(node: USimpleNameReferenceExpression) { | ||
| 302 | - println(0) | ||
| 303 | - | ||
| 304 | - //(((node as KotlinUSimpleReferenceExpression).uastParent as KotlinUQualifiedReferenceExpression).receiver as KotlinUCallableReferenceExpression).qualifierType?.canonicalText | ||
| 305 | - } | ||
| 306 | - | ||
| 307 | - override fun visitSuperExpression(node: USuperExpression) { | ||
| 308 | - println(0) | ||
| 309 | - } | ||
| 310 | - | ||
| 311 | - override fun visitSwitchClauseExpression(node: USwitchClauseExpression) { | ||
| 312 | - println(0) | ||
| 313 | - } | ||
| 314 | - | ||
| 315 | - override fun visitSwitchExpression(node: USwitchExpression) { | ||
| 316 | - println(0) | ||
| 317 | - } | ||
| 318 | - | ||
| 319 | - override fun visitThisExpression(node: UThisExpression) { | ||
| 320 | - println(0) | ||
| 321 | - } | ||
| 322 | - | ||
| 323 | - override fun visitThrowExpression(node: UThrowExpression) { | ||
| 324 | - println(0) | ||
| 325 | - } | ||
| 326 | - | ||
| 327 | - override fun visitTryExpression(node: UTryExpression) { | ||
| 328 | - println(0) | ||
| 329 | - } | ||
| 330 | - | ||
| 331 | - override fun visitTypeReferenceExpression(node: UTypeReferenceExpression) { | ||
| 332 | - println(0) | ||
| 333 | - } | ||
| 334 | - | ||
| 335 | - override fun visitUnaryExpression(node: UUnaryExpression) { | ||
| 336 | - println(0) | ||
| 337 | - } | ||
| 338 | - | ||
| 339 | - override fun visitVariable(node: UVariable) { | ||
| 340 | - println(0) | ||
| 341 | - } | ||
| 342 | - | ||
| 343 | - override fun visitWhileExpression(node: UWhileExpression) { | ||
| 344 | - println(0) | ||
| 345 | - } | ||
| 346 | - | ||
| 347 | - override fun visitYieldExpression(node: UYieldExpression) { | ||
| 348 | - println(0) | ||
| 349 | - } | ||
| 350 | - } | ||
| 351 | - } | ||
| 352 | 60 | ||
| 353 | companion object { | 61 | companion object { |
| 354 | - private const val MEDIA_STREAM_TRACK = "org.webrtc.MediaStreamTrack" | ||
| 355 | 62 | ||
| 356 | private const val DEFAULT_MSG = | 63 | private const val DEFAULT_MSG = |
| 357 | "Incorrect flow property usage: Only properties marked with the @FlowObservable annotation can be observed using `io.livekit.android.util.flow`." | 64 | "Incorrect flow property usage: Only properties marked with the @FlowObservable annotation can be observed using `io.livekit.android.util.flow`." |
-
请 注册 或 登录 后发表评论