Libraries.Language.Compile.Symbol.Class Documentation

Inherits from: Libraries.Language.Compile.Location, Libraries.Language.Object, Libraries.Language.Compile.Symbol.Symbol

Actions Documentation

Add(Libraries.Language.Compile.Symbol.Action method)

get the index of the generic from the parent

Parameters

Return

Libraries.Language.Compile.CompilerError:

Add(Libraries.Language.Compile.Symbol.Variable variable)

This returns all classes that have valid use statements in the class.

Parameters

Return

Libraries.Language.Compile.CompilerError:

AddGeneric(text name)

Parameters

  • text name

AddParentClass(Libraries.Language.Compile.Symbol.Class clazz)

AddUnresolvedParent(Libraries.Language.Compile.QualifiedName name)

AddUnresolvedUseStatement(Libraries.Language.Compile.QualifiedName name)

Returns the file on disk that contains the implementation of this class.

Parameters

AddUseLocation(Libraries.Language.Compile.Location location)

AddValidUse(Libraries.Language.Compile.Symbol.Class clazz)

This action returns those parents that are directly specified in the class. Object is also always included in this list.

Parameters

Return

Libraries.Language.Compile.CompilerError:

CalculateFieldHints(Libraries.Language.Compile.CompilerErrorManager errors)

This action returns a class from a name, like Object, for Libraries.Language.Object. It assumes that the name passed in is not resolved. Fully resolvable names (Libraries.Language.Object) will not be resolved by this action, and as such, need to be resolved from the symbol table.

Parameters

Compare(Libraries.Language.Object object)

Variable classInstance = call:variable

Parameters

Return

integer:

ComputeGenericsTables(Libraries.Language.Compile.CompilerErrorManager compilerErrorManager)

ComputeVirtualActionTable(Libraries.Language.Compile.CompilerErrorManager errors)

This action looks at all actions listed in this class's declared action table, in addition to those actions declared in parents, and fills up a new virtual action table with all actions combined. If this action has an error, it is created and sent to the compiler error manager passed in.

Parameters

ConvertStaticKeyToBytecodeInterfacePath()

This action returns the static key formatted as a class name in Java bytecode.

Return

text:

ConvertStaticKeyToBytecodePath()

This action returns the static key formatted as a class name in Java bytecode.

Return

text:

ConvertStaticKeyToBytecodePathTypeName()

This action returns the static key formatted as a type name in Java bytecode.

Return

text:

ConvertStaticKeyToBytecodePathTypeNameInterface()

This action returns the static key formatted as a type name in Java bytecode. This version acts as an interface type.

Return

text:

ConvertStaticKeyToFieldPath()

This action returns the static key formatted as a class name in the style of a field.

Return

text:

ConvertStaticKeyToJavaScriptName()

This action returns the static key formatted as a class name in Java bytecode.

Return

text:

ConvertStaticKeyToParentActionName()

This action digs through the generics and, if it finds one by this name, returns its index. If no generic by this name is found, then this returns -1.

Return

text:

ConvertStaticKeyToParentFieldInterfaceName()

This action converts the static key of this class to a name that can be used by the compiler as a class field name. An example would be that Libraries.Language.Object becomes Libraries_Language_Object__.

Return

text:

ConvertStaticKeyToParentFieldName()

This action converts the static key of this class to a name that can be used by the compiler as a class field name. An example would be that Libraries.Language.Object becomes Libraries_Language_Object__.

Return

text:

ConvertStaticKeyToPluginPath()

This action returns the static key formatted as a plugin class name in Java bytecode.

Return

text:

ConvertStaticKeyToPluginPathTypeName()

This action returns the static key formatted as a plugin class type name in Java bytecode.

Return

text:

ConvertStaticKeyToUnderScore()

This action returns the static key formatted as a class name in Java bytecode.

Return

text:

ConvertToActionNameFromField(Libraries.Language.Compile.Symbol.Variable variable, boolean isGetter)

This action returns whether or not this particular class represents Libraries.Language.Object.

Parameters

Return

text:

CreateLocationCopy()

This action is a helper action to get copies of the location.

Return

Libraries.Language.Compile.Location:

Equals(Libraries.Language.Object object)

This action determines if two objects are equal based on their hash code values.

Parameters

Return

boolean: True if the hash codes are equal and false if they are not equal.

Example

use Libraries.Language.Object
use Libraries.Language.Types.Text
Object o
Text t
boolean result = o:Equals(t)

