Class SymTypeObscure

    • Constructor Detail

      • SymTypeObscure

        public SymTypeObscure()
    • Method Detail

      • isValidType

        public boolean isValidType()
        Description copied from class: SymTypeExpression
        Am I a not valid type? e.g. unknown type, not all type variables set, pseudo types like typeVariables
        Overrides:
        isValidType in class SymTypeExpression
      • getMethodList

        public java.util.List<FunctionSymbol> getMethodList​(java.lang.String methodname,
                                                            boolean abstractTc,
                                                            de.monticore.symboltable.modifiers.AccessModifier modifier)
        Description copied from class: SymTypeExpression
        returns the list of methods the SymTypeExpression can access and filters these for a method with specific name the last calculated type in the type check was no type
        Overrides:
        getMethodList in class SymTypeExpression
      • getCorrectMethods

        protected java.util.List<FunctionSymbol> getCorrectMethods​(java.lang.String methodName,
                                                                   boolean outerIsType,
                                                                   boolean abstractTc,
                                                                   de.monticore.symboltable.modifiers.AccessModifier modifier)
        Description copied from class: SymTypeExpression
        return the correct methods for the two situations: 1) the last calculated type in the type check was a type, then filter for non-static methods and add the static methods of this type 2) the last calculated type in the type check was an instance, then just resolve for methods
        Overrides:
        getCorrectMethods in class SymTypeExpression
        Parameters:
        methodName - name of the method we search for
        outerIsType - true if last result of type check was type, false if it was an instance
        abstractTc - true if the tc is not used for object-oriented languages
        Returns:
        the correct methods for the specific case
      • getFieldList

        public java.util.List<VariableSymbol> getFieldList​(java.lang.String fieldName,
                                                           boolean abstractTc,
                                                           de.monticore.symboltable.modifiers.AccessModifier modifier)
        Description copied from class: SymTypeExpression
        returns the list of fields the SymTypeExpression can access and filters these for a field with specific name
        Overrides:
        getFieldList in class SymTypeExpression
      • getFieldList

        public java.util.List<VariableSymbol> getFieldList​(java.lang.String fieldName,
                                                           boolean outerIsType,
                                                           boolean abstractTc,
                                                           de.monticore.symboltable.modifiers.AccessModifier modifier)
        Description copied from class: SymTypeExpression
        returns the correct fields in both cases: 1) the last result was a type, 2) the last result was an instance
        Overrides:
        getFieldList in class SymTypeExpression
        Parameters:
        fieldName - name of the field we search for
        outerIsType - true if the last result was a type, false if it was an instance
        Returns:
        the correct fields for the specific case
      • getCorrectFields

        protected java.util.List<VariableSymbol> getCorrectFields​(java.lang.String fieldName,
                                                                  boolean outerIsType,
                                                                  boolean abstractTc,
                                                                  de.monticore.symboltable.modifiers.AccessModifier modifier)
        Description copied from class: SymTypeExpression
        return the correct fields for the two situations: 1) the last calculated type in the type check was a type, then filter for non-static fields and add the static fields of this type 2) the last calculated type in the type check was an instance, then just resolve for fields
        Overrides:
        getCorrectFields in class SymTypeExpression
        Parameters:
        fieldName - name of the field we search for
        outerIsType - true if last result of type check was type, false if it was an instance
        Returns:
        the correct fields for the specific case