Esempio n. 1
0
 public ValueInstance(
     IList<ValueSymbol> klasses,
     IDictionary<ValueSymbol, IValueFunc> methods
 )
 {
     mKlassHolder = new KlassHolder(klasses);
     mMethods = methods;
 }
Esempio n. 2
0
 static ValueString()
 {
     smKlassHolder = new KlassHolder(
         new List<ValueSymbol> {
             Klasses.String,
             Klasses.Object
         }
     );
 }
Esempio n. 3
0
 static ValueHash()
 {
     smKlassHolder = new KlassHolder(
         new List<ValueSymbol> {
             Klasses.Hash,
             Klasses.Object
         }
     );
 }
Esempio n. 4
0
 static ValueInt()
 {
     smKlassHolder = new KlassHolder(
         new List<ValueSymbol> {
             Klasses.Int,
             Klasses.Object
         }
     );
 }
Esempio n. 5
0
 static ValueArray()
 {
     smKlassHolder = new KlassHolder(
         new List<ValueSymbol> {
             Klasses.Array,
             Klasses.Object
         }
     );
 }
Esempio n. 6
0
 static ValueFalse()
 {
     smKlassHolder = new KlassHolder(
         new List<ValueSymbol> {
             Klasses.False,
             Klasses.Object
         }
     );
 }
Esempio n. 7
0
 static ValueTrue()
 {
     smKlassHolder = new KlassHolder(
         new List<ValueSymbol> {
             Klasses.True,
             Klasses.Object
         }
     );
 }
Esempio n. 8
0
 static ValueNil()
 {
     smKlassHolder = new KlassHolder(
         new List<ValueSymbol> {
             Klasses.Nil,
             Klasses.Object
         }
     );
 }
Esempio n. 9
0
 static ValueCont()
 {
     smKlassHolder = new KlassHolder(
         new List<ValueSymbol> {
             Klasses.Cont,
             Klasses.Func,
             Klasses.Object
         }
     );
 }
Esempio n. 10
0
 static ValueSubr()
 {
     smKlassHolder = new KlassHolder(
         new List<ValueSymbol> {
             Klasses.Subr,
             Klasses.Func,
             Klasses.Object
         }
     );
 }
Esempio n. 11
0
 static ValueClosure()
 {
     smKlassHolder = new KlassHolder(
         new List<ValueSymbol> {
             Klasses.Closure,
             Klasses.Func,
             Klasses.Object
         }
     );
 }
Esempio n. 12
0
 public void Send(ValueSymbol selector, IList<IValue> args, VM vm, SourceInfo info)
 {
     if (smKlassHolder == null)
     {
         smKlassHolder = new KlassHolder(
             new List<ValueSymbol> {
                 Klasses.Symbol,
                 Klasses.Object
             }
         );
     }
     smKlassHolder.Send(this, selector, args, vm, info);
 }
Esempio n. 13
0
 static ValueSymbol()
 {
     smKlassHolder = null;
     smInstances = new Dictionary<string, ValueSymbol>();
 }