Exemplo n.º 1
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="parameter">Parameter</param>
 /// <param name="name">Name used by the decompiler</param>
 /// <param name="type">Type of local</param>
 /// <param name="flags">Flags</param>
 public SourceParameter(Parameter parameter, string name, TypeSig type, SourceVariableFlags flags)
 {
     Parameter = parameter ?? throw new ArgumentNullException(nameof(parameter));
     Name      = name ?? throw new ArgumentNullException(nameof(name));
     Type      = type ?? throw new ArgumentNullException(nameof(type));
     Flags     = flags;
 }
Exemplo n.º 2
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="parameter">Parameter</param>
 /// <param name="name">Name used by the decompiler</param>
 /// <param name="hoistedField">Hoisted field</param>
 /// <param name="flags">Flags</param>
 public SourceParameter(Parameter parameter, string name, FieldDef hoistedField, SourceVariableFlags flags)
 {
     Parameter    = parameter ?? throw new ArgumentNullException(nameof(parameter));
     Name         = name ?? throw new ArgumentNullException(nameof(name));
     HoistedField = hoistedField ?? throw new ArgumentNullException(nameof(hoistedField));
     Type         = hoistedField.FieldType;
     Flags        = flags;
 }
Exemplo n.º 3
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="local">Local or null</param>
 /// <param name="name">Name used by the decompiler</param>
 /// <param name="hoistedField">Hoisted field</param>
 /// <param name="flags">Flags</param>
 public SourceLocal(Local local, string name, FieldDef hoistedField, SourceVariableFlags flags)
 {
     Debug.Assert((flags & SourceVariableFlags.DecompilerGenerated) == 0);
     Local        = local;
     Name         = name ?? throw new ArgumentNullException(nameof(name));
     HoistedField = hoistedField ?? throw new ArgumentNullException(nameof(hoistedField));
     Type         = hoistedField.FieldType;
     // It's decompiler generated if Local == null && HoistedField == null
     Flags = flags & ~SourceVariableFlags.DecompilerGenerated;
 }
Exemplo n.º 4
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="local">Local or null</param>
 /// <param name="name">Name used by the decompiler</param>
 /// <param name="type">Type of local</param>
 /// <param name="flags">Flags</param>
 public SourceLocal(Local local, string name, TypeSig type, SourceVariableFlags flags)
 {
     Debug.Assert((flags & SourceVariableFlags.DecompilerGenerated) == 0);
     Local = local;
     Name  = name ?? throw new ArgumentNullException(nameof(name));
     Type  = type ?? throw new ArgumentNullException(nameof(type));
     // It's decompiler generated if Local == null && HoistedField == null
     if (local == null)
     {
         flags |= SourceVariableFlags.DecompilerGenerated;
     }
     else
     {
         flags &= ~SourceVariableFlags.DecompilerGenerated;
     }
     Flags = flags;
 }