su4sml/share/templates/C#.tpl

107 lines
3.5 KiB
Smarty

@//////////////////////////////////////////////////////////////////////////////
@// su4sml --- an SML repository for managing (Secure)UML/OCL models
@// http://projects.brucker.ch/su4sml/
@//
@// C#.tpl ---
@// This file is part of su4sml.
@//
@// Copyright (c) 2005-2007, ETH Zurich, Switzerland
@//
@// All rights reserved.
@//
@// Redistribution and use in source and binary forms, with or without
@// modification, are permitted provided that the following conditions are
@// met:
@//
@// * Redistributions of source code must retain the above copyright
@// notice, this list of conditions and the following disclaimer.
@//
@// * Redistributions in binary form must reproduce the above
@// copyright notice, this list of conditions and the following
@// disclaimer in the documentation and/or other materials provided
@// with the distribution.
@//
@// * Neither the name of the copyright holders nor the names of its
@// contributors may be used to endorse or promote products derived
@// from this software without specific prior written permission.
@//
@// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
@// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
@// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
@// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
@// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
@// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
@// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
@// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
@// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
@// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@///////////////////////////////////////////////////////////////////////////////
@// $Id$
@openfile generated/csharp/$classifier_package$.cs
// generated by su4sml GCG - Generic Code Generator
@nl
@nl using System;
@nl
@nl namespace $classifier_package$
@nl {
@foreach classifier_list
@nl@nl@nl
@if isPrimitive
@nl @tab // no support for primitive $classifier_name$ !!
@nl
@else
@if isClass
@nl @tab class $classifier_name$
@elsif isInterface
@nl @tab interface $classifier_name$
@end
@if hasParent
: $classifier_parent$
@end
@nl @tab {
@foreach attribute_list
@nl@nl
@if attribute_isPublic @// PROPERTY!
@nl @tab@tab private $attribute_scope$ $attribute_type$ $attribute_name_small_letter$ ;
@nl @tab@tab public $attribute_scope$ $attribute_type$ $attribute_name_capital$
@nl @tab@tab {
@nl @tab@tab@tab get { return $attribute_name_small_letter$; }
@nl @tab@tab@tab set { $attribute_name_small_letter$ = value ; }
@nl @tab@tab }
@else
@nl @tab@tab $attribute_visibility$ $attribute_scope$ $attribute_type$ $attribute_name$ ;
@end
@end
@nl
@foreach operation_list
@nl @tab@tab public $operation_scope$ $operation_result_type$ $operation_name$(
@foreach argument_list
@if last_argument
$argument_type$ $argument_name$
@else
$argument_type$ $argument_name$ ,
@end
@end
)
@nl @tab@tab {
@nl @tab@tab@tab // ...toDo...
@nl @tab@tab }
@end
@// Konstruktor:
@// @nl @tab@tab $classifier_name$()
@// @nl @tab@tab {}
@nl @tab}
@end
@end
@nl} // End