Detailed Description

Represents a variable. These are essentially text in the code that are not keywords. (e.g. hello=14;)

Inheritance diagram for Nitro.VariableFragment:
Nitro.CodeFragment

Public Member Functions

 VariableFragment (string value)
 Creates a new variable fragment from the given variable text. More...
 
 VariableFragment (CodeLexer sr)
 Creates a new variable fragment by reading it from the given lexer. More...
 
bool IsKeyword ()
 Checks if this is a keyword (e.g. return, break). More...
 
override bool Typeable ()
 Defines if a fragment can be given a :TYPE. E.g. Brackets (for casting, (A):TYPE) and variables can. More...
 
override AddResult AddTo (CodeFragment to, CodeLexer sr)
 Adds this fragment as a child to the given fragment. It may be overriden by some types of fragment as they may wish to handle it differently. More...
 
override CompiledFragment Compile (CompiledMethod function)
 Attempts to compile this fragment into the given method. More...
 
override string ToString ()
 
- Public Member Functions inherited from Nitro.CodeFragment
void Error (string message)
 Throws an error, outputting the line number it occured on. More...
 
virtual int GetLineNumber ()
 Gets the line number if there is one. More...
 
virtual bool IsMemberAccessor ()
 A value which states if this fragment accesses members (methods/fields) of something. More...
 
void AddToStart (CodeFragment parent)
 Adds this code fragment to the beginning of the given parents child set. More...
 
void AddBefore (CodeFragment frag)
 Adds this code fragment as a child before the given one. More...
 
void AddAfter (CodeFragment frag)
 Adds this code fragment as a child after the given one. More...
 
void Remove ()
 Removes this fragment from its parent. More...
 
void AddChild (CodeFragment child)
 Adds the given fragment as a child of this one. More...
 
int ChildCount ()
 How many children does this fragment have? More...
 
override string ToString ()
 Converts this fragment into a code string. More...
 

Public Attributes

bool AfterVar
 True if "var" was defined before this fragment. More...
 
string Value =""
 The raw variables name. More...
 
- Public Attributes inherited from Nitro.CodeFragment
TypeFragment GivenType
 A type (:TYPE) which was explicitly given to this block. More...
 
CodeFragment NextChild
 The child after this one. More...
 
CodeFragment LastChild
 The last child of this fragment, stored as a linked list. More...
 
CodeFragment FirstChild
 The first child of this fragment, stored as a linked list. More...
 
CodeFragment PreviousChild
 The child before this one. More...
 
CodeFragment ParentFragment
 The parent fragment of this, if any. More...
 

Static Public Attributes

static string[] Keywords =new string[]{"return","continue","break","using","typeof"}
 The set of all keywords used by Nitro. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Nitro.CodeFragment
static int IsOfType (char[] arrayToSearch, char charToFind)
 Returns the index in the given array of the given character if it's found in it. More...
 
- Properties inherited from Nitro.CodeFragment
bool IsParent [get]
 Is this fragment a parent or not? More...
 

Constructor & Destructor Documentation

Nitro.VariableFragment.VariableFragment ( string  value)
inline

Creates a new variable fragment from the given variable text.

Parameters
valueThe raw variables name.
Nitro.VariableFragment.VariableFragment ( CodeLexer  sr)
inline

Creates a new variable fragment by reading it from the given lexer.

Parameters
srThe lexer to read the variable from.

Member Function Documentation

override AddResult Nitro.VariableFragment.AddTo ( CodeFragment  to,
CodeLexer  sr 
)
inlinevirtual

Adds this fragment as a child to the given fragment. It may be overriden by some types of fragment as they may wish to handle it differently.

Parameters
toThe parent to add this fragment to.
srThe lexer containing the original text code.

Reimplemented from Nitro.CodeFragment.

override CompiledFragment Nitro.VariableFragment.Compile ( CompiledMethod  method)
inlinevirtual

Attempts to compile this fragment into the given method.

Parameters
methodThe method to compile it into.

Reimplemented from Nitro.CodeFragment.

bool Nitro.VariableFragment.IsKeyword ( )
inline

Checks if this is a keyword (e.g. return, break).

Returns
True if this is a keyword.
override string Nitro.VariableFragment.ToString ( )
inline
override bool Nitro.VariableFragment.Typeable ( )
inlinevirtual

Defines if a fragment can be given a :TYPE. E.g. Brackets (for casting, (A):TYPE) and variables can.

Returns
True if it can, false otherwise.

Reimplemented from Nitro.CodeFragment.

Member Data Documentation

bool Nitro.VariableFragment.AfterVar

True if "var" was defined before this fragment.

string [] Nitro.VariableFragment.Keywords =new string[]{"return","continue","break","using","typeof"}
static

The set of all keywords used by Nitro.

string Nitro.VariableFragment.Value =""

The raw variables name.