Skip to content

Commit 2e8d979

Browse files
committed
feat(resolving): support assembly shuffle resolving
Fixes #68
1 parent 24e2a5c commit 2e8d979

File tree

1 file changed

+6
-23
lines changed

1 file changed

+6
-23
lines changed

src/main/kotlin/org/tonstudio/tact/lang/psi/impl/TactReference.kt

Lines changed: 6 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,12 @@ class TactReference(el: TactReferenceExpressionBase, val forTypes: Boolean = fal
283283

284284
if (!processNamedElements(processor, state.put(SEARCH_NAME, searchName), fields, false)) return false
285285
}
286+
287+
is TactAsmShuffle -> {
288+
val functionDecl = myElement.parentOfType<TactAsmFunctionDeclaration>() ?: return true
289+
val parameters = functionDecl.getSignature()?.parameters?.paramDefinitionList ?: emptyList()
290+
return processNamedElements(processor, state, parameters, false)
291+
}
286292
}
287293

288294
if (!processBlock(processor, state, true)) return false
@@ -355,29 +361,6 @@ class TactReference(el: TactReferenceExpressionBase, val forTypes: Boolean = fal
355361
return psiManager.findFile(stubsFile) as? TactFile
356362
}
357363

358-
private fun processDirectory(
359-
dir: PsiDirectory?,
360-
processor: TactScopeProcessor,
361-
state: ResolveState,
362-
localProcessing: Boolean,
363-
): Boolean {
364-
if (dir == null) {
365-
return true
366-
}
367-
368-
for (f in dir.files) {
369-
if (f !is TactFile) {
370-
continue
371-
}
372-
373-
if (!processFileEntities(f, processor, state, localProcessing)) {
374-
return false
375-
}
376-
}
377-
378-
return true
379-
}
380-
381364
private fun processImportedFiles(
382365
file: TactFile,
383366
processor: TactScopeProcessor,

0 commit comments

Comments
 (0)