Example #1
0
 public ValueInstance(
     IList<ValueSymbol> klasses,
     IDictionary<ValueSymbol, IValueFunc> methods
 )
 {
     mKlassHolder = new KlassHolder(klasses);
     mMethods = methods;
 }
Example #2
0
 static ValueString()
 {
     smKlassHolder = new KlassHolder(
         new List<ValueSymbol> {
             Klasses.String,
             Klasses.Object
         }
     );
 }
Example #3
0
 static ValueHash()
 {
     smKlassHolder = new KlassHolder(
         new List<ValueSymbol> {
             Klasses.Hash,
             Klasses.Object
         }
     );
 }
Example #4
0
 static ValueInt()
 {
     smKlassHolder = new KlassHolder(
         new List<ValueSymbol> {
             Klasses.Int,
             Klasses.Object
         }
     );
 }
Example #5
0
 static ValueArray()
 {
     smKlassHolder = new KlassHolder(
         new List<ValueSymbol> {
             Klasses.Array,
             Klasses.Object
         }
     );
 }
Example #6
0
 static ValueFalse()
 {
     smKlassHolder = new KlassHolder(
         new List<ValueSymbol> {
             Klasses.False,
             Klasses.Object
         }
     );
 }
Example #7
0
 static ValueTrue()
 {
     smKlassHolder = new KlassHolder(
         new List<ValueSymbol> {
             Klasses.True,
             Klasses.Object
         }
     );
 }
Example #8
0
 static ValueNil()
 {
     smKlassHolder = new KlassHolder(
         new List<ValueSymbol> {
             Klasses.Nil,
             Klasses.Object
         }
     );
 }
Example #9
0
 static ValueCont()
 {
     smKlassHolder = new KlassHolder(
         new List<ValueSymbol> {
             Klasses.Cont,
             Klasses.Func,
             Klasses.Object
         }
     );
 }
Example #10
0
 static ValueSubr()
 {
     smKlassHolder = new KlassHolder(
         new List<ValueSymbol> {
             Klasses.Subr,
             Klasses.Func,
             Klasses.Object
         }
     );
 }
Example #11
0
 static ValueClosure()
 {
     smKlassHolder = new KlassHolder(
         new List<ValueSymbol> {
             Klasses.Closure,
             Klasses.Func,
             Klasses.Object
         }
     );
 }
Example #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);
 }
Example #13
0
 static ValueSymbol()
 {
     smKlassHolder = null;
     smInstances = new Dictionary<string, ValueSymbol>();
 }