Libraries.Language.Compile.Symbol.Class Documentation
Inherits from: Libraries.Language.Compile.Location, Libraries.Language.Object, Libraries.Language.Compile.Symbol.Symbol
Summary
Actions Summary Table
Actions | Description |
---|---|
Add(Libraries.Language.Compile.Symbol.Action method) | get the index of the generic from the pare |
Add(Libraries.Language.Compile.Symbol.Variable variable) | This returns all classes that have valid use statements in the class. |
AddGeneric(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. |
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. |
CalculateFieldHints(Libraries.Language.Compile.CompilerErrorManager errors) | This action returns a class from a name, like Object, for Libraries. |
Compare(Libraries.Language.Object object) | Variable classInstance = call:variab |
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. |
ConvertStaticKeyToBytecodeInterfacePath() | This action returns the static key formatted as a class name in Java bytecode. |
ConvertStaticKeyToBytecodePath() | This action returns the static key formatted as a class name in Java bytecode. |
ConvertStaticKeyToBytecodePathTypeName() | This action returns the static key formatted as a type name in Java bytecode. |
ConvertStaticKeyToBytecodePathTypeNameInterface() | This action returns the static key formatted as a type name in Java bytecode. |
ConvertStaticKeyToFieldPath() | This action returns the static key formatted as a class name in the style of a field. |
ConvertStaticKeyToJavaScriptName() | This action returns the static key formatted as a class name in Java bytecode. |
ConvertStaticKeyToParentActionName() | This action digs through the generics and, if it finds one by this name, returns its index. |
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. |
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. |
ConvertStaticKeyToPluginPath() | This action returns the static key formatted as a plugin class name in Java bytecode. |
ConvertStaticKeyToPluginPathTypeName() | This action returns the static key formatted as a plugin class type name in Java bytecode. |
ConvertStaticKeyToUnderScore() | This action returns the static key formatted as a class name in Java bytecode. |
ConvertToActionNameFromField(Libraries.Language.Compile.Symbol.Variable variable, boolean isGetter) | This action returns whether or not this particular class represents Libraries. |
CreateLocationCopy() | This action is a helper action to get copies of the location. |
Equals(Libraries.Language.Object object) | This action determines if two objects are equal based on their hash code values. |
GenerateSetterNameFromField(Libraries.Language.Compile.Symbol.Variable variable) | This action returns true if this class is either Libraries. |
GetAction(text key) | generate a hint for the gett |
GetActions() | the parents have been resolve |
GetColumnNumber() | |
GetColumnNumberEnd() | |
GetConstructor() | This action returns whether or not the class has an explicity constructor defined. |
GetDirectParentClasses() | This action returns those parents that are directly specified in the class. |
GetDisplayName() | This returns a key related to the package a class is contained in. |
GetDocumentation() | |
GetFile() | Returns the file on disk that contains the implementation of this class. |
GetGeneric(integer location) | |
GetGenericList() | This action returns a list of of all generic names. |
GetHashCode() | This action gets the hash code for an object. |
GetHiddenVariableName() | This action returns the static key formatted as a type name in Java bytecode. |
GetIndex() | |
GetIndexEnd() | |
GetIndexOfGeneric(text name) | This action digs through the generics and, if it finds one by this name, returns its index. |
GetInterfaceName() | |
GetLineNumber() | |
GetLineNumberEnd() | |
GetName() | |
GetNameLocation() | |
GetNumberGenerics() | |
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. |
GetPackageKey() | This returns a key related to the package a class is contained in. |
GetParentActions() | this is an err |
GetParentClass(text key) | This action returns the order in which parents should be instantiated. |
GetParentClasses() | Obtains a list of all parents reachable from this class. |
GetParentCreationOrder() | This action returns the order in which parents should be instantiated. |
GetParentGenerics(text key) | |
GetPluginName() | Returns the name of the plugin for this class. |
GetStaticKey() | is there a name in the use lis |
GetUnresolvedParents() | get the parent corresponding to this k |
GetUnresolvedUseStatement(text key) | it's fine to return undefined, because we just ignored the reque |
GetUnresolvedUseStatements() | if it's the same name, but a different class, then throw an err |
GetUseLocationIterator(Libraries.System.File file) | |
GetValidUseName(text name) | This action returns a class from a name, like Object, for Libraries. |
GetValidUses() | This returns all classes that have valid use statements in the class. |
GetVariable(text key) | generate a hint for the gett |
GetVariables() | now check if there's a sett |
GetVirtualAction(text key) | first check if there's a gett |
GetVirtualTable() | overrid |
GuessBestUsage(Libraries.Language.Compile.Symbol.SymbolTable table, text key) | This action calculates the most likely class that might be meant from a key and returns undefined if it considers its guess to be non-exact. |
HasAction(text key) | the parent is now resolve |
HasBlueprints() | |
HasConstructor() | This action returns whether or not the class has an explicity constructor defined. |
HasGeneric(text name) | This action determines whether a generic of a particular name exists in this class. |
HasGenericMapToParent(text key) | |
HasGenerics() | |
HasMainAction() | Sets a pointer to the file on disk that contains this class. |
HasParentClass(text key) | This action returns true only if the action ResolveParents is currently executing for this class. |
HasParentGenerics(text key) | |
HasSystemAction() | check to see if the action is overrid |
IsError() | This action returns true if this class is either Libraries. |
IsObject() | This action returns whether or not this particular class represents Libraries. |
IsProgramStartingClass() | |
IsResolved() | This action checks to see if all types have been resolved for this class. |
IsResolvingParents() | This action returns true only if the action ResolveParents is currently executing for this class. |
IsStatic() | |
MapParentGenericToMe(text parentKey, integer index) | |
RemoveCallLocationsFromActions(Libraries.System.File file) | This action removes all of the call locations from a particular file to a particular set of actions in this class's available actions. |
RemoveCallLocationsFromDependencies(Libraries.System.File file) | now get all of the parents and do tho |
RemoveUseLocations(Libraries.System.File file) | This action removes all of the call locations from a particular file to a particular set of actions in this class's available actions. |
ResolveAction(Libraries.Language.Compile.Symbol.ActionCall call) | Now remove them from all of the actions in this cla |
ResolveActionKey(text name, Libraries.Containers.Iterator<Libraries.Language.Compile.Symbol.Variable> parameters, Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors) | if it's a primitive, do nothi |
ResolveAllTypes(Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors) | |
ResolveFrames() | now with resolved type names and ke |
ResolveParentLevels(Libraries.Language.Compile.Symbol.SymbolTable table) | TODO: Add in compiler error line and locatio |
ResolveParents(Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors) | this is a conflict and a compiler err |
ResolveType(Libraries.Language.Compile.Location location, Libraries.Language.Compile.Symbol.Type type, Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors) | therefore, it is safe to ignore th |
ResolveUseStatements(Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors) | This action checks to see if all types have been resolved for this class. |
SetColumnNumber(integer column) | |
SetColumnNumberEnd(integer column) | |
SetConstructor(Libraries.Language.Compile.Symbol.Action method) | this does not need to go another level deepe |
SetDocumentation(Libraries.Language.Compile.Symbol.Documentation documentation) | |
SetFile(Libraries.System.File container) | Sets a pointer to the file on disk that contains this class. |
SetIndex(integer index) | |
SetIndexEnd(integer index) | |
SetIsProgramStartingClass(boolean main) | |
SetLineNumber(integer line) | |
SetLineNumberEnd(integer line) | |
SetLocation(Libraries.Language.Compile.Location location) | This action uses the location and resets the current error's data. |
SetName(text name) | necessa |
SetNameLocation(Libraries.Language.Compile.Location location) | |
SetPackage(Libraries.Language.Compile.QualifiedName pack) | :GetType |
SetParentGenerics(text key, Libraries.Containers.Array<Libraries.Language.Compile.Symbol.Type> types) | |
SetStatic(boolean value) | |
ToText() | This action is a helper action to get copies of the location. |
WeaveActionFromDirectParent(Libraries.Language.Compile.Symbol.Class mom, Libraries.Language.Compile.Symbol.Action act, Libraries.Language.Compile.CompilerErrorManager errors) | mark this class so it cannot be instantiate |
Actions Documentation
Add(Libraries.Language.Compile.Symbol.Action method)
get the index of the generic from the pare
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
AddParentClass(Libraries.Language.Compile.Symbol.Class clazz)
Parameters
AddUnresolvedParent(Libraries.Language.Compile.QualifiedName name)
Parameters
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)
Parameters
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:variab
Parameters
Return
integer:
ComputeGenericsTables(Libraries.Language.Compile.CompilerErrorManager compilerErrorManager)
Parameters
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.
Example Code
use Libraries.Language.Object
use Libraries.Language.Types.Text
Object o
Text t
boolean result = o:Equals(t)
Parameters
- Libraries.Language.Object: The to be compared.
Return
boolean: True if the hash codes are equal and false if they are not equal.
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 gett
Parameters
Return
Libraries.Language.Compile.Symbol.Action:
GetActions()
the parents have been resolve
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:
GetDocumentation()
Return
Libraries.Language.Compile.Symbol.Documentation
GetFile()
Returns the file on disk that contains the implementation of this class.
Return
GetGeneric(integer location)
Parameters
Return
text
GetGenericList()
This action returns a list of of all generic names. For example, if
the class is declared as A
Return
text:
GetHashCode()
This action gets the hash code for an object.
Example Code
Object o
integer hash = o:GetHashCode()
Return
integer: The integer hash code of the object.
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
Return
integer:
GetInterfaceName()
Return
text
GetLineNumber()
Return
integer
GetLineNumberEnd()
Return
integer
GetName()
Return
text
GetNameLocation()
Return
Libraries.Language.Compile.Location
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 err
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
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
Return
GetPluginName()
Returns the name of the plugin for this class.
Return
text:
GetStaticKey()
is there a name in the use lis
Return
text:
GetUnresolvedParents()
get the parent corresponding to this k
Return
Libraries.Containers.Iterator:
GetUnresolvedUseStatement(text key)
it's fine to return undefined, because we just ignored the reque
Parameters
Return
Libraries.Language.Compile.QualifiedName:
GetUnresolvedUseStatements()
if it's the same name, but a different class, then throw an err
Return
Libraries.Containers.Iterator:
GetUseLocationIterator(Libraries.System.File file)
Parameters
Return
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
Return
Libraries.Language.Compile.Symbol.Class:
GetValidUses()
This returns all classes that have valid use statements in the class.
Return
Libraries.Containers.Iterator:
GetVariable(text key)
generate a hint for the gett
Parameters
Return
Libraries.Language.Compile.Symbol.Variable:
GetVariables()
now check if there's a sett
Return
Libraries.Containers.Iterator:
GetVirtualAction(text key)
first check if there's a gett
Parameters
Return
Libraries.Language.Compile.Symbol.Action:
GetVirtualTable()
overrid
Return
Libraries.Containers.Iterator:
GuessBestUsage(Libraries.Language.Compile.Symbol.SymbolTable table, text key)
This action calculates the most likely class that might be meant from a key and returns undefined if it considers its guess to be non-exact. For example, if a name could mean multiple uses, it does this. This action should not be used except in the circumstances that type resolution is not complete and we need a stochastic best guess for the probable type, which is useful in code completion or potentially other applications.
Parameters
Return
Libraries.Language.Compile.Symbol.Class:
HasAction(text key)
the parent is now resolve
Parameters
Return
boolean:
HasBlueprints()
Return
boolean
HasConstructor()
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
boolean:
HasGeneric(text name)
This action determines whether a generic of a particular name exists in this class.
Parameters
Return
boolean:
HasGenericMapToParent(text key)
Parameters
Return
boolean
HasGenerics()
Return
boolean
HasMainAction()
Sets a pointer to the file on disk that contains this class.
Return
boolean:
HasParentClass(text key)
This action returns true only if the action ResolveParents is currently executing for this class. It is useful in detecting circular inheritance, which is not allowed in Quorum.
Parameters
Return
boolean:
HasParentGenerics(text key)
Parameters
Return
boolean
HasSystemAction()
check to see if the action is overrid
Return
boolean:
IsError()
This action returns true if this class is either Libraries.Language.Errors.Error or is a subclass.
Return
boolean:
IsObject()
This action returns whether or not this particular class represents Libraries.Language.Object.
Return
boolean:
IsProgramStartingClass()
Return
boolean
IsResolved()
This action checks to see if all types have been resolved for this class.
Return
boolean:
IsResolvingParents()
This action returns true only if the action ResolveParents is currently executing for this class. It is useful in detecting circular inheritance, which is not allowed in Quorum.
Return
boolean:
IsStatic()
Return
boolean
MapParentGenericToMe(text parentKey, integer index)
Parameters
Return
integer
RemoveCallLocationsFromActions(Libraries.System.File file)
This action removes all of the call locations from a particular file to a particular set of actions in this class's available actions. As such, it removes them both from these actions and those defined and used by the parent.
Parameters
RemoveCallLocationsFromDependencies(Libraries.System.File file)
now get all of the parents and do tho
Parameters
RemoveUseLocations(Libraries.System.File file)
This action removes all of the call locations from a particular file to a particular set of actions in this class's available actions. As such, it removes them both from these actions and those defined and used by the parent.
Parameters
ResolveAction(Libraries.Language.Compile.Symbol.ActionCall call)
Now remove them from all of the actions in this cla
Parameters
Return
Libraries.Language.Compile.Symbol.ActionCallResolution:
ResolveActionKey(text name, Libraries.Containers.Iterator<Libraries.Language.Compile.Symbol.Variable> parameters, Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors)
if it's a primitive, do nothi
Parameters
- Libraries.Containers.Iterator
- Libraries.Language.Compile.Symbol.SymbolTable
- Libraries.Language.Compile.CompilerErrorManager
Return
text:
ResolveAllTypes(Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors)
Parameters
ResolveFrames()
now with resolved type names and ke
ResolveParentLevels(Libraries.Language.Compile.Symbol.SymbolTable table)
TODO: Add in compiler error line and locatio
Parameters
ResolveParents(Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors)
this is a conflict and a compiler err
Parameters
ResolveType(Libraries.Language.Compile.Location location, Libraries.Language.Compile.Symbol.Type type, Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors)
therefore, it is safe to ignore th
Parameters
- Libraries.Language.Compile.Location
- Libraries.Language.Compile.Symbol.Type
- Libraries.Language.Compile.Symbol.SymbolTable
- Libraries.Language.Compile.CompilerErrorManager
ResolveUseStatements(Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors)
This action checks to see if all types have been resolved for this class.
Parameters
SetColumnNumber(integer column)
Parameters
SetColumnNumberEnd(integer column)
Parameters
SetConstructor(Libraries.Language.Compile.Symbol.Action method)
this does not need to go another level deepe
Parameters
SetDocumentation(Libraries.Language.Compile.Symbol.Documentation documentation)
Parameters
SetFile(Libraries.System.File container)
Sets a pointer to the file on disk that contains this class.
Parameters
SetIndex(integer index)
Parameters
SetIndexEnd(integer index)
Parameters
SetIsProgramStartingClass(boolean main)
Parameters
SetLineNumber(integer line)
Parameters
SetLineNumberEnd(integer line)
Parameters
SetLocation(Libraries.Language.Compile.Location location)
This action uses the location and resets the current error's data.
Parameters
SetName(text name)
necessa
Parameters
SetNameLocation(Libraries.Language.Compile.Location location)
Parameters
SetPackage(Libraries.Language.Compile.QualifiedName pack)
:GetType
Parameters
SetParentGenerics(text key, Libraries.Containers.Array<Libraries.Language.Compile.Symbol.Type> types)
Parameters
SetStatic(boolean value)
Parameters
ToText()
This action is a helper action to get copies of the location.
Return
text:
WeaveActionFromDirectParent(Libraries.Language.Compile.Symbol.Class mom, Libraries.Language.Compile.Symbol.Action act, Libraries.Language.Compile.CompilerErrorManager errors)
mark this class so it cannot be instantiate