GenerateSetterNameFromField(Libraries.Language.Compile.Symbol.Variable variable)

This action returns true if this class is either Libraries.Language.Errors.Error or is a subclass.

Parameters

Return

text:

GetAction(text key)

generate a hint for the getter

Parameters

  • text key

Return

Libraries.Language.Compile.Symbol.Action:

GetActions()

the parent is now resolved.

Return

Libraries.Containers.Iterator:

GetColumnNumber()

Return

integer

GetColumnNumberEnd()

Return

integer

GetConstructor()

This action returns whether or not the class has an explicity constructor defined. If it returns true, the user has defined a constructor. If it returns false, they have not.

Return

Libraries.Language.Compile.Symbol.Action:

GetDirectParentClasses()

This action returns those parents that are directly specified in the class. Object is also always included in this list.

Return

Libraries.Containers.Iterator:

GetDisplayName()

This returns a key related to the package a class is contained in. For example, if a class's fully qualified name is Libraries.Language.Object, then this would return Libraries.Langauge. If the class's fully qualified name is Bob, then this would return the empty string, which indicates the default package.

Return

text:

GetFile()

Returns the file on disk that contains the implementation of this class.

Return

Libraries.System.File:

GetGeneric(integer location)

Parameters

  • integer location

Return

text

GetGenericList()

This action returns a list of of all generic names. For example, if the class is declared as A, then this action will return "Type, Value" without double quotes.

Return

text:

GetHashCode()

This action gets the hash code for an object.

Return

integer: The integer hash code of the object.

Example

Object o
integer hash = o:GetHashCode()

GetHiddenVariableName()

This action returns the static key formatted as a type name in Java bytecode. This version acts as an interface type.

Return

text:

GetIndex()

Return

integer

GetIndexEnd()

Return

integer

GetIndexOfGeneric(text name)

This action digs through the generics and, if it finds one by this name, returns its index. If no generic by this name is found, then this returns -1.

Parameters

  • text name

Return

integer:

GetInterfaceName()

Return

text

GetLineNumber()

Return

integer

GetLineNumberEnd()

Return

integer

GetName()

Return

text

GetNumberGenerics()

Return

integer

GetPackage()

This action converts the static key of this class to a name that can be used by the compiler as a class field name. An example would be that Libraries.Language.Object becomes Libraries_Language_Object__.

Return

Libraries.Language.Compile.QualifiedName:

GetPackageKey()

This returns a key related to the package a class is contained in. For example, if a class's fully qualified name is Libraries.Language.Object, then this would return Libraries.Langauge. If the class's fully qualified name is Bob, then this would return the empty string, which indicates the default package.

Return

text:

GetParentActions()

this is an error

Return

Libraries.Containers.Iterator:

GetParentClass(text key)

This action returns the order in which parents should be instantiated. It provides an optimal ordering to ensure children do not get created before their parents.

Parameters

  • text key

Return

Libraries.Language.Compile.Symbol.Class:

GetParentClasses()

Obtains a list of all parents reachable from this class. This includes parents and the parents of parents as a flattened list.

Return

Libraries.Containers.Iterator:

GetParentCreationOrder()

This action returns the order in which parents should be instantiated. It provides an optimal ordering to ensure children do not get created before their parents.

Return

Libraries.Containers.Iterator:

GetParentGenerics(text key)

Parameters

  • text key

Return

Libraries.Containers.Array

GetParentSize()

get the parent corresponding to this key

Return

integer:

GetPluginName()

Returns the name of the plugin for this class.

Return

text:

GetStaticKey()

use that.

Return

text:

GetUnresolvedParents()

the parents have been resolved.

Return

Libraries.Containers.Iterator:

GetUnresolvedUseStatement(text key)

it's fine to return undefined, because we just ignored the request

Parameters

  • text key

Return

Libraries.Language.Compile.QualifiedName:

GetUnresolvedUseStatements()

if it's the same name, but a different class, then throw an error

Return

Libraries.Containers.Iterator:

GetUseLocationIterator(Libraries.System.File file)

GetValidUseName(text name)

This action returns a class from a name, like Object, for Libraries.Language.Object. It assumes that the name passed in is not resolved. Fully resolvable names (Libraries.Language.Object) will not be resolved by this action, and as such, need to be resolved from the symbol table.

Parameters

  • text name

Return

Libraries.Language.Compile.Symbol.Class:

GetValidUses()