/**
* <copyright>
* </copyright>
*
*
*/
package robot.resource.robot.mopp;
public class RobotMetaInformation implements robot.resource.robot.IRobotMetaInformation {
public String getSyntaxName() {
return "robot";
}
public String getURI() {
return "http://robot/1.0";
}
public robot.resource.robot.IRobotTextScanner createLexer() {
return new robot.resource.robot.mopp.RobotAntlrScanner(new robot.resource.robot.mopp.RobotLexer());
}
public robot.resource.robot.IRobotTextParser createParser(java.io.InputStream inputStream, String encoding) {
return new robot.resource.robot.mopp.RobotParser().createInstance(inputStream, encoding);
}
public robot.resource.robot.IRobotTextPrinter createPrinter(java.io.OutputStream outputStream, robot.resource.robot.IRobotTextResource resource) {
return new robot.resource.robot.mopp.RobotPrinter2(outputStream, resource);
}
public org.eclipse.emf.ecore.EClass[] getClassesWithSyntax() {
return new robot.resource.robot.mopp.RobotSyntaxCoverageInformationProvider().getClassesWithSyntax();
}
public org.eclipse.emf.ecore.EClass[] getStartSymbols() {
return new robot.resource.robot.mopp.RobotSyntaxCoverageInformationProvider().getStartSymbols();
}
public robot.resource.robot.IRobotReferenceResolverSwitch getReferenceResolverSwitch() {
return new robot.resource.robot.mopp.RobotReferenceResolverSwitch();
}
public robot.resource.robot.IRobotTokenResolverFactory getTokenResolverFactory() {
return new robot.resource.robot.mopp.RobotTokenResolverFactory();
}
public String getPathToCSDefinition() {
return "lego/metamodel/robot.cs";
}
public String[] getTokenNames() {
return robot.resource.robot.mopp.RobotParser.tokenNames;
}
public robot.resource.robot.IRobotTokenStyle getDefaultTokenStyle(String tokenName) {
return new robot.resource.robot.mopp.RobotTokenStyleInformationProvider().getDefaultTokenStyle(tokenName);
}
public java.util.Collection<robot.resource.robot.IRobotBracketPair> getBracketPairs() {
return new robot.resource.robot.mopp.RobotBracketInformationProvider().getBracketPairs();
}
public org.eclipse.emf.ecore.EClass[] getFoldableClasses() {
return new robot.resource.robot.mopp.RobotFoldingInformationProvider().getFoldableClasses();
}
public org.eclipse.emf.ecore.resource.Resource.Factory createResourceFactory() {
return new robot.resource.robot.mopp.RobotResourceFactory();
}
public robot.resource.robot.mopp.RobotNewFileContentProvider getNewFileContentProvider() {
return new robot.resource.robot.mopp.RobotNewFileContentProvider();
}
public void registerResourceFactory() {
org.eclipse.emf.ecore.resource.Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put(getSyntaxName(), new robot.resource.robot.mopp.RobotResourceFactory());
}
/**
* Returns the key of the option that can be used to register a preprocessor that
* is used as a pipe when loading resources. This key is language-specific. To
* register one preprocessor for multiple resource types, it must be registered
* individually using all keys.
*/
public String getInputStreamPreprocessorProviderOptionKey() {
return getSyntaxName() + "_" + "INPUT_STREAM_PREPROCESSOR_PROVIDER";
}
/**
* Returns the key of the option that can be used to register a post-processors
* that are invoked after loading resources. This key is language-specific. To
* register one post-processor for multiple resource types, it must be registered
* individually using all keys.
*/
public String getResourcePostProcessorProviderOptionKey() {
return getSyntaxName() + "_" + "RESOURCE_POSTPROCESSOR_PROVIDER";
}
public String getLaunchConfigurationType() {
return "robot.resource.robot.ui.launchConfigurationType";
}
public robot.resource.robot.IRobotNameProvider createNameProvider() {
return new robot.resource.robot.analysis.RobotDefaultNameProvider();
}
public String[] getSyntaxHighlightableTokenNames() {
robot.resource.robot.mopp.RobotAntlrTokenHelper tokenHelper = new robot.resource.robot.mopp.RobotAntlrTokenHelper();
java.util.List<String> highlightableTokens = new java.util.ArrayList<String>();
String[] parserTokenNames = getTokenNames();
for (int i = 0; i < parserTokenNames.length; i++) {
// If ANTLR is used we need to normalize the token names
if (!tokenHelper.canBeUsedForSyntaxHighlighting(i)) {
continue;
}
String tokenName = tokenHelper.getTokenName(parserTokenNames, i);
if (tokenName == null) {
continue;
}
highlightableTokens.add(tokenName);
}
highlightableTokens.add(robot.resource.robot.mopp.RobotTokenStyleInformationProvider.TASK_ITEM_TOKEN_NAME);
return highlightableTokens.toArray(new String[highlightableTokens.size()]);
}
}