TDLan2Formatter.xtend 2.88 KB
Newer Older
/*
 * generated by Xtext 2.12.0
 */
package org.etsi.mts.tdl.formatting2

import com.google.inject.Inject
import org.eclipse.xtext.formatting2.AbstractFormatter2
import org.eclipse.xtext.formatting2.IFormattableDocument
import org.etsi.mts.tdl.ActionReference
import org.etsi.mts.tdl.Annotation
import org.etsi.mts.tdl.Comment
import org.etsi.mts.tdl.DataUse
import org.etsi.mts.tdl.ElementImport
import org.etsi.mts.tdl.PackageableElement
import org.etsi.mts.tdl.TimeConstraint
import org.etsi.mts.tdl.services.TDLan2GrammarAccess

class TDLan2Formatter extends AbstractFormatter2 {
	
	@Inject extension TDLan2GrammarAccess

	def dispatch void format(org.etsi.mts.tdl.Package _package, extension IFormattableDocument document) {
		// TODO: format HiddenRegions around keywords, attributes, cross references, etc. 
		for (ElementImport elementImport : _package.getImport()) {
			elementImport.format;
		}
		for (PackageableElement packageableElement : _package.getPackagedElement()) {
			packageableElement.format;
		}
		for (org.etsi.mts.tdl.Package __package : _package.getNestedPackage()) {
			__package.format;
		}
		for (Comment comment : _package.getComment()) {
			comment.format;
		}
		for (Annotation _annotation : _package.getAnnotation()) {
			_annotation.format;
		}
	}

	def dispatch void format(ActionReference actionReference, extension IFormattableDocument document) {
		// TODO: format HiddenRegions around keywords, attributes, cross references, etc. 
		for (DataUse dataUse : actionReference.getActualParameter()) {
			dataUse.format;
		}
		for (Comment comment : actionReference.getComment()) {
			comment.format;
		}
		for (Annotation _annotation : actionReference.getAnnotation()) {
			_annotation.format;
		}
		actionReference.getTimeLabel.format;
		for (TimeConstraint timeConstraint : actionReference.getTimeConstraint()) {
			timeConstraint.format;
		}
	}
	
	// TODO: implement for Action, AlternativeBehaviour, Annotation, AnnotationType, AnyValueOrOmit, AnyValue, ParameterBinding, Assertion, Assignment, BehaviourDescription, Block, BoundedLoopBehaviour, Break, Comment, ComponentInstance, ComponentInstanceBinding, ComponentType, CompoundBehaviour, ConditionalBehaviour, Connection, DataElementMapping, DataInstanceUse, DataResourceMapping, DefaultBehaviour, ElementImport, Function, FunctionCall, GateInstance, GateReference, GateType, InlineAction, Message, ProcedureCall, InterruptBehaviour, Member, MemberAssignment, ParameterMapping, OmitValue, ParallelBehaviour, FormalParameter, TimeLabelUse, FormalParameterUse, PeriodicBehaviour, Quiescence, SimpleDataInstance, SimpleDataType, Procedure, ProcedureParameter, Stop, StructuredDataInstance, CollectionDataInstance, StructuredDataType, Target, TestConfiguration, TestDescription, TestDescriptionReference, TestObjective, Time, TimeConstraint, TimeLabel, TimeOut, Timer, TimerStart, TimerStop, UnboundedLoopBehaviour, Variable, VariableUse, VerdictAssignment, Wait
}