Package sc.lang.java

Class EnumConstant

    • Field Detail

      • arguments

        public java.util.List<Expression> arguments
      • shadowedByMethod

        public transient boolean shadowedByMethod
    • Constructor Detail

      • EnumConstant

        public EnumConstant()
    • Method Detail

      • getDeclaredProperties

        public java.util.List<java.lang.Object> getDeclaredProperties​(java.lang.String modifier,
                                                                      boolean includeAssigns,
                                                                      boolean includeModified,
                                                                      boolean includeInherited)
        For this type only we add the enum constants as properties
        Specified by:
        getDeclaredProperties in interface ITypeDeclaration
        Overrides:
        getDeclaredProperties in class BodyTypeDeclaration
      • getAllInnerTypes

        public java.util.List<java.lang.Object> getAllInnerTypes​(java.lang.String modifier,
                                                                 boolean thisClassOnly,
                                                                 boolean includeInherited)
        Just like above - we cannot show the enum constants as children of themselves even if they inherit them through the type hierarchy
        Specified by:
        getAllInnerTypes in interface ITypeDeclaration
        Overrides:
        getAllInnerTypes in class BodyTypeDeclaration
      • isAssignableFrom

        public boolean isAssignableFrom​(ITypeDeclaration other,
                                        boolean assignmentSemantics)
      • getRuntimeType

        public java.lang.Object getRuntimeType()
      • implementsType

        public boolean implementsType​(java.lang.String otherTypeName,
                                      boolean assignment,
                                      boolean allowUnbound)
      • getClassTypeParameters

        public java.util.List<?> getClassTypeParameters()
        Description copied from interface: ITypeDeclaration
        This returns the normal typeParameters for the type. It used to be called getTypeParameters but that conflicts with the semantic 'typeParameters' property on TypeDeclaration This one needs to be distinct for ModifyTypes which can either set or inherit their type parameters.
      • isComponentType

        public boolean isComponentType()
      • isRealType

        public boolean isRealType()
        Description copied from interface: ITypeDeclaration
        Return false for any types, such as lambda expressions, or intermediate template fragments which are not included in the type hierarchy (name and enclosing type)
      • isStaticType

        public boolean isStaticType()
        Description copied from class: BodyTypeDeclaration
        Returns true if this is a static type - i.e. the class/object has the static keyword (or we are modifying a static type). This is different than "isStatic()" in a subtle way. That is used for an expression to see if it is in a static context. These are not the same for example when you have a static object but are initializing an instance variable of that object. It should see it as part of an instance context but that object is still considered a static type for its parent
        Overrides:
        isStaticType in class BodyTypeDeclaration
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • transformEnumConstantToJS

        public void transformEnumConstantToJS​(ClassDeclaration cl)
      • refreshNode

        public EnumConstant refreshNode()
        Description copied from class: BodyTypeDeclaration
        This method is used by the IDE when it wants to convert this type declaration (which it might find in a reference) with the version of this type managed in the IDE. It uses the getAnnotatedModel method to find the right model, then looks for this type in that layered system (since we know by then that the model in that system is annotated .
        Specified by:
        refreshNode in interface ISemanticNode
        Overrides:
        refreshNode in class BodyTypeDeclaration