Beispiel #1
0
 public override ILStatement Compile(CMinorEnvironment environment)
 {
     return(new ILAssign(
                environment.ResolveDirectIdentifierAsValue(GetId()),
                GetCMinorExpression().CompileAsValue(environment)
                ));
 }
Beispiel #2
0
 public override ILStatement Compile(CMinorEnvironment environment)
 {
     return(GetCMinorExpression().CompileAsInvokation(
                environment,
                GetCMinorExpressionList().IfNotNull(l => l.CompileAsValues(environment))
                ).CreateILCalculate());
 }
Beispiel #3
0
 public override ILValue CompileAsValue(CMinorEnvironment environment)
 {
     return(environment.ResolveIndirectIdentifierAsValue(
                GetCMinorExpression().CompileAsValue(environment),
                GetId()
                ));
 }
Beispiel #4
0
 protected override ILValue ResolveDestination(CMinorEnvironment environment)
 {
     return(environment.ResolveIndirectIdentifierAsValue(
                GetCMinorExpression1().CompileAsValue(environment),
                GetId()
                ));
 }
Beispiel #5
0
 public override ILValue CompileAsValue(CMinorEnvironment environment)
 {
     return(GetCMinorExpression().CompileAsInvokation(
                environment,
                GetCMinorExpressionList().IfNotNull(l => l.CompileAsValues(environment))
                ));
 }
Beispiel #6
0
 public override ILStatement Compile(CMinorEnvironment environment)
 {
     return(new ILWhile(
                GetCMinorExpression().CompileAsValue(environment),
                GetCMinorStatement().Compile(environment)
                ));
 }
Beispiel #7
0
 public override ILValue CompileAsValue(CMinorEnvironment environment)
 {
     return(GetCMinorExpression1().CompileAsValue(environment).GetILBinaryOperatorInvokation(
                GetCMinorBinaryOperator().GetBinaryOperatorType(),
                GetCMinorExpression2().CompileAsValue(environment)
                ));
 }
Beispiel #8
0
 public override ILValue CompileAsInvokation(CMinorEnvironment environment, IEnumerable <ILValue> arguments)
 {
     return(environment.ResolveIndirectIdentifierAsInvokation(
                GetCMinorExpression().CompileAsValue(environment),
                GetId(),
                arguments
                ));
 }
Beispiel #9
0
 public override ILStatement Compile(CMinorEnvironment environment)
 {
     return(new ILIf(
                GetCMinorExpression().CompileAsValue(environment),
                GetCMinorStatement1().Compile(environment),
                GetCMinorStatement2().IfNotNull(s => s.Compile(environment))
                ));
 }
Beispiel #10
0
        public override ILStatement Compile(CMinorEnvironment environment)
        {
            ILValue dst = ResolveDestination(environment);

            return(new ILAssign(
                       dst,
                       dst.GetILBinaryOperatorInvokation(
                           GetCMinorBinaryOperator().GetBinaryOperatorType(),
                           GetAssignmentExpression().CompileAsValue(environment)
                           )
                       ));
        }
Beispiel #11
0
 public virtual ILValue CompileAsGenericInvokation(CMinorEnvironment environment, IEnumerable <Type> generic_arguments, IEnumerable <ILValue> arguments)
 {
     throw new InvalidOperationException(GetType() + " doesn't support generic invokation.");
 }
Beispiel #12
0
 public virtual ILValue CompileAsIndexed(CMinorEnvironment environment, ILValue index)
 {
     return(CompileAsValue(environment).GetILIndexed(index));
 }
Beispiel #13
0
 public virtual ILValue CompileAsInvokation(CMinorEnvironment environment, IEnumerable <ILValue> arguments)
 {
     return(CompileAsValue(environment).GetILInvokeSelf(arguments));
 }
Beispiel #14
0
 static public ILValue ResolveDirectIdentifierAsGenericInvokation(this CMinorEnvironment item, string id, IEnumerable <Type> generic_arguments, IEnumerable <ILValue> arguments)
 {
     return(item.ResolveIdentifierAsGenericInvokation(null, id, generic_arguments, arguments));
 }
Beispiel #15
0
 public abstract ILValue CompileAsValue(CMinorEnvironment environment);
Beispiel #16
0
 public override ILValue CompileAsGenericInvokation(CMinorEnvironment environment, IEnumerable <Type> generic_arguments, IEnumerable <ILValue> arguments)
 {
     return(environment.ResolveDirectIdentifierAsGenericInvokation(GetId(), generic_arguments, arguments));
 }
Beispiel #17
0
 public abstract ILStatement Compile(CMinorEnvironment environment);
Beispiel #18
0
 static public ILValue ResolveIndirectIdentifierAsInvokation(this CMinorEnvironment item, ILValue context, string id, IEnumerable <ILValue> arguments)
 {
     return(item.ResolveIdentifierAsInvokation(context, id, arguments));
 }
Beispiel #19
0
 public override Type GetSystemType(CMinorEnvironment environment)
 {
     return(environment.ResolveTypeAsNormal(GetId()));
 }
Beispiel #20
0
 protected override ILValue ResolveDestination(CMinorEnvironment environment)
 {
     return(environment.ResolveDirectIdentifierAsValue(GetId()));
 }
Beispiel #21
0
 static public ILValue ResolveIndirectIdentifierAsValue(this CMinorEnvironment item, ILValue context, string id)
 {
     return(item.ResolveIdentifierAsValue(context, id));
 }
Beispiel #22
0
 protected abstract ILValue ResolveDestination(CMinorEnvironment environment);
Beispiel #23
0
 public IEnumerable <ILValue> CompileAsValues(CMinorEnvironment environment)
 {
     return(GetCMinorExpressions().Convert(e => e.CompileAsValue(environment)));
 }
Beispiel #24
0
 public IEnumerable <Type> GetSystemTypes(CMinorEnvironment environment)
 {
     return(GetCMinorTypes().Convert(t => t.GetSystemType(environment)));
 }
Beispiel #25
0
 public override ILValue CompileAsValue(CMinorEnvironment environment)
 {
     return(GetCMinorLiteral().Compile());
 }
Beispiel #26
0
 static public ILValue ResolveDirectIdentifierAsValue(this CMinorEnvironment item, string id)
 {
     return(item.ResolveIdentifierAsValue(null, id));
 }
Beispiel #27
0
 public override ILValue CompileAsValue(CMinorEnvironment environment)
 {
     return(GetCMinorExpression1()
            .CompileAsIndexed(environment, GetCMinorExpression2().CompileAsValue(environment)));
 }
Beispiel #28
0
 static public ILValue ResolveDirectIdentifierAsIndexed(this CMinorEnvironment item, string id, ILValue index)
 {
     return(item.ResolveIdentifierAsIndexed(null, id, index));
 }
Beispiel #29
0
 public override ILStatement Compile(CMinorEnvironment environment)
 {
     return(GetCMinorStatements().Compile(environment));
 }
Beispiel #30
0
 public override ILValue CompileAsValue(CMinorEnvironment environment)
 {
     return(environment.ResolveThis());
 }