All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.pelle.mango.dsl.ui.contentassist.antlr.PartialMangoContentAssistParser Maven / Gradle / Ivy

There is a newer version: 0.0.12-FINAL
Show newest version
/*
 * generated by Xtext
 */
package io.pelle.mango.dsl.ui.contentassist.antlr;

import java.util.Collection;
import java.util.Collections;

import org.eclipse.xtext.AbstractRule;
import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.util.PolymorphicDispatcher;

/**
 * @author Sebastian Zarnekow - Initial contribution and API
 */
@SuppressWarnings("restriction")
public class PartialMangoContentAssistParser extends MangoParser implements IPartialContentAssistParser {

	private AbstractRule rule;

	public void initializeFor(AbstractRule rule) {
		this.rule = rule;
	}
	
	@Override
	protected Collection getFollowElements(AbstractInternalContentAssistParser parser) {
		if (rule == null || rule.eIsProxy())
			return Collections.emptyList();
		String methodName = "entryRule" + rule.getName();
		PolymorphicDispatcher> dispatcher = 
			new PolymorphicDispatcher>(methodName, 0, 0, Collections.singletonList(parser));
		dispatcher.invoke();
		return parser.getFollowElements();
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy