Package de.monticore.types3.util
Class OOWithinTypeBasicSymbolsResolver
- java.lang.Object
-
- de.monticore.types3.util.WithinTypeBasicSymbolsResolver
-
- de.monticore.types3.util.OOWithinTypeBasicSymbolsResolver
-
public class OOWithinTypeBasicSymbolsResolver extends WithinTypeBasicSymbolsResolver
resolves within a type, unlikeWithinTypeBasicSymbolsResolver, we further filter by "OO-rules", e.g., a constructor cannot be called like other methods
-
-
Field Summary
Fields Modifier and Type Field Description protected static OOWithinTypeBasicSymbolsResolverdelegate-
Fields inherited from class de.monticore.types3.util.WithinTypeBasicSymbolsResolver
LOG_NAME
-
-
Constructor Summary
Constructors Constructor Description OOWithinTypeBasicSymbolsResolver()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected java.util.List<SymTypeOfFunction>_resolveConstructors(SymTypeExpression thisType, de.monticore.symboltable.modifiers.AccessModifier accessModifier, java.util.function.Predicate<FunctionSymbol> predicate)protected static OOWithinTypeBasicSymbolsResolvergetDelegate()static voidinit()protected booleanisConstructor(FunctionSymbol func)protected de.monticore.symboltable.modifiers.AccessModifierremoveStaticness(de.monticore.symboltable.modifiers.AccessModifier accessModifier)replaces any static/non-static access with all access this is done as we want to ignore isStatic in constructors There are some languages, where this distinction is relevant (e.g., C#)protected SymTypeExpressionreplaceFreeConstructorTypeVariables(SymTypeExpression type)static voidreset()java.util.List<FunctionSymbol>resolveConstructorLocally(IBasicSymbolsScope scope, java.lang.String name, de.monticore.symboltable.modifiers.AccessModifier accessModifier, java.util.function.Predicate<FunctionSymbol> predicate)Deprecated, for removal: This API element is subject to removal in a future version.static java.util.List<SymTypeOfFunction>resolveConstructors(SymTypeExpression thisType, de.monticore.symboltable.modifiers.AccessModifier accessModifier, java.util.function.Predicate<FunctionSymbol> predicate)resolves within a type including supertypesprotected java.util.List<FunctionSymbol>resolveFunctionLocally(IBasicSymbolsScope scope, java.lang.String name, de.monticore.symboltable.modifiers.AccessModifier accessModifier, java.util.function.Predicate<FunctionSymbol> predicate)resolves locally, EXCLUDING supertypes this filters out constructorsprotected static voidsetDelegate(OOWithinTypeBasicSymbolsResolver newDelegate)-
Methods inherited from class de.monticore.types3.util.WithinTypeBasicSymbolsResolver
_canResolveIn, _getAllFunctions, _getAllTypes, _getAllVariables, _internal_getMemberNames, _internal_getMemberNamesLocally, _resolveFunctions, _resolveType, _resolveVariable, assertTypeVarsAreIncluded, canResolveIn, getAllFunctions, getAllTypes, getAllVariables, getIsLocalSymbolPredicate, getIsNotTypeVarSymbolPredicate, getSpannedScope, getSuperTypes, getTypeDispatcher, getUnboundVariableReplaceMap, private2Protected, replaceFreeTypeVariables, replaceVariablesIfNecessary, resolvedFunctionsInSuperTypes, resolveFunctions, resolveFunctionsInThisType, resolveType, resolveTypeLocally, resolveVariable, resolveVariableLocally, setDelegate
-
-
-
-
Field Detail
-
delegate
protected static OOWithinTypeBasicSymbolsResolver delegate
-
-
Method Detail
-
resolveConstructors
public static java.util.List<SymTypeOfFunction> resolveConstructors(SymTypeExpression thisType, de.monticore.symboltable.modifiers.AccessModifier accessModifier, java.util.function.Predicate<FunctionSymbol> predicate)
resolves within a type including supertypes
-
_resolveConstructors
protected java.util.List<SymTypeOfFunction> _resolveConstructors(SymTypeExpression thisType, de.monticore.symboltable.modifiers.AccessModifier accessModifier, java.util.function.Predicate<FunctionSymbol> predicate)
-
resolveFunctionLocally
protected java.util.List<FunctionSymbol> resolveFunctionLocally(IBasicSymbolsScope scope, java.lang.String name, de.monticore.symboltable.modifiers.AccessModifier accessModifier, java.util.function.Predicate<FunctionSymbol> predicate)
resolves locally, EXCLUDING supertypes this filters out constructors- Overrides:
resolveFunctionLocallyin classWithinTypeBasicSymbolsResolver
-
resolveConstructorLocally
@Deprecated(forRemoval=true) public java.util.List<FunctionSymbol> resolveConstructorLocally(IBasicSymbolsScope scope, java.lang.String name, de.monticore.symboltable.modifiers.AccessModifier accessModifier, java.util.function.Predicate<FunctionSymbol> predicate)
Deprecated, for removal: This API element is subject to removal in a future version.
-
replaceFreeConstructorTypeVariables
protected SymTypeExpression replaceFreeConstructorTypeVariables(SymTypeExpression type)
-
isConstructor
protected boolean isConstructor(FunctionSymbol func)
-
removeStaticness
protected de.monticore.symboltable.modifiers.AccessModifier removeStaticness(de.monticore.symboltable.modifiers.AccessModifier accessModifier)
replaces any static/non-static access with all access this is done as we want to ignore isStatic in constructors There are some languages, where this distinction is relevant (e.g., C#)
-
init
public static void init()
-
reset
public static void reset()
-
setDelegate
protected static void setDelegate(OOWithinTypeBasicSymbolsResolver newDelegate)
-
getDelegate
protected static OOWithinTypeBasicSymbolsResolver getDelegate()
-
-