Skip to content

Commit b247849

Browse files
committed
Need a NodeVisitor class to traverse Qute AST Nodes
Fixes #584 Signed-off-by: azerr <azerr@redhat.com>
1 parent 44672fc commit b247849

30 files changed

+1295
-5
lines changed

qute.ls/com.redhat.qute.ls/src/main/java/com/redhat/qute/parser/expression/MethodPart.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
import com.redhat.qute.parser.expression.Parts.PartKind;
1818
import com.redhat.qute.parser.parameter.ParameterParser;
19+
import com.redhat.qute.parser.template.ASTVisitor;
1920
import com.redhat.qute.parser.template.Node;
2021
import com.redhat.qute.parser.template.Parameter;
2122
import com.redhat.qute.parser.template.ParametersContainer;
@@ -181,4 +182,10 @@ public void setEnd(int end) {
181182
public boolean isClosed() {
182183
return closeBracketOffset != NULL_VALUE;
183184
}
185+
186+
@Override
187+
protected void accept0(ASTVisitor visitor) {
188+
visitor.visit(this);
189+
visitor.endVisit(this);
190+
}
184191
}

qute.ls/com.redhat.qute.ls/src/main/java/com/redhat/qute/parser/expression/NamespacePart.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
package com.redhat.qute.parser.expression;
1313

1414
import com.redhat.qute.parser.expression.Parts.PartKind;
15+
import com.redhat.qute.parser.template.ASTVisitor;
1516

1617
/**
1718
* Namespace part.
@@ -36,4 +37,9 @@ public PartKind getPartKind() {
3637
return PartKind.Namespace;
3738
}
3839

40+
@Override
41+
protected void accept0(ASTVisitor visitor) {
42+
visitor.visit(this);
43+
visitor.endVisit(this);
44+
}
3945
}

qute.ls/com.redhat.qute.ls/src/main/java/com/redhat/qute/parser/expression/ObjectPart.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import java.util.List;
1515

1616
import com.redhat.qute.parser.expression.Parts.PartKind;
17+
import com.redhat.qute.parser.template.ASTVisitor;
1718
import com.redhat.qute.parser.template.JavaTypeInfoProvider;
1819
import com.redhat.qute.parser.template.Parameter;
1920
import com.redhat.qute.parser.template.Section;
@@ -50,9 +51,9 @@ public JavaTypeInfoProvider resolveJavaType() {
5051
// ex : {data:item}
5152
return template.findWithNamespace(this);
5253
}
53-
54+
5455
// ex : {item}
55-
56+
5657
// Loop for parent section to discover the class name
5758
Section section = super.getParentSection();
5859
while (section != null) {
@@ -89,7 +90,11 @@ public JavaTypeInfoProvider resolveJavaType() {
8990
// - from parameter declaration
9091
// - from @CheckedTemplate
9192
return template.findInInitialDataModel(this);
92-
9393
}
9494

95+
@Override
96+
protected void accept0(ASTVisitor visitor) {
97+
visitor.visit(this);
98+
visitor.endVisit(this);
99+
}
95100
}

qute.ls/com.redhat.qute.ls/src/main/java/com/redhat/qute/parser/expression/Parts.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
*******************************************************************************/
1212
package com.redhat.qute.parser.expression;
1313

14+
import com.redhat.qute.parser.template.ASTVisitor;
1415
import com.redhat.qute.parser.template.Expression;
1516
import com.redhat.qute.parser.template.Node;
1617
import com.redhat.qute.parser.template.NodeKind;
@@ -135,4 +136,12 @@ public String getContent() {
135136
return getOwnerTemplate().getText(getStart(), getEnd());
136137
}
137138

139+
@Override
140+
protected void accept0(ASTVisitor visitor) {
141+
boolean visitChildren = visitor.visit(this);
142+
if (visitChildren) {
143+
acceptChildren(visitor, getChildren());
144+
}
145+
visitor.endVisit(this);
146+
}
138147
}

qute.ls/com.redhat.qute.ls/src/main/java/com/redhat/qute/parser/expression/PropertyPart.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,13 @@
1212
package com.redhat.qute.parser.expression;
1313

1414
import com.redhat.qute.parser.expression.Parts.PartKind;
15+
import com.redhat.qute.parser.template.ASTVisitor;
1516

1617
/**
1718
* Property part.
1819
*
1920
* <p>
20-
* {item.name}
21+
* {item.name}
2122
* </p>
2223
*
2324
* @author Angelo ZERR
@@ -35,4 +36,9 @@ public PartKind getPartKind() {
3536
return PartKind.Property;
3637
}
3738

39+
@Override
40+
protected void accept0(ASTVisitor visitor) {
41+
visitor.visit(this);
42+
visitor.endVisit(this);
43+
}
3844
}

0 commit comments

Comments
 (0)