blob: d707635315c5786f163c8465e87404c5d89ccdff [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2015 CEA LIST.
* 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:
* CEA LIST - initial API and implementation
*******************************************************************************/
package org.eclipse.papyrus.designer.languages.c.codegen.lib
import org.eclipse.uml2.uml.InstanceValue
import org.eclipse.uml2.uml.ValueSpecification
import org.eclipse.uml2.uml.EnumerationLiteral
import org.eclipse.uml2.uml.Expression
class valueSpecificationScript {
def public static ValueSpecificationTemplate(ValueSpecification valueSpecification) '''
«valueSpecification.stringValue()»
'''
def public static ValueSpecificationTemplate(InstanceValue instanceValue) '''
«IF (instanceValue.instance instanceof EnumerationLiteral)»
«FOR slot : instanceValue.instance.slots»
«FOR value : slot.values» «value.ValueSpecificationTemplate»
«ENDFOR»
«ENDFOR»{
«FOR slot : instanceValue.instance.slots»
«slot.definingFeature.name.toUpperCase()» = «FOR value : slot.values» «value.ValueSpecificationTemplate» «ENDFOR»;
«ENDFOR»
}
«ELSE»
«instanceValue.instance.name»
«ENDIF»
'''
def public static ValueSpecificationTemplate(Expression expression) '''
'''
}