ShakeClass

interface ShakeClass(source)

A ShakeClass is a class in the Shake programming language

class MyClass {
// ...
}

Inheritors

Properties

Link copied to clipboard

All instance-fields of this class (including fields defined in superclasses and interfaces) Overridden fields are not included

Link copied to clipboard

All instance-methods of this class (including methods defined in superclasses and interfaces) Overridden methods are not included

Link copied to clipboard
abstract val classes: List<ShakeClass>

The classes of this class

Link copied to clipboard
abstract val clazz: ShakeClass?

The class this class is in. This is null if the class is not within a class

Link copied to clipboard

The constructors of this class

Link copied to clipboard
abstract val fields: List<ShakeField>

The fields of this class

Link copied to clipboard

The instance classes of this class

Link copied to clipboard

The instance fields of this class

Link copied to clipboard

The instance methods of this class

Link copied to clipboard

The project this class is in. This also keeps the project if this class is inside of a package or class

Link copied to clipboard
abstract val interfaces: List<ShakeClass>

The interfaces of this class

Link copied to clipboard
abstract val isAbstract: Boolean

Is this class abstract?

Link copied to clipboard
abstract val isAnnotation: Boolean

Is this class an annotation?

Link copied to clipboard
abstract val isEnum: Boolean

Is this class an enum?

Link copied to clipboard
abstract val isFinal: Boolean

Is this class final?

Link copied to clipboard
abstract val isInterface: Boolean

Is this class an interface?

Link copied to clipboard
abstract val isNative: Boolean

Is this class native?

Link copied to clipboard
abstract val isObject: Boolean

Is this class an object?

Link copied to clipboard
abstract val isPrivate: Boolean

Is this class private?

Link copied to clipboard
abstract val isProtected: Boolean

Is this class protected?

Link copied to clipboard
abstract val isPublic: Boolean

Is this class public?

Link copied to clipboard
abstract val isStatic: Boolean

Is this class static?

Link copied to clipboard
abstract val methods: List<ShakeMethod>

The methods of this class

Link copied to clipboard
abstract val name: String

The (simple) name of this class

Link copied to clipboard
abstract val parentScope: ShakeScope

The parent scope of this class. The class's scope will extend this scope.

Link copied to clipboard
abstract val pkg: ShakePackage?

The package this class is in. Also holds the package if this class is in a class

Link copied to clipboard
abstract val prj: ShakeProject

The project this class is in. This also keeps the project if this class is inside of a package or class

Link copied to clipboard

The qualified name of this class (including the package and parent classes)

Link copied to clipboard

The prefix for child entities (classes, fields, methods, ...) of this class

Link copied to clipboard
open val signature: String

The signature of this class (including the package and parent classes)

Link copied to clipboard

The static classes of this class

Link copied to clipboard

The static fields of this class

Link copied to clipboard

The static methods of this class

Link copied to clipboard
abstract val staticScope: ShakeScope

The project this class is in. This also keeps the project if this class is inside of a package or class

Link copied to clipboard
abstract val superClass: ShakeClass

The superclass of this class

Functions

Link copied to clipboard

The compatibility distance between this class and the other class

Link copied to clipboard
open fun compatibleTo(other: ShakeClass): Boolean

Is this class compatible to the other class?

Link copied to clipboard
open fun getClass(descriptor: Array<String>): ShakeClass?
open fun getClass(descriptor: String): ShakeClass?
open fun getClass(descriptor: List<String>): ShakeClass?

Get a child class

Link copied to clipboard
open fun getField(descriptor: Array<String>): ShakeField?
open fun getField(descriptor: String): ShakeField?
open fun getField(descriptor: List<String>): ShakeField?

Get a child field

Link copied to clipboard
open fun getMethods(descriptor: Array<String>): List<ShakeMethod>
open fun getMethods(descriptor: String): List<ShakeMethod>
open fun getMethods(descriptor: List<String>): List<ShakeMethod>

Get a child method

Link copied to clipboard
abstract fun phase1()

Processor phase 1 action

Link copied to clipboard
abstract fun phase2()

Processor phase 2 action

Link copied to clipboard
abstract fun phase3()

Processor phase 3 action

Link copied to clipboard
abstract fun phase4()

Processor phase 4 action

Link copied to clipboard
open fun toJson(): Map<String, Any?>

Get the json representation of this class