Package de.monticore.types3.util
Class OOWithinTypeBasicSymbolsResolver
java.lang.Object
de.monticore.types3.util.WithinTypeBasicSymbolsResolver
de.monticore.types3.util.OOWithinTypeBasicSymbolsResolver
resolves within a type,
unlike
WithinTypeBasicSymbolsResolver,
we further filter by "OO-rules",
e.g., a constructor cannot be called like other methods-
Field Summary
FieldsFields inherited from class de.monticore.types3.util.WithinTypeBasicSymbolsResolver
LOG_NAME -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected List<SymTypeOfFunction> _resolveConstructors(SymTypeExpression thisType, de.monticore.symboltable.modifiers.AccessModifier accessModifier, Predicate<FunctionSymbol> predicate) protected static OOWithinTypeBasicSymbolsResolverstatic 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 SymTypeExpressionstatic voidreset()resolveConstructorLocally(IBasicSymbolsScope scope, String name, de.monticore.symboltable.modifiers.AccessModifier accessModifier, Predicate<FunctionSymbol> predicate) Deprecated, for removal: This API element is subject to removal in a future version.static List<SymTypeOfFunction> resolveConstructors(SymTypeExpression thisType, de.monticore.symboltable.modifiers.AccessModifier accessModifier, Predicate<FunctionSymbol> predicate) resolves within a type including supertypesprotected List<FunctionSymbol> resolveFunctionLocallyMany(IBasicSymbolsScope scope, String name, de.monticore.symboltable.modifiers.AccessModifier accessModifier, 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, resolveFunctionLocally, resolveFunctions, resolveFunctionsInThisType, resolveFunctionsRecursive, resolveType, resolveTypeLocally, resolveTypeRecursive, resolveVariable, resolveVariableLocally, resolveVariableRecursive, setDelegate
-
Field Details
-
delegate
-
-
Constructor Details
-
OOWithinTypeBasicSymbolsResolver
public OOWithinTypeBasicSymbolsResolver()
-
-
Method Details
-
resolveConstructors
public static List<SymTypeOfFunction> resolveConstructors(SymTypeExpression thisType, de.monticore.symboltable.modifiers.AccessModifier accessModifier, Predicate<FunctionSymbol> predicate) resolves within a type including supertypes -
_resolveConstructors
protected List<SymTypeOfFunction> _resolveConstructors(SymTypeExpression thisType, de.monticore.symboltable.modifiers.AccessModifier accessModifier, Predicate<FunctionSymbol> predicate) -
resolveFunctionLocallyMany
protected List<FunctionSymbol> resolveFunctionLocallyMany(IBasicSymbolsScope scope, String name, de.monticore.symboltable.modifiers.AccessModifier accessModifier, Predicate<FunctionSymbol> predicate) resolves locally, EXCLUDING supertypes this filters out constructors- Overrides:
resolveFunctionLocallyManyin classWithinTypeBasicSymbolsResolver
-
resolveConstructorLocally
@Deprecated(forRemoval=true) public List<FunctionSymbol> resolveConstructorLocally(IBasicSymbolsScope scope, String name, de.monticore.symboltable.modifiers.AccessModifier accessModifier, Predicate<FunctionSymbol> predicate) Deprecated, for removal: This API element is subject to removal in a future version. -
replaceFreeConstructorTypeVariables
-
isConstructor
-
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
-
getDelegate
-
resolveConstructors(de.monticore.types.check.SymTypeExpression, de.monticore.symboltable.modifiers.AccessModifier, java.util.function.Predicate<de.monticore.symbols.basicsymbols._symboltable.FunctionSymbol>)