private OwType DefineType(string name) { var type = new OwType(name); definedTypes.Add(type); return(type); }
private string FlattenType(OwType type) { if (type.IsPrimitive) { return(type.Name); } return(string.Join(" ", Type.GetFields().Select(field => FlattenType(field.FieldType)))); }
internal void AddMethod(OwMemberAccess access, string identifier, OwType resultType, OwParameterInfo[] parameters) { members.Add(new OwMethodInfo(this, access, identifier, resultType, parameters)); }
internal void AddField(OwMemberAccess access, string identifier, OwType type) { members.Add(new OwFieldInfo(this, access, identifier, type)); }
public ObjWastLocal(OwType type) : base(type) { }
public ObjWastLocal(string identifier, OwType type) : base(identifier, type) { }
internal void DefineMethod(OwMemberAccess access, string identifier, OwType resultType, OwParameterInfo[] parameters) { type.AddMethod(access, identifier, resultType, parameters); }
internal void DefineField(OwMemberAccess access, string identifier, OwType fieldType) { type.AddField(access, identifier, fieldType); }
internal override void Parse(ObjWastTranspiler transpiler) { string name = transpiler.ParseName(); type = Module.DefineType(name); }