public OwMethodInfo(OwType declaringType, OwMemberAccess access, string identifier, OwType resultType, OwParameterInfo[] parameters) : base(declaringType, access, identifier) { ResultType = resultType; Parameters = parameters; }
internal override void Parse(ObjWastTranspiler transpiler) { // ex. (local $i i32) // ex. (local i32) // ex. (local i32 i64 f32) string identifier = transpiler.ParseIdentifier(); OwType type = transpiler.ParseType(Callable.Module); if (identifier != null) { Callable.AddVariable(CreateVariable(identifier, type)); } else { Callable.AddVariable(CreateVariable(type)); string name = transpiler.ParseName(); while (!string.IsNullOrWhiteSpace(name)) { type = transpiler.ParseType(Callable.Module, name); Callable.AddVariable(CreateVariable(type)); name = transpiler.ParseName(); } } }
public OwFieldInfo(OwType declaringType, OwMemberAccess access, string identifier, OwType fieldType) : base(declaringType, access, identifier) { FieldType = fieldType; }
protected abstract ObjWastVariable CreateVariable(string identifier, OwType type);
protected abstract ObjWastVariable CreateVariable(OwType type);
protected override ObjWastVariable CreateVariable(OwType type) { return(new ObjWastLocal(type)); }
protected override ObjWastVariable CreateVariable(string identifier, OwType type) { return(new ObjWastLocal(identifier, type)); }
public OwMemberInfo(OwType declaringType, OwMemberAccess access, string identifier) { DeclaringType = declaringType; Access = access; Identifier = identifier; }
public ObjWastParam(string identifier, OwType type) : base(identifier, type) { }
public ObjWastParam(OwType type) : base(type) { }
public ObjWastVariable(string identifier, OwType type) { Identifier = identifier; Type = type; }
public ObjWastVariable(OwType type) { Type = type; }