Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ EmitWriteLine() [1/3]

virtual void System.Reflection.Emit.ILGenerator.EmitWriteLine ( FieldInfo fld)
inlinevirtual

Definition at line 965 of file ILGenerator.cs.

966 {
967 if (fld == null)
968 {
969 throw new ArgumentNullException("fld");
970 }
971 Type type = Type.GetType("System.Console, System.Console", throwOnError: true);
972 MethodInfo method = type.GetMethod("get_Out");
973 Emit(OpCodes.Call, method);
974 if ((fld.Attributes & FieldAttributes.Static) != 0)
975 {
976 Emit(OpCodes.Ldsfld, fld);
977 }
978 else
979 {
980 Emit(OpCodes.Ldarg, (short)0);
981 Emit(OpCodes.Ldfld, fld);
982 }
983 Type[] array = new Type[1];
984 Type fieldType = fld.FieldType;
985 if (fieldType is TypeBuilder || fieldType is EnumBuilder)
986 {
987 throw new NotSupportedException(SR.NotSupported_OutputStreamUsingTypeBuilder);
988 }
989 array[0] = fieldType;
990 MethodInfo method2 = typeof(TextWriter).GetMethod("WriteLine", array);
991 if (method2 == null)
992 {
993 throw new ArgumentException(SR.Argument_EmitWriteLineType, "fld");
994 }
995 Emit(OpCodes.Callvirt, method2);
996 }

References System.SR.Argument_EmitWriteLineType, System.array, System.Reflection.FieldInfo.Attributes, System.Reflection.Emit.OpCodes.Call, System.Reflection.Emit.OpCodes.Callvirt, System.Reflection.FieldInfo.FieldType, System.Type.GetType(), System.Reflection.Emit.OpCodes.Ldarg, System.Reflection.Emit.OpCodes.Ldfld, System.Reflection.Emit.OpCodes.Ldsfld, System.SR.NotSupported_OutputStreamUsingTypeBuilder, and System.type.