Interface IBasicSymbolsScope

    • Method Detail

      • isTypeVariableBound

        default boolean isTypeVariableBound​(TypeVarSymbol typeVar)
        returns whether a type variable is bound within this scope e.g. class C<T> {} // T is bound within the class
      • resolveFunctionLocallyMany

        default java.util.List<FunctionSymbol> resolveFunctionLocallyMany​(boolean foundSymbols,
                                                                          java.lang.String name,
                                                                          de.monticore.symboltable.modifiers.AccessModifier modifier,
                                                                          java.util.function.Predicate<FunctionSymbol> predicate)
        override method from ExpressionBasisScope to resolve all methods correctly method needed to be overridden because of special cases: if the scope is spanned by a type symbol you have to look for fitting methods in its super types too because of inheritance the method resolves the methods like the overridden method and if the spanning symbol is a type symbol it additionally looks for methods in its super types it is used by the method getMethodList in SymTypeExpression
        Specified by:
        resolveFunctionLocallyMany in interface IBasicSymbolsScopeTOP
      • resolveVariableLocallyMany

        default java.util.List<VariableSymbol> resolveVariableLocallyMany​(boolean foundSymbols,
                                                                          java.lang.String name,
                                                                          de.monticore.symboltable.modifiers.AccessModifier modifier,
                                                                          java.util.function.Predicate<VariableSymbol> predicate)
        override method from ExpressionBasisScope to resolve all fields correctly method needed to be overridden because of special cases: if the scope is spanned by a type symbol you have to look for fitting fields in its super types too because of inheritance the method resolves the fields like the overridden method and if the spanning symbol is a type symbol it additionally looks for fields in its super types it is used by the method getFieldList in SymTypeExpression
        Specified by:
        resolveVariableLocallyMany in interface IBasicSymbolsScopeTOP