/** * <copyright> * </copyright> * * */ package robot.resource.robot.mopp; /** * A representation for a range in a document where a structural feature (e.g., a * reference) is expected. */ public class RobotExpectedStructuralFeature extends robot.resource.robot.mopp.RobotAbstractExpectedElement { private robot.resource.robot.grammar.RobotPlaceholder placeholder; public RobotExpectedStructuralFeature(robot.resource.robot.grammar.RobotPlaceholder placeholder) { super(placeholder.getMetaclass()); this.placeholder = placeholder; } public org.eclipse.emf.ecore.EStructuralFeature getFeature() { return placeholder.getFeature(); } /** * Returns the expected placeholder. */ public robot.resource.robot.grammar.RobotSyntaxElement getSymtaxElement() { return placeholder; } public String getTokenName() { return placeholder.getTokenName(); } public java.util.Set<String> getTokenNames() { return java.util.Collections.singleton(getTokenName()); } public String toString() { return "EFeature " + getFeature().getEContainingClass().getName() + "." + getFeature().getName(); } public boolean equals(Object o) { if (o instanceof RobotExpectedStructuralFeature) { return getFeature().equals(((RobotExpectedStructuralFeature) o).getFeature()); } return false; } @Override public int hashCode() { return getFeature().hashCode(); } }