Package de.monticore.types3.util
Class MapBasedTypeCheck3
- java.lang.Object
-
- de.monticore.types3.TypeCheck3
-
- de.monticore.types3.util.MapBasedTypeCheck3
-
- Direct Known Subclasses:
JavaLightTypeCheck3
public class MapBasedTypeCheck3 extends TypeCheck3
A default implementation of the TypeCheck3 interface. This class is designed to be derived from, such that the required traverser and maps are provided by the subclasses.This implementation is based on the Maps
Type4AstandInferenceContext4Ast, which filled using a traverser.Type4Astis filled with the result of the type derivation, whileInferenceContext4Astis used to provide information to the traverser, e.g., an expressions target type.If the type has already been derived and stored in
Type4Ast, then it will not be derived again.
-
-
Field Summary
Fields Modifier and Type Field Description protected InferenceContext4Astctx4Astprotected static java.lang.StringLOG_NAMEprotected Type4Asttype4Astprotected de.monticore.visitor.ITraversertypeTraverser-
Fields inherited from class de.monticore.types3.TypeCheck3
delegate
-
-
Constructor Summary
Constructors Constructor Description MapBasedTypeCheck3(de.monticore.visitor.ITraverser typeTraverser, Type4Ast type4Ast)This constructor may only be used if the language does not support generics! Otherwise, useMapBasedTypeCheck3(ITraverser, Type4Ast, InferenceContext4Ast).MapBasedTypeCheck3(de.monticore.visitor.ITraverser typeTraverser, Type4Ast type4Ast, InferenceContext4Ast ctx4Ast)S.a.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected SymTypeExpression_symTypeFromAST(ASTMCQualifiedName mcQualifiedName)protected SymTypeExpression_symTypeFromAST(ASTMCReturnType mcReturnType)protected SymTypeExpression_symTypeFromAST(ASTMCType mcType)protected SymTypeExpression_symTypeFromAST(ASTMCVoidType mcVoidType)protected SymTypeExpression_typeOf(ASTExpression expr)protected SymTypeExpression_typeOf(ASTExpression expr, SymTypeExpression targetType)protected SymTypeExpression_typeOf(ASTLiteral lit)InferenceContext4AstgetCtx4Ast()Type4AstgetType4Ast()de.monticore.visitor.ITraversergetTypeTraverser()voidsetThisAsDelegate()This will be set as the TypeCheck3 delegate.-
Methods inherited from class de.monticore.types3.TypeCheck3
getDelegate, resetDelegate, setDelegate, symTypeFromAST, symTypeFromAST, symTypeFromAST, symTypeFromAST, typeOf, typeOf, typeOf
-
-
-
-
Field Detail
-
LOG_NAME
protected static final java.lang.String LOG_NAME
- See Also:
- Constant Field Values
-
typeTraverser
protected de.monticore.visitor.ITraverser typeTraverser
-
type4Ast
protected Type4Ast type4Ast
-
ctx4Ast
protected InferenceContext4Ast ctx4Ast
-
-
Constructor Detail
-
MapBasedTypeCheck3
public MapBasedTypeCheck3(de.monticore.visitor.ITraverser typeTraverser, Type4Ast type4Ast, InferenceContext4Ast ctx4Ast)S.a.setThisAsDelegate().- Parameters:
typeTraverser- traverser filling type4Ast, language specifictype4Ast- a map of types to be filledctx4Ast- a map of contexts to be filled
-
MapBasedTypeCheck3
public MapBasedTypeCheck3(de.monticore.visitor.ITraverser typeTraverser, Type4Ast type4Ast)This constructor may only be used if the language does not support generics! Otherwise, useMapBasedTypeCheck3(ITraverser, Type4Ast, InferenceContext4Ast).
-
-
Method Detail
-
setThisAsDelegate
public void setThisAsDelegate()
This will be set as the TypeCheck3 delegate.
-
getTypeTraverser
public de.monticore.visitor.ITraverser getTypeTraverser()
-
getType4Ast
public Type4Ast getType4Ast()
-
getCtx4Ast
public InferenceContext4Ast getCtx4Ast()
-
_symTypeFromAST
protected SymTypeExpression _symTypeFromAST(ASTMCType mcType)
- Specified by:
_symTypeFromASTin classTypeCheck3
-
_symTypeFromAST
protected SymTypeExpression _symTypeFromAST(ASTMCVoidType mcVoidType)
- Specified by:
_symTypeFromASTin classTypeCheck3
-
_symTypeFromAST
protected SymTypeExpression _symTypeFromAST(ASTMCReturnType mcReturnType)
- Specified by:
_symTypeFromASTin classTypeCheck3
-
_symTypeFromAST
protected SymTypeExpression _symTypeFromAST(ASTMCQualifiedName mcQualifiedName)
- Specified by:
_symTypeFromASTin classTypeCheck3
-
_typeOf
protected SymTypeExpression _typeOf(ASTExpression expr)
- Specified by:
_typeOfin classTypeCheck3
-
_typeOf
protected SymTypeExpression _typeOf(ASTExpression expr, SymTypeExpression targetType)
- Overrides:
_typeOfin classTypeCheck3
-
_typeOf
protected SymTypeExpression _typeOf(ASTLiteral lit)
- Specified by:
_typeOfin classTypeCheck3
-
-