implement support for setting indexed values

This commit is contained in:
Alex Zenla
2025-07-26 17:01:24 -07:00
parent 48e19a8068
commit 3dcac2f9e6
26 changed files with 201 additions and 44 deletions

View File

@ -0,0 +1,15 @@
// GENERATED CODE FROM PORK AST CODEGEN
package gay.pizza.pork.idea.psi.gen
import com.intellij.lang.ASTNode
import com.intellij.navigation.ItemPresentation
import gay.pizza.pork.idea.psi.PorkElementHelpers
import javax.swing.Icon
class IndexedSetAssignmentElement(node: ASTNode) : PorkElement(node) {
override fun getIcon(flags: Int): Icon? =
PorkElementHelpers.iconOf(this)
override fun getPresentation(): ItemPresentation? =
PorkElementHelpers.presentationOf(this)
}

View File

@ -16,7 +16,8 @@ object PorkElementFactory {
NodeType.CompilationUnit -> CompilationUnitElement(node)
NodeType.LetAssignment -> LetAssignmentElement(node)
NodeType.VarAssignment -> VarAssignmentElement(node)
NodeType.SetAssignment -> SetAssignmentElement(node)
NodeType.SymbolSetAssignment -> SymbolSetAssignmentElement(node)
NodeType.IndexedSetAssignment -> IndexedSetAssignmentElement(node)
NodeType.InfixOperation -> InfixOperationElement(node)
NodeType.BooleanLiteral -> BooleanLiteralElement(node)
NodeType.FunctionCall -> FunctionCallElement(node)

View File

@ -6,7 +6,7 @@ import com.intellij.navigation.ItemPresentation
import gay.pizza.pork.idea.psi.PorkElementHelpers
import javax.swing.Icon
class SetAssignmentElement(node: ASTNode) : PorkElement(node) {
class SymbolSetAssignmentElement(node: ASTNode) : PorkElement(node) {
override fun getIcon(flags: Int): Icon? =
PorkElementHelpers.iconOf(this)