Object.Print убрано - конкурирует с Sequence.Print
Добавлены Nane и FullName к типу Text
This commit is contained in:
parent
596f66a1ea
commit
c6b6d01c0b
|
|
@ -15,7 +15,7 @@ internal static class RevisionClass
|
|||
public const string Major = "3";
|
||||
public const string Minor = "3";
|
||||
public const string Build = "0";
|
||||
public const string Revision = "1615";
|
||||
public const string Revision = "1617";
|
||||
|
||||
public const string MainVersion = Major + "." + Minor;
|
||||
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
%COREVERSION%=0
|
||||
%REVISION%=1615
|
||||
%REVISION%=1617
|
||||
%MINOR%=3
|
||||
%MAJOR%=3
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
!define VERSION '3.3.0.1615'
|
||||
!define VERSION '3.3.0.1617'
|
||||
|
|
|
|||
|
|
@ -481,6 +481,10 @@ type
|
|||
procedure Write(params vals: array of object);
|
||||
/// Устанавливает файловый указатель на начало файла
|
||||
procedure Reset;
|
||||
/// Возвращает имя файла
|
||||
function Name: string;
|
||||
/// Возвращает полное имя файла
|
||||
function FullName: string;
|
||||
end;
|
||||
|
||||
// Class for typed files
|
||||
|
|
@ -3351,10 +3355,7 @@ function string.operator in(substr: string; str: string) := str.Contains(substr)
|
|||
|
||||
procedure operator+=(var left: StringBuilder; right: string); extensionmethod := left.Append(right);
|
||||
|
||||
function operator implicit(s: string): StringBuilder; extensionmethod;
|
||||
begin
|
||||
Result := new StringBuilder(s);
|
||||
end;
|
||||
function operator implicit(s: string): StringBuilder; extensionmethod := new StringBuilder(s);
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Операции для array of T
|
||||
|
|
@ -5356,6 +5357,18 @@ begin
|
|||
PABCSystem.Reset(Self);
|
||||
end;
|
||||
|
||||
function AbstractBinaryFile.Name: string;
|
||||
begin
|
||||
Result := fi.Name
|
||||
end;
|
||||
|
||||
function AbstractBinaryFile.FullName: string;
|
||||
begin
|
||||
Result := fi.FullName
|
||||
end;
|
||||
|
||||
|
||||
|
||||
// -----------------------------------------------------
|
||||
// TypedFile & BinaryFile methods
|
||||
// -----------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -2036,7 +2036,7 @@ type
|
|||
Result := pmb.ToMeshGeometry3D
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
PrismT = class(ObjectWithMaterial3D)
|
||||
private
|
||||
function Model := inherited model as PrismVisual3D;
|
||||
|
|
@ -2265,6 +2265,17 @@ type
|
|||
end;
|
||||
end;
|
||||
|
||||
My13D = class(MeshElement3D)
|
||||
public function Tessellate(): MeshGeometry3D; override;
|
||||
begin
|
||||
var tm := new MeshBuilder(false, false);
|
||||
tm.AddRevolvedGeometry(Arr(Pnt(0,0),Pnt(0,1),Pnt(0.3,1),Pnt(0.5,0.3),Pnt(2,1),Pnt(3,0)),nil,Origin,OrtZ,80);
|
||||
Result := tm.ToMesh(false);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
type
|
||||
AnyT = class(ObjectWithMaterial3D)
|
||||
constructor(x, y, z: real; c: GColor);
|
||||
|
|
@ -2277,10 +2288,14 @@ type
|
|||
//var a := new TerrainVisual3D;
|
||||
//a.Content := (new SphereVisual3D()).Model;
|
||||
//a.Text := 'PascalABC';
|
||||
var a := new LinesVisual3D;
|
||||
a.Thickness := 1.99;
|
||||
//a.Points := Arr(P3D(0, 0, 0), P3D(3, 0, 0), P3D(3, 0, 0), P3D(3, 3, 0), P3D(3, 3, 0), P3D(3, 3, 3));
|
||||
a.Color := c;
|
||||
//var a := new LinesVisual3D;
|
||||
{a.Thickness := 1.99;
|
||||
a.Points := Arr(P3D(0, 0, 0), P3D(3, 0, 0), P3D(3, 0, 0), P3D(3, 3, 0), P3D(3, 3, 0), P3D(3, 3, 3));
|
||||
a.Color := c;}
|
||||
|
||||
var a := new My13D;
|
||||
a.Material := c;
|
||||
|
||||
|
||||
{var aa := 1;
|
||||
var b := 80;
|
||||
|
|
@ -2475,7 +2490,7 @@ begin
|
|||
//var c1 := XamlReader.Load(new System.IO.FileStream('cube.xaml',System.IO.FileMode.Open)) as CubeVisual3D;
|
||||
//hvp.Children.Add(c1);
|
||||
|
||||
var off := new offreader(nil);
|
||||
{var off := new offreader(nil);
|
||||
var s := System.IO.File.OpenRead('boxcube.off');
|
||||
off.Load(s);
|
||||
|
||||
|
|
@ -2484,18 +2499,14 @@ begin
|
|||
m1.EdgeDiameter := 0;
|
||||
m1.VertexRadius := 0;
|
||||
m1.Mesh := off.CreateMesh;
|
||||
hvp.Children.Add(m1);
|
||||
|
||||
{var m1 := new MeshGeometryVisual3D();
|
||||
m1.MeshGeometry := off.CreateMeshGeometry3D;
|
||||
hvp.Children.Add(m1);}
|
||||
|
||||
var ex := new ExtrudedVisual3D();
|
||||
ex.BackMaterial := Colors.Green;
|
||||
ex.Diameters := new DoubleCollection(Arr(1.0,1.5,1.2));
|
||||
ex.Path := new Point3DCollection(Arr(P3D(0,0,0),P3D(0,1,0),P3D(0,1,1),P3D(1,1,1)));
|
||||
hvp.Children.Add(ex);
|
||||
|
||||
{var m1 := new ModelVisual3D();
|
||||
m1.Content := off.CreateModel3D;
|
||||
hvp.Children.Add(m1);}
|
||||
|
||||
{var imp := new HelixToolkit.Wpf.ModelImporter();
|
||||
imp.Load('a.xaml',nil,False);}
|
||||
end;
|
||||
|
||||
procedure Proba2 := Invoke(ProbaP2);
|
||||
|
|
|
|||
|
|
@ -2105,6 +2105,15 @@ namespace PascalABCCompiler.TreeConverter
|
|||
convert_function_call_expressions(funcs[0], parameters, tcl);
|
||||
return funcs[0];
|
||||
}
|
||||
|
||||
// Вот здесь нужен анализ всех оставшихся функций.
|
||||
// Если они отличаются только функциональными параметрами и у этих параметров
|
||||
// одинаковый тип параметров (они уже инстанцированы!), то надо еще раз
|
||||
// вызвать то, что вызывается в DeduceFunction чтобы установить, каков тип возвращаемого значения лямбды, после чего
|
||||
// выбрать либо функцию из оставшихся с ровно совпадающим типом лямбды либо с ближайшим
|
||||
// (остались только те, к которым можно преобразовать)
|
||||
// Некоторая проблема будет если лямбд останется несколько и расстояния до результата будут разными и ненулевыми везде
|
||||
|
||||
if (funcs.Count == 2) // SSM - это ужасный способ устранения бага #236 Range(1,10).Sum(e -> e); Для хорошего способа весь код выбора версий функций для делегатов надо переписывать
|
||||
{
|
||||
var f1 = funcs[0];
|
||||
|
|
@ -2156,6 +2165,7 @@ namespace PascalABCCompiler.TreeConverter
|
|||
return f1;
|
||||
}
|
||||
}
|
||||
|
||||
/*if (f1.return_value_type != null && f2.return_value_type != null)
|
||||
{
|
||||
var p1 = f1.return_value_type;
|
||||
|
|
|
|||
|
|
@ -5041,7 +5041,7 @@ namespace PascalABCCompiler.TreeConverter
|
|||
{
|
||||
ThrowCompilationError = false;
|
||||
function_node ffn = convertion_data_and_alghoritms.select_function(exprs, sil, subloc, syntax_nodes_parameters);
|
||||
if (ffn == null)
|
||||
if (ffn == null)
|
||||
{
|
||||
if (skip_first_parameter)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -481,6 +481,10 @@ type
|
|||
procedure Write(params vals: array of object);
|
||||
/// Устанавливает файловый указатель на начало файла
|
||||
procedure Reset;
|
||||
/// Возвращает имя файла
|
||||
function Name: string;
|
||||
/// Возвращает полное имя файла
|
||||
function FullName: string;
|
||||
end;
|
||||
|
||||
// Class for typed files
|
||||
|
|
@ -3255,16 +3259,6 @@ begin
|
|||
Result := sb.ToString;
|
||||
end;
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Методы для object (экспериментально)
|
||||
//------------------------------------------------------------------------------
|
||||
/// Выводит значение объекта на экран, после чего выводит пробел
|
||||
procedure Print(Self: object); extensionmethod := Print(Self);
|
||||
|
||||
/// Выводит значение объекта на экран и переходит на следующую строку
|
||||
procedure Println(Self: object); extensionmethod := Println(Self);
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Операции для string и char
|
||||
//------------------------------------------------------------------------------
|
||||
|
|
@ -5363,6 +5357,18 @@ begin
|
|||
PABCSystem.Reset(Self);
|
||||
end;
|
||||
|
||||
function AbstractBinaryFile.Name: string;
|
||||
begin
|
||||
Result := fi.Name
|
||||
end;
|
||||
|
||||
function AbstractBinaryFile.FullName: string;
|
||||
begin
|
||||
Result := fi.FullName
|
||||
end;
|
||||
|
||||
|
||||
|
||||
// -----------------------------------------------------
|
||||
// TypedFile & BinaryFile methods
|
||||
// -----------------------------------------------------
|
||||
|
|
|
|||
Loading…
Reference in a new issue