blob: 57cd9e2b70b4416de94f69cb5e1d6359edb81b46 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2013 E.D.Willink and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* E.D.Willink - initial API and implementation
*******************************************************************************/
/*
* generated by Xtext
*/
package org.eclipse.ocl.examples.xtext.oclstdlib.formatting;
import org.eclipse.ocl.examples.xtext.essentialocl.formatting.AbstractEssentialOCLFormatter;
import org.eclipse.ocl.examples.xtext.oclstdlib.services.OCLstdlibGrammarAccess;
import org.eclipse.ocl.examples.xtext.oclstdlib.services.OCLstdlibGrammarAccess.AnnotationCSElements;
import org.eclipse.ocl.examples.xtext.oclstdlib.services.OCLstdlibGrammarAccess.ClassCSElements;
import org.eclipse.ocl.examples.xtext.oclstdlib.services.OCLstdlibGrammarAccess.DocumentationCSElements;
import org.eclipse.ocl.examples.xtext.oclstdlib.services.OCLstdlibGrammarAccess.InvCSElements;
import org.eclipse.ocl.examples.xtext.oclstdlib.services.OCLstdlibGrammarAccess.LambdaTypeCSElements;
import org.eclipse.ocl.examples.xtext.oclstdlib.services.OCLstdlibGrammarAccess.LibIterationCSElements;
import org.eclipse.ocl.examples.xtext.oclstdlib.services.OCLstdlibGrammarAccess.LibOperationCSElements;
import org.eclipse.ocl.examples.xtext.oclstdlib.services.OCLstdlibGrammarAccess.LibPackageCSElements;
import org.eclipse.ocl.examples.xtext.oclstdlib.services.OCLstdlibGrammarAccess.LibPathNameCSElements;
import org.eclipse.ocl.examples.xtext.oclstdlib.services.OCLstdlibGrammarAccess.LibPropertyCSElements;
import org.eclipse.ocl.examples.xtext.oclstdlib.services.OCLstdlibGrammarAccess.LibTupleCSElements;
import org.eclipse.ocl.examples.xtext.oclstdlib.services.OCLstdlibGrammarAccess.LibraryElements;
import org.eclipse.ocl.examples.xtext.oclstdlib.services.OCLstdlibGrammarAccess.PackageCSElements;
import org.eclipse.ocl.examples.xtext.oclstdlib.services.OCLstdlibGrammarAccess.PostCSElements;
import org.eclipse.ocl.examples.xtext.oclstdlib.services.OCLstdlibGrammarAccess.PreCSElements;
import org.eclipse.ocl.examples.xtext.oclstdlib.services.OCLstdlibGrammarAccess.PrecedenceCSElements;
import org.eclipse.ocl.examples.xtext.oclstdlib.services.OCLstdlibGrammarAccess.TemplateBindingCSElements;
import org.eclipse.ocl.examples.xtext.oclstdlib.services.OCLstdlibGrammarAccess.TemplateSignatureCSElements;
import org.eclipse.xtext.formatting.impl.FormattingConfig;
/**
* This class contains custom formatting description.
*/
public class OCLstdlibFormatter extends AbstractEssentialOCLFormatter {
@Override
protected void configureFormatting(FormattingConfig c) {
c.setAutoLinewrap(132);
OCLstdlibGrammarAccess f = getGrammarAccess();
configureCollectionLiteralExpCS(c, f.getCollectionLiteralExpCSAccess());
configureCollectionTypeCS(c, f.getCollectionTypeCSAccess());
configureEssentialOCLNavigationOperatorCS(c, f.getEssentialOCLNavigationOperatorCSAccess());
configureIfExpCS(c, f.getIfExpCSAccess());
configureLetExpCS(c, f.getLetExpCSAccess());
configureMultiplicityBoundsCS(c, f.getMultiplicityBoundsCSAccess());
configureMultiplicityCS(c, f.getMultiplicityCSAccess());
configureMultiplicityStringCS(c, f.getMultiplicityStringCSAccess());
configureNavigatingCommaArgCS(c, f.getNavigatingCommaArgCSAccess());
configureNavigatingSemiArgCS(c, f.getNavigatingSemiArgCSAccess());
configureNestedExpCS(c, f.getNestedExpCSAccess());
configurePathNameCS(c, f.getPathNameCSAccess());
configurePrimaryExpCS(c, f.getPrimaryExpCSAccess());
configureTupleLiteralExpCS(c, f.getTupleLiteralExpCSAccess());
configureTupleTypeCS(c, f.getTupleTypeCSAccess());
configureURIPathNameCS(c, f.getURIPathNameCSAccess());
c.setLinewrap(2).before(f.getML_COMMENTRule());
c.setLinewrap(1).after(f.getML_COMMENTRule());
c.setLinewrap(2).between(f.getClassCSRule(), f.getClassCSRule());
{
AnnotationCSElements a = f.getAnnotationCSAccess();
c.setNoSpace().around(a.getLeftParenthesisKeyword_2_0());
c.setNoSpace().before(a.getCommaKeyword_2_2_0());
c.setNoSpace().before(a.getRightParenthesisKeyword_2_3());
setBraces(c, a.getLeftCurlyBracketKeyword_3_0_0(), a.getRightCurlyBracketKeyword_3_0_2());
setNoSpaceLineWrap(c, a.getSemicolonKeyword_3_1());
}
{
ClassCSElements a = f.getClassCSAccess();
c.setNoSpace().before(a.getCommaKeyword_4_2_0());
setBraces(c, a.getLeftCurlyBracketKeyword_5(), a.getRightCurlyBracketKeyword_7());
}
{
DocumentationCSElements a = f.getDocumentationCSAccess();
c.setNoSpace().around(a.getLeftParenthesisKeyword_3_0());
c.setNoSpace().before(a.getCommaKeyword_3_2_0());
c.setNoSpace().before(a.getRightParenthesisKeyword_3_3());
setNoSpaceLineWrap(c, a.getSemicolonKeyword_4());
}
{
InvCSElements a = f.getInvCSAccess();
c.setNoSpace().around(a.getLeftParenthesisKeyword_1_1_0());
c.setNoSpace().around(a.getRightParenthesisKeyword_1_1_2());
c.setNoSpace().before(a.getColonKeyword_2());
setNoSpaceLineWrap(c, a.getSemicolonKeyword_4());
}
{
LibIterationCSElements a = f.getLibIterationCSAccess();
c.setNoSpace().around(a.getLeftParenthesisKeyword_3());
c.setNoSpace().before(a.getCommaKeyword_5_0());
c.setNoSpace().before(a.getSemicolonKeyword_6_0());
c.setNoSpace().before(a.getCommaKeyword_6_2_0());
c.setNoSpace().before(a.getCommaKeyword_7_2_0());
c.setNoSpace().before(a.getRightParenthesisKeyword_8());
c.setLinewrap().before(a.getEqualsSignGreaterThanSignKeyword_13_0());
setBraces(c, a.getLeftCurlyBracketKeyword_14_0_0(), a.getRightCurlyBracketKeyword_14_0_2());
setNoSpaceLineWrap(c, a.getSemicolonKeyword_14_1());
}
{
LambdaTypeCSElements a = f.getLambdaTypeCSAccess();
c.setNoSpace().around(a.getLeftParenthesisKeyword_3());
c.setNoSpace().before(a.getCommaKeyword_4_1_0());
c.setNoSpace().before(a.getRightParenthesisKeyword_5());
}
{
LibraryElements a = f.getLibraryAccess();
setNoSpaceLineWrap(c, a.getSemicolonKeyword_0_1());
// setBraces(c, a.getLeftCurlyBracketKeyword_4(), a.getRightCurlyBracketKeyword_6());
// setNoSpaceLineWrap(c, a.getSemicolonKeyword_5_1_2());
}
{
LibOperationCSElements a = f.getLibOperationCSAccess();
c.setNoSpace().around(a.getLeftParenthesisKeyword_4());
c.setNoSpace().before(a.getCommaKeyword_5_1_0());
c.setNoSpace().before(a.getRightParenthesisKeyword_6());
c.setLinewrap().before(a.getEqualsSignGreaterThanSignKeyword_12_0());
setBraces(c, a.getLeftCurlyBracketKeyword_13_0_0(), a.getRightCurlyBracketKeyword_13_0_2());
setNoSpaceLineWrap(c, a.getSemicolonKeyword_13_1());
}
{
LibPackageCSElements a = f.getLibPackageCSAccess();
// setNoSpaceLineWrap(c, a.getSemicolonKeyword_0_1());
setBraces(c, a.getLeftCurlyBracketKeyword_3(), a.getRightCurlyBracketKeyword_5());
// setNoSpaceLineWrap(c, a.getSemicolonKeyword_5_1_2());
}
{
LibPathNameCSElements a = f.getLibPathNameCSAccess();
c.setNoSpace().around(a.getColonColonKeyword_1_0());
}
{
PackageCSElements a = f.getPackageCSAccess();
setBraces(c, a.getLeftCurlyBracketKeyword_3(), a.getRightCurlyBracketKeyword_5());
}
{
// ParameterCSElements a = f.getParameterCSAccess();
}
{
PostCSElements a = f.getPostCSAccess();
c.setNoSpace().around(a.getLeftParenthesisKeyword_1_1_0());
c.setNoSpace().around(a.getRightParenthesisKeyword_1_1_2());
c.setNoSpace().before(a.getColonKeyword_2());
setNoSpaceLineWrap(c, a.getSemicolonKeyword_4());
}
{
PreCSElements a = f.getPreCSAccess();
c.setNoSpace().around(a.getLeftParenthesisKeyword_1_1_0());
c.setNoSpace().around(a.getRightParenthesisKeyword_1_1_2());
c.setNoSpace().before(a.getColonKeyword_2());
setNoSpaceLineWrap(c, a.getSemicolonKeyword_4());
}
{
PrecedenceCSElements a = f.getPrecedenceCSAccess();
c.setNoSpace().around(a.getColonKeyword_1());
}
{
LibPropertyCSElements a = f.getLibPropertyCSAccess();
c.setLinewrap().before(a.getEqualsSignGreaterThanSignKeyword_5_0());
setBraces(c, a.getLeftCurlyBracketKeyword_6_0_0(), a.getRightCurlyBracketKeyword_6_0_2());
setNoSpaceLineWrap(c, a.getSemicolonKeyword_6_1());
}
{
TemplateBindingCSElements a = f.getTemplateBindingCSAccess();
c.setNoSpace().around(a.getLeftParenthesisKeyword_0());
c.setNoSpace().before(a.getCommaKeyword_2_0());
c.setNoSpace().before(a.getRightParenthesisKeyword_3());
c.setIndentation(a.getLeftParenthesisKeyword_0(), a.getRightParenthesisKeyword_3());
}
{
TemplateSignatureCSElements a = f.getTemplateSignatureCSAccess();
c.setNoSpace().around(a.getLeftParenthesisKeyword_0());
c.setNoSpace().before(a.getCommaKeyword_2_0());
c.setNoSpace().before(a.getRightParenthesisKeyword_3());
c.setIndentation(a.getLeftParenthesisKeyword_0(), a.getRightParenthesisKeyword_3());
}
{
LibTupleCSElements a = f.getLibTupleCSAccess();
c.setNoSpace().around(a.getLeftParenthesisKeyword_1());
c.setNoSpace().before(a.getCommaKeyword_2_1_0());
c.setNoSpace().before(a.getRightParenthesisKeyword_3());
c.setIndentation(a.getLeftParenthesisKeyword_1(), a.getRightParenthesisKeyword_3());
}
{ // comments
c.setNoLinewrap().before(f.getSL_COMMENTRule());
c.setLinewrap().after(f.getSL_COMMENTRule());
c.setLinewrap(2).before(f.getML_COMMENTRule());
c.setLinewrap().after(f.getML_COMMENTRule());
c.setLinewrap(2).before(f.getML_SINGLE_QUOTED_STRINGRule());
c.setLinewrap().after(f.getML_SINGLE_QUOTED_STRINGRule());
}
}
@Override
public OCLstdlibGrammarAccess getGrammarAccess() {
return (OCLstdlibGrammarAccess) super.getGrammarAccess();
}
}