Skip to content
Closed
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a

- Fixed the AST output by adding blocks to `Command` and `CommandCall` nodes in the `FieldVisitor`.
- Fixed the location of lambda local variables (e.g., `->(; a) {}`).
- The `Elsif` node has been folded into `IfNode`. A `keyword` field has been added to `IfNode` specifying if the node represents an `if` or `elsif`.

## [6.0.1] - 2023-02-26

Expand Down
49 changes: 2 additions & 47 deletions lib/syntax_tree/dsl.rb
Original file line number Diff line number Diff line change
Expand Up @@ -347,16 +347,6 @@ def Else(keyword, statements)
)
end

# Create a new Elsif node.
def Elsif(predicate, statements, consequent)
Elsif.new(
predicate: predicate,
statements: statements,
consequent: consequent,
location: Location.default
)
end

# Create a new EmbDoc node.
def EmbDoc(value)
EmbDoc.new(value: value, location: Location.default)
Expand Down Expand Up @@ -478,8 +468,9 @@ def Ident(value)
end

# Create a new IfNode node.
def IfNode(predicate, statements, consequent)
def IfNode(keyword, predicate, statements, consequent)
IfNode.new(
keyword: keyword,
predicate: predicate,
statements: statements,
consequent: consequent,
Expand Down Expand Up @@ -658,29 +649,11 @@ def Program(statements)
Program.new(statements: statements, location: Location.default)
end

# Create a new QSymbols node.
def QSymbols(beginning, elements)
QSymbols.new(
beginning: beginning,
elements: elements,
location: Location.default
)
end

# Create a new QSymbolsBeg node.
def QSymbolsBeg(value)
QSymbolsBeg.new(value: value, location: Location.default)
end

# Create a new QWords node.
def QWords(beginning, elements)
QWords.new(
beginning: beginning,
elements: elements,
location: Location.default
)
end

# Create a new QWordsBeg node.
def QWordsBeg(value)
QWordsBeg.new(value: value, location: Location.default)
Expand Down Expand Up @@ -839,15 +812,6 @@ def SymbolLiteral(value)
SymbolLiteral.new(value: value, location: Location.default)
end

# Create a new Symbols node.
def Symbols(beginning, elements)
Symbols.new(
beginning: beginning,
elements: elements,
location: Location.default
)
end

# Create a new SymbolsBeg node.
def SymbolsBeg(value)
SymbolsBeg.new(value: value, location: Location.default)
Expand Down Expand Up @@ -979,15 +943,6 @@ def Word(parts)
Word.new(parts: parts, location: Location.default)
end

# Create a new Words node.
def Words(beginning, elements)
Words.new(
beginning: beginning,
elements: elements,
location: Location.default
)
end

# Create a new WordsBeg node.
def WordsBeg(value)
WordsBeg.new(value: value, location: Location.default)
Expand Down
37 changes: 0 additions & 37 deletions lib/syntax_tree/field_visitor.rb
Original file line number Diff line number Diff line change
Expand Up @@ -353,15 +353,6 @@ def visit_else(node)
end
end

def visit_elsif(node)
node(node, "elsif") do
field("predicate", node.predicate)
field("statements", node.statements)
field("consequent", node.consequent) if node.consequent
comments(node)
end
end

def visit_embdoc(node)
node(node, "embdoc") { field("value", node.value) }
end
Expand Down Expand Up @@ -663,24 +654,10 @@ def visit_program(node)
end
end

def visit_qsymbols(node)
node(node, "qsymbols") do
list("elements", node.elements)
comments(node)
end
end

def visit_qsymbols_beg(node)
node(node, "qsymbols_beg") { field("value", node.value) }
end

def visit_qwords(node)
node(node, "qwords") do
list("elements", node.elements)
comments(node)
end
end

def visit_qwords_beg(node)
node(node, "qwords_beg") { field("value", node.value) }
end
Expand Down Expand Up @@ -856,13 +833,6 @@ def visit_symbol_literal(node)
end
end

def visit_symbols(node)
node(node, "symbols") do
list("elements", node.elements)
comments(node)
end
end

def visit_symbols_beg(node)
node(node, "symbols_beg") { field("value", node.value) }
end
Expand Down Expand Up @@ -982,13 +952,6 @@ def visit_word(node)
end
end

def visit_words(node)
node(node, "words") do
list("elements", node.elements)
comments(node)
end
end

def visit_words_beg(node)
node(node, "words_beg") { field("value", node.value) }
end
Expand Down
40 changes: 0 additions & 40 deletions lib/syntax_tree/mutation_visitor.rb
Original file line number Diff line number Diff line change
Expand Up @@ -322,14 +322,6 @@ def visit_else(node)
)
end

# Visit a Elsif node.
def visit_elsif(node)
node.copy(
statements: visit(node.statements),
consequent: visit(node.consequent)
)
end

# Visit a EmbDoc node.
def visit_embdoc(node)
node.copy
Expand Down Expand Up @@ -599,27 +591,11 @@ def visit_program(node)
node.copy(statements: visit(node.statements))
end

# Visit a QSymbols node.
def visit_qsymbols(node)
node.copy(
beginning: visit(node.beginning),
elements: visit_all(node.elements)
)
end

# Visit a QSymbolsBeg node.
def visit_qsymbols_beg(node)
node.copy
end

# Visit a QWords node.
def visit_qwords(node)
node.copy(
beginning: visit(node.beginning),
elements: visit_all(node.elements)
)
end

# Visit a QWordsBeg node.
def visit_qwords_beg(node)
node.copy
Expand Down Expand Up @@ -760,14 +736,6 @@ def visit_symbol_literal(node)
node.copy(value: visit(node.value))
end

# Visit a Symbols node.
def visit_symbols(node)
node.copy(
beginning: visit(node.beginning),
elements: visit_all(node.elements)
)
end

# Visit a SymbolsBeg node.
def visit_symbols_beg(node)
node.copy
Expand Down Expand Up @@ -887,14 +855,6 @@ def visit_word(node)
node.copy(parts: visit_all(node.parts))
end

# Visit a Words node.
def visit_words(node)
node.copy(
beginning: visit(node.beginning),
elements: visit_all(node.elements)
)
end

# Visit a WordsBeg node.
def visit_words_beg(node)
node.copy
Expand Down
Loading