blob: 3a5f92cb3316f89fcec59738313ca4d499a2bee4 [file] [log] [blame]
/*******************************************************************************
* Copyright © 2011, 2013 IBM Corporation 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:
* IBM Corporation - initial API and implementation
*
*******************************************************************************/
package org.eclipse.edt.mof.egl;
import egl.lang.reflect.mof.Containment;
import egl.lang.reflect.mof.MofClass;
import egl.lang.reflect.mof.MofName;
externalType Statement extends Element type MofClass {isAbstract=true}
container Container;
end
externalType StatementBlock extends Statement type MofClass
statements Statement[] {@Containment{true}};
end
externalType ExpressionStatement extends Statement type MofClass
expr Expression {@Containment{true}};
end
externalType AssignmentStatement extends ExpressionStatement type MofClass
function getAssignment() returns (Assignment);
function setAssignment(expr Assignment in);
end
externalType SetValuesStatement extends ExpressionStatement type MofClass
function getSetValuesExpression() returns (SetValuesExpression);
function setAssignment(expr SetValuesExpression in);
end
externalType CallStatement extends Statement type MofClass
function getUsing() returns (Expression);
function setUsing(value Expression);
function getReturns() returns(LHSExpr);
function setReturns(value LHSExpr);
invocationTarget Expression {@Containment{true}};
arguments Expression[] {@Containment{true}};
usingExpression Expression {@Containment{true}};
callback MemberAccess {@Containment{true}};
errorCallback MemberAccess {@Containment{true}};
returnsValue LHSExpr {@Containment{true}};
end
externalType CaseStatement extends Statement type MofClass
criterion Expression {@Containment{true}};
whenClauses WhenClause[] {@Containment{true}};
defaultStatements StatementBlock {@Containment{true}};
eLabel string {@MofName{"label"}};
end
externalType ConditionalStatement extends Statement type MofClass {isAbstract=true}
condition Expression {@Containment{true}};
end
externalType ContinueStatement extends LabelStatement type MofClass
continueType int;
function isContinueFor() returns(boolean);
function isContinueForeach() returns(boolean);
function isContinueWhile() returns(boolean);
function isContinueOpenUI() returns(boolean);
end
externalType ConvertStatement extends ExpressionStatement type MofClass
function getConvertExpression() returns(ConvertExpression);
function setConvertExpression(expr ConvertExpression in);
end
externalType EmptyStatement extends Statement type MofClass
end
externalType ExitStatement extends LabelStatement type MofClass
exitStatementType int;
returnExpr Expression {@Containment{true}};
end
externalType ForwardStatement extends Statement type MofClass
forwardToTarget Expression {@Containment{true}};
arguments Expression[];
forwardToOption int;
function isForwardToLabel() returns(boolean);
function isForwardToURL() returns(boolean);
end
externalType FreeSqlStatement extends Statement type MofClass
preparedStatementID string;
end
externalType FunctionStatement extends ExpressionStatement type MofClass
function getFunctionInvocation() returns(FunctionInvocation);
function setFunctionInvocation(expr FunctionInvocation in);
end
externalType GoToStatement extends LabelStatement type MofClass
end
externalType LocalVariableDeclarationStatement extends ExpressionStatement type MofClass
function getExpression() returns(DeclarationExpression);
function setExpression(expr DeclarationExpression in);
end
externalType ReturnStatement extends Statement type MofClass
expression Expression {@Containment{true}};
end
externalType IfStatement extends ConditionalStatement type MofClass
trueBranch Statement {@Containment{true}};
falseBranch Statement {@Containment{true}};
end
externalType MoveStatement extends Statement type MofClass
sourceExpr Expression {@Containment{true}};
targetExpr LHSExpr {@Containment{true}};
modifierExpr Expression {@Containment{true}};
modifier int;
end
externalType PrintStatement extends Statement type MofClass
target Expression {@Containment{true}};
end
externalType SetStatement extends Statement type MofClass
targets Expression[] {@Containment{true}};
states string[];
end
externalType ThrowStatement extends Statement type MofClass
exception Expression {@Containment{true}};
end
externalType LoopStatement extends ConditionalStatement type MofClass {isAbstract=true}
body Statement {@Containment{true}};
end
externalType WhileStatement extends LoopStatement type MofClass
end
externalType ForStatement extends LoopStatement type MofClass
declarationExpression DeclarationExpression {@Containment{true}};
deltaExpression Expression {@Containment{true}};
counterVariable Expression {@Containment{true}};
fromExpression Expression {@Containment{true}};
toExpression Expression {@Containment{true}};
isIncrement boolean = true;
elabel string {@MofName{"label"}};
end
externalType ForEachStatement extends Statement type MofClass
declarationExpression DeclarationExpression {@Containment{true}};
dataSource Expression {@Containment{true}};
body Statement {@Containment{true}};
end
externalType LabelStatement extends Statement type MofClass
elabel string {@MofName{"label"}};
end
externalType TryStatement extends Statement type MofClass
tryBlock StatementBlock {@Containment{true}};
exceptionBlocks ExceptionBlock[] {@Containment{true}};
end
externalType TransferStatement extends Statement type MofClass
invocationTarget Expression {@Containment{true}};
passingRecord Expression {@Containment{true}};
targetType int;
end
externalType ExceptionBlock extends StatementBlock type MofClass
exception Parameter {@Containment{true}};
end
externalType WhenClause extends Element type MofClass
matchExpressions Expression[] {@Containment{true}};
statements StatementBlock {@Containment{true}};
end