From f470ba9c9313161e9555ce0ca1e665ffbcbcc71b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D0=BD=D0=B4=D0=B0=D1=80=D0=B5=D0=B2=20=D0=98?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD?= Date: Tue, 29 Dec 2015 19:05:42 +0100 Subject: [PATCH] comment //winonly for tests (excludes test from testing in mono) --- CodeCompletion/readme.txt | 16 ---------------- TestSuite/assemblies1.pas | 1 + TestSuite/symbol_table_test.pas | 1 + bin/TestRunner.exe | Bin 27648 -> 27136 bytes bin/TestRunner.pas | 20 ++++++++++++++++++++ 5 files changed, 22 insertions(+), 16 deletions(-) delete mode 100644 CodeCompletion/readme.txt diff --git a/CodeCompletion/readme.txt b/CodeCompletion/readme.txt deleted file mode 100644 index 1f17dc6a3..000000000 --- a/CodeCompletion/readme.txt +++ /dev/null @@ -1,16 +0,0 @@ -Кодовое имя проекта: CodeCompletion -Название: CodeCompletion -Автор: Бондарев Иван -EMail, ICQ автора: ibond84@freemail.ru -Логин на SVN: ibond -Краткое описание проекта: Движок интеллисенса -Комментарии: -CodeCompletion.cs содержит класс CodeCompletionController - контроллер для парсинга файлов -DomConverter.cs содержит класс DomConverter, использующийся для получения необходимой интеллисенсу информации -DomSyntaxTreeVisitor.cs содержит класс DomSyntaxTreeVisitor, строящий по синтаксическому дереву внутреннее представление -CodeCompletionPCUReader содержит класс IntellisensePCUReader, строящий по PCU-файлу внутреннее представление -ExpressionVisitor.cs содержит класс ExpressionVisitor, который позволяет получить по выражению его scope (например для выражения до точки) -SymTable.cs содержит классы для внутреннего представления -ExpressionEvaluator.cs содержит класс ExpressionEvaluator, предназначенный для вычисления константных выражений -FindReferences.cs содержит класс ReferenceFinder, предназначенный для поиска использований символов -XmlDocs.cs содержит классы, ответственные за получение документации к сущностям \ No newline at end of file diff --git a/TestSuite/assemblies1.pas b/TestSuite/assemblies1.pas index 173a4954c..8cfa89150 100644 --- a/TestSuite/assemblies1.pas +++ b/TestSuite/assemblies1.pas @@ -1,3 +1,4 @@ +//winonly {$reference 'System.Windows.Forms.dll'} {$reference 'System.Drawing.dll'} {$reference 'System.Xml.dll'} diff --git a/TestSuite/symbol_table_test.pas b/TestSuite/symbol_table_test.pas index 7347a720c..6cb5bde08 100644 --- a/TestSuite/symbol_table_test.pas +++ b/TestSuite/symbol_table_test.pas @@ -1,3 +1,4 @@ +//winonly uses System, System.Windows, System.Collections, System.Collections.Generic; begin diff --git a/bin/TestRunner.exe b/bin/TestRunner.exe index ad3c645af92a349c22a5a420484d505b39399f5f..70de5f386f7f64808ba47584757e48cfc992ff4d 100644 GIT binary patch literal 27136 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ΞeHWI@uK+1wQQo{U_e;^|#l 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 E0}0Z&;s5{u literal 27648 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