ParseTom tom parser.
MetaVariable.
public MetaVariable original;
boolean isAlias;
TRUE.
void set_original Attribute variable pre !original && [variable isVariable];
void register;
id init;
static AnyType shared;
instance (id) shared;
public mutable Expression default_value;
deferred void feedArgumentSinglesTo CustomMethod m;
void feedArgumentSinglesTo CustomMethod m;
void feedArgumentSinglesTo CustomMethod m;
void resolveReturnNamesInMethod CustomMethod m;
ArgumentSingle returnValueNamed tom.String name;
Expression array;
Expression index;
id
initWithArray Expression a
index Expression i;
boolean isArrayReference;
TRUE.
tom.OutputStream writeFields tom.OutputStream s;
referenced.
Extension ext;
id initWithExtension Extension e;
super.
Extension extension;
ext.
boolean isAlias;
TRUE iff the receiving attribute is an alias.
boolean isVariable;
TRUE iff the receiving attribute is a variable.
Meta meta;
meta of the extension ext.
deferred tom.String name;
deferred void register;
protected instance (id) (t) createBasicType (tom.String, int) (name, kind);
basic_types.
void initialize boolean bare_environment;
BasicType class. Note that this is _not_ invoked by
the runtime, but by mu.
void addTypes tom.MutableSet set;
set.
public int kind;
protected id
initWithName tom.String n
kind int k;
id asSeenFromInstance Instance i;
BT_ID in case we are BT_ETAM_ID.
Type instance;
redefine boolean isBasicType;
Type meta;
id initWithClass Class c;
instance (id)
cast Expression e
to Type t;
Type desired_type;
Expression expr;
protected id
initWithDesiredType Type t
expression Expression e;
tom.OutputStream writeFields tom.OutputStream s;
expr.
redefine instance (id) (new_object) alloc;
updateLocation on the
returned object. Direct subclasses of Common do not need to do a
[super init], which presents significant speedup.
instance (id) (new_object) alloc Common object;
alloc, but set the location information of the
new_object from the argument object. If object is nil, this
performs the same function as (argumentless) alloc.
public mutable tom.String containing_file;
public mutable int line;
void updateLocation;
void updateLocation Common other;
other.
tom.OutputStream
describeLocation tom.OutputStream s
for gps.Parser parser;
containing_file and line.
boolean isError;
boolean isTuple;
int numFlatElements;
tom.OutputStream writeFields tom.OutputStream s;
Expression is something with a (deducable) type.
id again;
boolean isArrayReference;
TRUE if the receiving expression is an array reference.
The default implementation returns FALSE.
boolean isStringConstant;
TRUE if the receiving expression is a constant string.
The default implementation returns FALSE.
boolean isTuple;
YES.
tom.OutputStream writeFields tom.OutputStream s;
Tuple.
public mutable Compound container;
id
initWithName tom.String n
type Type t
container Compound c;
id
initWithName tom.String n
qualifiers int q
type Type t
extension Extension e;
boolean isVariable;
TRUE.
void register;
Named entity is something with a name.
public tom.String name;
id (self) initWithName tom.String n;
id returnValueNamed tom.String n;
self if the name matches n. Used by LocalVariable
and ArgumentSingle when naming (the elements of) the return value.
tom.OutputStream writeFields tom.OutputStream s;
name.
Qualified is a Common with qualifiers.
boolean isExtern int qualifiers;
qualifiers.
boolean isLocal int qualifiers;
boolean isMutable int qualifiers;
boolean isPrivate int qualifiers;
boolean isProtected int qualifiers;
boolean isPublic int qualifiers;
boolean isStatic int qualifiers;
boolean isRedeclare int qualifiers;
boolean isRedefine int qualifiers;
boolean isDeferred int qualifiers;
int
set int qualifiers
isRedeclare boolean yes_p;
qualifiers with the redeclare bit set or reset,
according to yes_p.
public int qualifiers;
id (self) initWithQualifiers int q;
boolean isExtern;
boolean isLocal;
boolean isMutable;
boolean isPrivate;
boolean isProtected;
boolean isPublic;
boolean isStatic;
boolean isRedeclare;
boolean isRedefine;
boolean isDeferred;
public Variable referenced;
id
initWithReferenced Variable v
fromInstance Instance m;
tom.OutputStream writeFields tom.OutputStream s;
referenced.
id
initWithName tom.String n
type Type t
extension Extension e;
redefine boolean isTuple;
YES.
int (n) numFlatElements;
tom.OutputStream writeFields tom.OutputStream s;
void gc_mark_elements;
tom.State in us mark the other instance variables.
id asSeenFromInstance Instance i;
i. Most important task
of this method is to return id if the class specified instance
(id). The default implementation simply returns self.
boolean equalTypeTuple TypeTuple other;
TRUE if the receiving type is equal to the other tuple
type. The default implementation returns FALSE.
Type instance;
self.
boolean isBasicType;
TRUE if this is a basic type. The default implementation
returns FALSE.
boolean isMeta;
TRUE if this is an object type. The default implementation
returns FALSE.
Type meta;
self.
deferred tom.String name;
Typed is something with a type.
public mutable Type type;
id (self) initWithType Type t;
Type force_type;
type, forcing it to error_type if it is nil.
tom.OutputStream writeFields tom.OutputStream s;
type, if it is not nil.
boolean equal Type other;
other to equalTypeTuple.
boolean equalTypeTuple TypeTuple other;
equal of super.
boolean isTuple;
YES.
tom.String name;
id
initWithName tom.String n
type Type t;
Named (retval) resolveReturnNamesInMethod CustomMethod m;
m with the same name as the receiving
Variable exists, return that argument, otherwise return self.
writeFields of Typed, but do the name printing self,
to avoid Common doing its thing twice.
tom.OutputStream writeFields tom.OutputStream s;
name.
boolean isTuple;
YES.
int numFlatElements;
Tuple.
tom.OutputStream writeFields tom.OutputStream s;
Tuple.