/** * generated by Xtext 2.14.0 */ package com.minres.rdl.ui.outline; import com.minres.rdl.rdl.ComponentDefinition; import com.minres.rdl.rdl.ComponentInstance; import com.minres.rdl.rdl.EnumDefinition; import com.minres.rdl.rdl.EnumEntry; import com.minres.rdl.rdl.ExplicitPropertyAssignment; import com.minres.rdl.rdl.Instantiation; import com.minres.rdl.rdl.PostPropertyAssignment; import com.minres.rdl.rdl.PropertyAssignment; import com.minres.rdl.rdl.PropertyAssignmentRhs; import com.minres.rdl.rdl.PropertyDefinition; import com.minres.rdl.rdl.Root; import java.util.function.Consumer; import org.eclipse.xtext.ui.editor.outline.IOutlineNode; import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider; import org.eclipse.xtext.ui.editor.outline.impl.DocumentRootNode; /** * Customization of the default outline structure. * * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#outline */ @SuppressWarnings("all") public class RDLOutlineTreeProvider extends DefaultOutlineTreeProvider { protected void _createChildren(final DocumentRootNode parentNode, final Root domainModel) { final Consumer _function = (EnumDefinition it) -> { this.createNode(parentNode, it); }; domainModel.getEnumDefinitions().forEach(_function); final Consumer _function_1 = (PropertyDefinition it) -> { this.createNode(parentNode, it); }; domainModel.getPropertyDefinitions().forEach(_function_1); final Consumer _function_2 = (ComponentDefinition it) -> { this.createNode(parentNode, it); }; domainModel.getComponentDefinitions().forEach(_function_2); final Consumer _function_3 = (PropertyAssignment it) -> { this.createNode(parentNode, it); }; domainModel.getPropertyAssignments().forEach(_function_3); final Consumer _function_4 = (Instantiation instantiation) -> { ComponentDefinition _component = instantiation.getComponent(); boolean _tripleNotEquals = (_component != null); if (_tripleNotEquals) { this.createNode(parentNode, instantiation.getComponent()); } final Consumer _function_5 = (ComponentInstance it) -> { this.createNode(parentNode, it); }; instantiation.getComponentInstances().forEach(_function_5); }; domainModel.getInstantiations().forEach(_function_4); } protected void _createChildren(final IOutlineNode parentNode, final ComponentDefinition compDef) { final Consumer _function = (EnumDefinition it) -> { this.createNode(parentNode, it); }; compDef.getEnumDefinitions().forEach(_function); final Consumer _function_1 = (ComponentDefinition it) -> { this.createNode(parentNode, it); }; compDef.getComponentDefinitions().forEach(_function_1); final Consumer _function_2 = (PropertyAssignment it) -> { this.createNode(parentNode, it); }; compDef.getPropertyAssignments().forEach(_function_2); final Consumer _function_3 = (Instantiation instantiation) -> { ComponentDefinition _component = instantiation.getComponent(); boolean _tripleNotEquals = (_component != null); if (_tripleNotEquals) { this.createNode(parentNode, instantiation.getComponent()); } final Consumer _function_4 = (ComponentInstance it) -> { this.createNode(parentNode, it); }; instantiation.getComponentInstances().forEach(_function_4); }; compDef.getInstantiations().forEach(_function_3); } protected void _createChildren(final IOutlineNode parentNode, final EnumDefinition e) { final Consumer _function = (EnumEntry it) -> { this.createNode(parentNode, it); }; e.getBody().getEntries().forEach(_function); } protected void _createChildren(final IOutlineNode parentNode, final PostPropertyAssignment p) { this.createNode(parentNode, p.getRhs()); } protected boolean _isLeaf(final ExplicitPropertyAssignment feature) { return true; } protected boolean _isLeaf(final Instantiation feature) { return ((feature.getComponent() == null) && (feature.getComponentInstances().size() == 0)); } protected boolean _isLeaf(final PropertyAssignmentRhs feature) { return true; } protected boolean _isLeaf(final ComponentInstance feature) { return true; } protected boolean _isLeaf(final EnumEntry feature) { int _size = feature.getProperties().size(); return (_size == 0); } }