Package sc.lang.java

Class Definition

    • Constructor Detail

      • Definition

        public Definition()
    • Method Detail

      • startModifiers

        public void startModifiers()
      • addInheritedAnnotationProcessor

        protected void addInheritedAnnotationProcessor​(IAnnotationProcessor process,
                                                       java.lang.String annotName)
        Overridden
      • processModifiers

        protected void processModifiers​(java.util.List<java.lang.Object> modifiers)
      • getScopeName

        public java.lang.String getScopeName()
      • getScope

        public sc.lang.sc.ScopeModifier getScope()
      • getScopeProcessor

        public sc.lang.sc.IScopeProcessor getScopeProcessor()
      • isDefaultSync

        public boolean isDefaultSync()
      • hasModifier

        public boolean hasModifier​(java.lang.String modifier)
        Specified by:
        hasModifier in interface IDefinition
      • addModifier

        public void addModifier​(java.lang.Object modifier)
      • getInternalAccessLevel

        public AccessLevel getInternalAccessLevel()
      • getExtraModifiers

        public java.lang.Object[] getExtraModifiers()
      • getComputedModifiers

        public java.util.List<java.lang.Object> getComputedModifiers()
      • modifiersToString

        public java.lang.String modifiersToString​(boolean includeAnnotations,
                                                  boolean includeAccess,
                                                  boolean includeFinal,
                                                  boolean includeScopes,
                                                  boolean absolute,
                                                  JavaSemanticNode.MemberType type)
        Description copied from interface: IDefinition
        Returns the a specific set of of modifiers in string form - including annotations, access, final, or scopes with flags. Used for generating the modifiers string for one definition generated from another (e.g. a setX method from a field) If absoluteTypeNames is true, the absolute path of annotations is used. If filterType is not null, only annotations appropriate for the given member type are included. If you are generating code from a field for a setX method, you'd set a filter type of MemberType.Method.
        Specified by:
        modifiersToString in interface IDefinition
      • getAnnotation

        public java.lang.Object getAnnotation​(java.lang.String annotationName,
                                              boolean checkModified)
        Specified by:
        getAnnotation in interface IDefinition
      • getRepeatingAnnotation

        public java.util.List<java.lang.Object> getRepeatingAnnotation​(java.lang.String annotationName)
        Specified by:
        getRepeatingAnnotation in interface IDefinition
      • hasAnnotation

        public boolean hasAnnotation​(java.lang.String annotName)
      • removeAnnotation

        public void removeAnnotation​(java.lang.String annotationName)
      • mergeModifiers

        public boolean mergeModifiers​(java.lang.Object overridden,
                                      boolean replace,
                                      boolean mergeDefaultModifiers)
      • transformDefaultModifier

        public boolean transformDefaultModifier()
      • useDefaultModifier

        public boolean useDefaultModifier()
      • deepCopy

        public Definition deepCopy​(int options,
                                   java.util.IdentityHashMap<java.lang.Object,​java.lang.Object> oldNewMap)
        Description copied from interface: ISemanticNode
        Performs a deep copy of the semantic node tree. Subclasses should do their own copy implementation to decide what else to copy. Uses the copy options flags above. The default, with 0, just copies the semantic node information so you get a new tree like's it parsed but without parse node info. Use that mode only if you want to throw away the original source and regenerate it all from scratch. Otherwise, you can copy the parse tree as well. If you want to copy the semantic node's initial resolved state - including it's init/start, etc. and whatever the subclass adds to that copy, use CopyState or CopyNormal - for both parse nodes and state.
        Specified by:
        deepCopy in interface ISemanticNode
        Overrides:
        deepCopy in class SemanticNode
      • setAnnotations

        public void setAnnotations​(java.util.Map<java.lang.String,​java.lang.Object> res)
      • getAnnotations

        public java.util.Map<java.lang.String,​java.lang.Object> getAnnotations()
        Specified by:
        getAnnotations in interface IDefinition
      • getAnnotationValueKey

        public static java.lang.String getAnnotationValueKey​(java.lang.String typeName,
                                                             java.lang.String ident)
      • setModifierFlags

        public void setModifierFlags​(int val)
      • getModifierFlags

        public int getModifierFlags()
        Used to extract just the important modifiers into a single integer for client/server meta-data synchronization
      • getEnclosingTypeName

        public java.lang.String getEnclosingTypeName()
        This is here specifically for serializing the enclosingTypeName as part of the Definition in js.layer