package org.jnario.feature.jvmmodel; import com.google.common.base.Objects; import com.google.common.collect.Iterables; import org.eclipse.emf.common.util.EList; import org.eclipse.xtend.core.xtend.XtendMember; import org.eclipse.xtext.EcoreUtil2; import org.eclipse.xtext.xbase.lib.CollectionLiterals; import org.jnario.feature.feature.Background; import org.jnario.feature.feature.Feature; import org.jnario.feature.feature.Scenario; import org.jnario.feature.feature.Step; @SuppressWarnings("all") public class VisibleMembersCalculator { public Iterable<XtendMember> allVisibleMembers(final Step step) { Iterable<XtendMember> _xblockexpression = null; { final Scenario scenario = EcoreUtil2.<Scenario>getContainerOfType(step, Scenario.class); boolean _equals = Objects.equal(scenario, null); if (_equals) { return CollectionLiterals.<XtendMember>emptyList(); } _xblockexpression = this.allVisibleMembers(scenario); } return _xblockexpression; } public Iterable<XtendMember> allVisibleMembers(final Scenario scenario) { EList<XtendMember> members = scenario.getMembers(); if ((scenario instanceof Background)) { return members; } final Feature feature = EcoreUtil2.<Feature>getContainerOfType(scenario, Feature.class); Background _background = feature.getBackground(); boolean _equals = Objects.equal(_background, null); if (_equals) { return members; } Background _background_1 = feature.getBackground(); EList<XtendMember> _members = _background_1.getMembers(); return Iterables.<XtendMember>concat(members, _members); } }