Class MCCommonStatementsMill
- java.lang.Object
-
- de.monticore.statements.mccommonstatements.MCCommonStatementsMill
-
- Direct Known Subclasses:
MCCommonStatementsMillForGrammar_WithConcepts,MCCommonStatementsMillForJavaLight,MCCommonStatementsMillForMCExceptionStatements,MCCommonStatementsMillForMCFullJavaStatements,MCCommonStatementsMillForMCSynchronizedStatements,MCCommonStatementsMillForODRules,MCCommonStatementsMillForTFBasisExts,MCCommonStatementsMillForTFCommons
public class MCCommonStatementsMill extends java.lang.ObjectThe mill is a factory for builders and other commonly used functions, such as parsers or visitors. The mill was introduced to ensure compositionality of languages, while retaining reusability of functions developed for sublanguages. Only one mill instance exists, even though in composed languages it is available under several static signatures.
-
-
Field Summary
Fields Modifier and Type Field Description protected MCCommonStatementsFullPrettyPrinterfullPrettyPrinterprotected IMCCommonStatementsGlobalScopemCCommonStatementsGlobalScopeprotected static MCCommonStatementsMillmillprotected IMCCommonStatementsTypeDispatchertypeDispatcher
-
Constructor Summary
Constructors Modifier Constructor Description protectedMCCommonStatementsMill()
-
Method Summary
-
-
-
Field Detail
-
mill
protected static MCCommonStatementsMill mill
-
fullPrettyPrinter
protected MCCommonStatementsFullPrettyPrinter fullPrettyPrinter
-
typeDispatcher
protected IMCCommonStatementsTypeDispatcher typeDispatcher
-
mCCommonStatementsGlobalScope
protected IMCCommonStatementsGlobalScope mCCommonStatementsGlobalScope
-
-
Method Detail
-
getMill
public static MCCommonStatementsMill getMill()
-
init
public static void init()
Initializes a languages Mill. This will also initialize the Mills of all languages it depends on. This ensures that all objects of this mill, such as builders, traversers, scopes, ..., deliver the element of the correct language.
-
mCJavaBlockBuilder
public static ASTMCJavaBlockBuilder mCJavaBlockBuilder()
-
_mCJavaBlockBuilder
protected ASTMCJavaBlockBuilder _mCJavaBlockBuilder()
-
javaModifierBuilder
public static ASTJavaModifierBuilder javaModifierBuilder()
-
_javaModifierBuilder
protected ASTJavaModifierBuilder _javaModifierBuilder()
-
ifStatementBuilder
public static ASTIfStatementBuilder ifStatementBuilder()
-
_ifStatementBuilder
protected ASTIfStatementBuilder _ifStatementBuilder()
-
forStatementBuilder
public static ASTForStatementBuilder forStatementBuilder()
-
_forStatementBuilder
protected ASTForStatementBuilder _forStatementBuilder()
-
commonForControlBuilder
public static ASTCommonForControlBuilder commonForControlBuilder()
-
_commonForControlBuilder
protected ASTCommonForControlBuilder _commonForControlBuilder()
-
forInitBuilder
public static ASTForInitBuilder forInitBuilder()
-
_forInitBuilder
protected ASTForInitBuilder _forInitBuilder()
-
forInitByExpressionsBuilder
public static ASTForInitByExpressionsBuilder forInitByExpressionsBuilder()
-
_forInitByExpressionsBuilder
protected ASTForInitByExpressionsBuilder _forInitByExpressionsBuilder()
-
enhancedForControlBuilder
public static ASTEnhancedForControlBuilder enhancedForControlBuilder()
-
_enhancedForControlBuilder
protected ASTEnhancedForControlBuilder _enhancedForControlBuilder()
-
formalParameterBuilder
public static ASTFormalParameterBuilder formalParameterBuilder()
-
_formalParameterBuilder
protected ASTFormalParameterBuilder _formalParameterBuilder()
-
whileStatementBuilder
public static ASTWhileStatementBuilder whileStatementBuilder()
-
_whileStatementBuilder
protected ASTWhileStatementBuilder _whileStatementBuilder()
-
doWhileStatementBuilder
public static ASTDoWhileStatementBuilder doWhileStatementBuilder()
-
_doWhileStatementBuilder
protected ASTDoWhileStatementBuilder _doWhileStatementBuilder()
-
switchStatementBuilder
public static ASTSwitchStatementBuilder switchStatementBuilder()
-
_switchStatementBuilder
protected ASTSwitchStatementBuilder _switchStatementBuilder()
-
emptyStatementBuilder
public static ASTEmptyStatementBuilder emptyStatementBuilder()
-
_emptyStatementBuilder
protected ASTEmptyStatementBuilder _emptyStatementBuilder()
-
expressionStatementBuilder
public static ASTExpressionStatementBuilder expressionStatementBuilder()
-
_expressionStatementBuilder
protected ASTExpressionStatementBuilder _expressionStatementBuilder()
-
switchBlockStatementGroupBuilder
public static ASTSwitchBlockStatementGroupBuilder switchBlockStatementGroupBuilder()
-
_switchBlockStatementGroupBuilder
protected ASTSwitchBlockStatementGroupBuilder _switchBlockStatementGroupBuilder()
-
constantExpressionSwitchLabelBuilder
public static ASTConstantExpressionSwitchLabelBuilder constantExpressionSwitchLabelBuilder()
-
_constantExpressionSwitchLabelBuilder
protected ASTConstantExpressionSwitchLabelBuilder _constantExpressionSwitchLabelBuilder()
-
enumConstantSwitchLabelBuilder
public static ASTEnumConstantSwitchLabelBuilder enumConstantSwitchLabelBuilder()
-
_enumConstantSwitchLabelBuilder
protected ASTEnumConstantSwitchLabelBuilder _enumConstantSwitchLabelBuilder()
-
defaultSwitchLabelBuilder
public static ASTDefaultSwitchLabelBuilder defaultSwitchLabelBuilder()
-
_defaultSwitchLabelBuilder
protected ASTDefaultSwitchLabelBuilder _defaultSwitchLabelBuilder()
-
breakStatementBuilder
public static ASTBreakStatementBuilder breakStatementBuilder()
-
_breakStatementBuilder
protected ASTBreakStatementBuilder _breakStatementBuilder()
-
prettyPrint
public static java.lang.String prettyPrint(de.monticore.ast.ASTNode node, boolean printComments)Uses the composed pretty printer to print an ASTNode of this language- Parameters:
node- The ASTNode to be printedprintComments- Whether comments should be printed- Returns:
- The pretty printer output
-
_prettyPrint
protected java.lang.String _prettyPrint(de.monticore.ast.ASTNode node, boolean printComments)
-
typeDispatcher
public static IMCCommonStatementsTypeDispatcher typeDispatcher()
-
_typeDispatcher
protected IMCCommonStatementsTypeDispatcher _typeDispatcher()
-
traverser
public static MCCommonStatementsTraverser traverser()
A traverser is the conceptual entry point for every action within the visitor infrastructure. Visitors may be added, which contain the implementations for the visit and endVisit methods. Handlers may be added to modify the default traversal strategy. Each traverser retains their traversed elements to avoid duplicate traversal, possibly requiringITraverser.clearTraversedElements()to be called in case of re-useinheritanceTraverser()should be preferred over normal traverser, as they further enable language composition.- Returns:
- a new instance of this language's traverser
-
_traverser
protected MCCommonStatementsTraverser _traverser()
-
inheritanceTraverser
public static MCCommonStatementsTraverser inheritanceTraverser()
A traverser is the conceptual entry point for every action within the visitor infrastructure. Visitors may be added, which contain the implementations for the visit and endVisit methods. Handlers may be added to modify the default traversal strategy. Each traverser retains their traversed elements to avoid duplicate traversal, possibly requiringITraverser.clearTraversedElements()to be called in case of re-use Inheritance Traverser should be preferred over default ones, as they further enable language composition.- Returns:
- a new instance of this language's inheritance traverser
-
_inheritanceTraverser
protected MCCommonStatementsTraverser _inheritanceTraverser()
-
globalScope
public static IMCCommonStatementsGlobalScope globalScope()
-
_globalScope
protected IMCCommonStatementsGlobalScope _globalScope()
-
artifactScope
public static IMCCommonStatementsArtifactScope artifactScope()
-
_artifactScope
protected IMCCommonStatementsArtifactScope _artifactScope()
-
scope
public static IMCCommonStatementsScope scope()
-
_scope
protected IMCCommonStatementsScope _scope()
-
scopesGenitor
public static MCCommonStatementsScopesGenitor scopesGenitor()
Returns a new ScopeGenitor. ScopeGenitors are responsible for creating the scope structure of artifacts of only this language and linking it with the AST nodes. Note: ScopeGenitors do NOT delegate to elements of composed languages which is why you are most likely looking forscopesGenitorDelegator().- Returns:
- a new instance of this language's scope genitor
-
_scopesGenitor
protected MCCommonStatementsScopesGenitor _scopesGenitor()
-
scopesGenitorDelegator
public static MCCommonStatementsScopesGenitorDelegator scopesGenitorDelegator()
Returns a new ScopeGenitorDelegator. Delegates to the ScopeGenitors of composed languages, used for instantiating symbol tables in the context of language composition See the delegators #createFromAST method.- Returns:
- a new instance of this language's scope genitor delegator
-
_scopesGenitorDelegator
protected MCCommonStatementsScopesGenitorDelegator _scopesGenitorDelegator()
-
localVariableDeclarationStatementBuilder
public static ASTLocalVariableDeclarationStatementBuilder localVariableDeclarationStatementBuilder()
-
localVariableDeclarationBuilder
public static ASTLocalVariableDeclarationBuilder localVariableDeclarationBuilder()
-
variableDeclaratorBuilder
public static ASTVariableDeclaratorBuilder variableDeclaratorBuilder()
-
declaratorIdBuilder
public static ASTDeclaratorIdBuilder declaratorIdBuilder()
-
simpleInitBuilder
public static ASTSimpleInitBuilder simpleInitBuilder()
-
mCQualifiedNameBuilder
public static ASTMCQualifiedNameBuilder mCQualifiedNameBuilder()
-
mCPackageDeclarationBuilder
public static ASTMCPackageDeclarationBuilder mCPackageDeclarationBuilder()
-
mCImportStatementBuilder
public static ASTMCImportStatementBuilder mCImportStatementBuilder()
-
mCPrimitiveTypeBuilder
public static ASTMCPrimitiveTypeBuilder mCPrimitiveTypeBuilder()
-
mCQualifiedTypeBuilder
public static ASTMCQualifiedTypeBuilder mCQualifiedTypeBuilder()
-
mCReturnTypeBuilder
public static ASTMCReturnTypeBuilder mCReturnTypeBuilder()
-
mCVoidTypeBuilder
public static ASTMCVoidTypeBuilder mCVoidTypeBuilder()
-
nameExpressionBuilder
public static ASTNameExpressionBuilder nameExpressionBuilder()
-
literalExpressionBuilder
public static ASTLiteralExpressionBuilder literalExpressionBuilder()
-
argumentsBuilder
public static ASTArgumentsBuilder argumentsBuilder()
-
oOTypeSymbolBuilder
public static OOTypeSymbolBuilder oOTypeSymbolBuilder()
-
oOTypeSymbolSurrogateBuilder
public static OOTypeSymbolSurrogateBuilder oOTypeSymbolSurrogateBuilder()
-
fieldSymbolBuilder
public static FieldSymbolBuilder fieldSymbolBuilder()
-
fieldSymbolSurrogateBuilder
public static FieldSymbolSurrogateBuilder fieldSymbolSurrogateBuilder()
-
methodSymbolBuilder
public static MethodSymbolBuilder methodSymbolBuilder()
-
methodSymbolSurrogateBuilder
public static MethodSymbolSurrogateBuilder methodSymbolSurrogateBuilder()
-
diagramSymbolBuilder
public static DiagramSymbolBuilder diagramSymbolBuilder()
-
diagramSymbolSurrogateBuilder
public static DiagramSymbolSurrogateBuilder diagramSymbolSurrogateBuilder()
-
typeSymbolBuilder
public static TypeSymbolBuilder typeSymbolBuilder()
-
typeSymbolSurrogateBuilder
public static TypeSymbolSurrogateBuilder typeSymbolSurrogateBuilder()
-
typeVarSymbolBuilder
public static TypeVarSymbolBuilder typeVarSymbolBuilder()
-
typeVarSymbolSurrogateBuilder
public static TypeVarSymbolSurrogateBuilder typeVarSymbolSurrogateBuilder()
-
variableSymbolBuilder
public static VariableSymbolBuilder variableSymbolBuilder()
-
variableSymbolSurrogateBuilder
public static VariableSymbolSurrogateBuilder variableSymbolSurrogateBuilder()
-
functionSymbolBuilder
public static FunctionSymbolBuilder functionSymbolBuilder()
-
functionSymbolSurrogateBuilder
public static FunctionSymbolSurrogateBuilder functionSymbolSurrogateBuilder()
-
mCStereotypeSymbolBuilder
public static MCStereotypeSymbolBuilder mCStereotypeSymbolBuilder()
-
mCStereotypeSymbolSurrogateBuilder
public static MCStereotypeSymbolSurrogateBuilder mCStereotypeSymbolSurrogateBuilder()
-
initMe
public static void initMe(MCCommonStatementsMill a)
-
reset
public static void reset()
-
-