private static string /*!*/ BuildName(string prefix, ConstantVariable /*!*/ constant) { var reversed = new List <string>(); ConstantVariable constantQualifier; while (true) { reversed.Add(constant.Name); constantQualifier = constant.Qualifier as ConstantVariable; if (constantQualifier == null) { break; } constant = constantQualifier; } // A::B // ::A::B // <expr>::A::B if (!constant.IsGlobal) { if (constant.IsBound) { reversed.Add("<object>"); } else if (prefix != null) { reversed.Add(prefix); } } return(String.Join("::", Enumerable.Reverse(reversed))); }
/// <summary> /// Gets the fully qualified name of the base class. /// </summary> public static string GetBaseClassName(ClassDefinition classDefinition) { ConstantVariable variable = classDefinition.SuperClass as ConstantVariable; if (variable != null) { return(RubyControlFieldExpression.GetQualifiedName(variable)); } return(String.Empty); }
public IActionResult Register([FromBody] Users formUser) { formUser.LockEnabled = false; formUser.LockEnd = DateTime.Now; formUser.EmailConfirmed = false; formUser.Id = ConstantVariable.HashKey(formUser.Email); unitOfWork.Users.Add(formUser); unitOfWork.Save(); return(Ok("Successfully")); }
static string[] GetMemberNamesFromConstant(MethodCall methodCall) { List <string> names = new List <string>(); ConstantVariable constantVariable = methodCall.Target as ConstantVariable; while (constantVariable != null) { names.Insert(0, constantVariable.Name); constantVariable = constantVariable.Qualifier as ConstantVariable; } names.Add(methodCall.MethodName); return(names.ToArray()); }
/// <summary> /// Gets the fully qualified name (e.g. System.Windows.Forms.Form) /// </summary> public static string GetQualifiedName(ConstantVariable variable) { StringBuilder name = new StringBuilder(); while (variable != null) { name.Insert(0, variable.Name); variable = variable.Qualifier as ConstantVariable; if (variable != null) { name.Insert(0, '.'); } } return(name.ToString()); }
string GetFullyQualifiedName(ConstantVariable variable) { StringBuilder name = new StringBuilder(); bool firstName = true; while (variable != null) { if (!firstName) { name.Insert(0, '.'); } name.Insert(0, variable.Name); variable = variable.Qualifier as ConstantVariable; firstName = false; } return(name.ToString()); }
/// <summary> /// Appends the given constant variable. /// </summary> /// <param name="variable">The variable to append.</param> public void Append(ConstantVariable variable) { var value = variable.Value; switch (value.BasicValueType) { case BasicValueType.Int1: AppendConstant(value.Int1Value ? 1 : 0); break; case BasicValueType.Int8: AppendConstant(value.UInt8Value); break; case BasicValueType.Int16: AppendConstant(value.UInt16Value); break; case BasicValueType.Int32: AppendConstant(value.UInt32Value); break; case BasicValueType.Int64: AppendConstant(value.UInt64Value); break; case BasicValueType.Float16: AppendConstant(value.Float16Value); break; case BasicValueType.Float32: AppendConstant(value.Float32Value); break; case BasicValueType.Float64: AppendConstant(value.Float64Value); break; default: throw new InvalidCodeGenerationException(); } }
/// <summary> /// Deserializes a method call where the target is an array expression. /// /// System::Array[System::String].new("a", "b") /// </summary> object DeserializeCreateArrayExpression(string name, MethodCall methodCall) { MethodCall arrayCreationMethodCall = methodCall.Target as MethodCall; ConstantVariable constantVariable = arrayCreationMethodCall.Arguments.Expressions[0] as ConstantVariable; string arrayTypeName = RubyControlFieldExpression.GetQualifiedName(constantVariable); ArrayConstructor arrayConstructor = methodCall.Arguments.Expressions[0] as ArrayConstructor; Expression[] arrayItems = arrayConstructor.Arguments.Expressions; Type arrayType = componentCreator.GetType(arrayTypeName); Array array = Array.CreateInstance(arrayType, arrayItems.Length); for (int i = 0; i < arrayItems.Length; ++i) { Expression arrayItemExpression = arrayItems[i]; object instance = Deserialize(arrayItemExpression); array.SetValue(instance, i); } return(array); }