Skip to content

Commit

Permalink
Organise members of SymbolHelpers.
Browse files Browse the repository at this point in the history
  • Loading branch information
DarkDimius committed Nov 17, 2014
1 parent e081724 commit 61fac46
Showing 1 changed file with 63 additions and 42 deletions.
105 changes: 63 additions & 42 deletions src/compiler/scala/tools/nsc/backend/jvm/BackendInterface.scala
Expand Up @@ -324,91 +324,112 @@ trait BackendInterface extends BackendInterfaceDefinitions{
}

trait SymbolHelper {
// names
def fullName(sep: Char): String
def fullName: String
def simpleName: String
def javaSimpleName: Name
def javaBinaryName: Name
def javaClassName: String
def name: Name
def rawname: Name // todo ????

// types
def info: Type
def tpe: Type // todo whats the differentce between tpe and info?
def thisType: Type

// tests
def isClass: Boolean
def isType: Boolean
def isAnonymousClass: Boolean
def isConstructor: Boolean
def primaryConstructor: Symbol
def tpe: Type // todo whats the differentce between tpe and info?
def thisType: Type

def freshLocal(name: String, pos: Position, flags: Flags): Symbol

def isAnonymousFunction: Boolean
def originalOwner: Symbol
def parentSymbols: List[Symbol]
def isMethod: Boolean
def isPublic: Boolean
def isSynthetic: Boolean
def enclClass: Symbol
def isPackageClass: Boolean
def isModuleClass: Boolean
def isModule: Boolean
def isStrictFP: Boolean
def isLabel: Boolean
def hasPackageFlag: Boolean
def fullName(sep: Char): String
def fullName: String
def simpleName: String
def javaSimpleName: Name
def javaBinaryName: Name
def javaClassName: String
def isImplClass: Boolean
def superClass: Symbol
def isInterface: Boolean
def nestedClasses: List[Symbol]
def linkedClass: Symbol
def companionClass: Symbol
def companionModule: Symbol
def companionSymbol: Symbol
def annotations: List[Annotation]
def moduleClass: Symbol
def shouldEmitForwarders: Boolean
def hasGetter: Boolean
def isGetter: Boolean
def isSetter: Boolean
def isGetClass: Boolean
def getter(clz: Symbol): Symbol
def setter(clz: Symbol): Symbol
def memberClasses: List[Symbol]
def linkedClassOfClass: Symbol

def companionModuleMembers: List[Symbol]
def isJavaDefined: Boolean
def isDeferred: Boolean
def isPrivate: Boolean
def isFinal: Boolean
def isStaticMember: Boolean
def isBottomClass: Boolean
def isNonBottomSubClass(sym: Symbol): Boolean
def isBridge: Boolean
def isArtifact: Boolean
def hasEnumFlag: Boolean
def hasAccessBoundary: Boolean
def isVarargsMethod: Boolean
def isDeprecated: Boolean
def isSynchronized: Boolean
def name: Name
def rawname: Name // todo ????
def owner: Symbol
def rawowner: Symbol // todo ???
def enclosingClassSym: Symbol
def hasAnnotation(sym: Symbol): Boolean
def isMutable: Boolean
def hasAbstractFlag: Boolean
def hasModuleFlag: Boolean
def isSynchronized: Boolean
def isNonBottomSubClass(sym: Symbol): Boolean
def hasAnnotation(sym: Symbol): Boolean
def shouldEmitForwarders: Boolean
def isJavaEntryPoint: Boolean
def isClassConstructor: Boolean

/**
* True for module classes of modules that are top-level or owned only by objects. Module classes
* for such objects will get a MODULE$ flag and a corresponding static initializer.
*/
def isStaticModuleClass: Boolean

def isStaticConstructor: Boolean


// navigation
def owner: Symbol
def rawowner: Symbol // todo ???
def originalOwner: Symbol
def parentSymbols: List[Symbol]
def superClass: Symbol
def enclClass: Symbol
def linkedClassOfClass: Symbol
def linkedClass: Symbol
def companionClass: Symbol
def companionModule: Symbol
def companionSymbol: Symbol
def moduleClass: Symbol
def enclosingClassSym: Symbol



// members
def primaryConstructor: Symbol
def nestedClasses: List[Symbol]
def memberClasses: List[Symbol]
def annotations: List[Annotation]
def companionModuleMembers: List[Symbol]
def fieldSymbols: List[Symbol]
def methodSymbols: List[Symbol]
def serialVUID: Option[Long]


def freshLocal(name: String, pos: Position, flags: Flags): Symbol

def getter(clz: Symbol): Symbol
def setter(clz: Symbol): Symbol

def moduleSuffix: String
def outputDirectory: AbstractFile
def isJavaEntryPoint: Boolean
def serialVUID: Option[Long]
def pos: Position

def fieldSymbols: List[Symbol]
def throwsAnnotations: List[Symbol]

def methodSymbols: List[Symbol]
/**
* All interfaces implemented by a class, except for those inherited through the superclass.
*
Expand Down

1 comment on commit 61fac46

@scala-jenkins
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Job pr-scala failed for 61fac46 Took 4 min. (ping @DarkDimius) (results):


To retry exactly this commit, comment PLS REBUILD/pr-scala@61fac466cf4ff50b74f4fa8e16521afbc4caf6ad on PR 4136.
NOTE: New commits are rebuilt automatically as they appear. A forced rebuild is only necessary for transient failures.

Please sign in to comment.