Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

missing interfaces #174

Merged

Conversation

isc30
Copy link
Collaborator

@isc30 isc30 commented Sep 10, 2019

No description provided.

@fred-perkins fred-perkins changed the base branch from master to feature/csharp-3 September 11, 2019 07:16
ICollection: defineInterface(ICollection),
ICollection_$1: defineInterface(ICollection_$1),
IReadOnlyCollection_$1: defineInterface(IReadOnlyCollection_$1),
Dictionary_$2: defineInterface(Dictionary_$2),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This isn't an interface

IDictionary: defineInterface(IDictionary),
IDictionary_$2: defineInterface(IDictionary_$2),
IReadOnlyDictionary_$2: defineInterface(IReadOnlyDictionary_$2),
List_$1: defineInterface(List_$1),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This isn't an interface

function ICollection_$1() { }
function IReadOnlyCollection_$1() { }

function Dictionary_$2() { }
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Move to a new script file called Dictionary.js, under System/Generic/Collections folder

function IDictionary_$2() { }
function IReadOnlyDictionary_$2() { }

function List_$1() { }
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Move to a new script file called List.js, under System/Generic/Collections folder

@fred-perkins fred-perkins merged commit 66432da into DerivcoIpswich:feature/csharp-3 Sep 12, 2019
isc30 added a commit to isc30/dsharp that referenced this pull request Sep 12, 2019
* missing interfaces

* PR comments
fred-perkins pushed a commit that referenced this pull request Sep 12, 2019
* Generic Type Declarations

* missing interfaces (#174)

* missing interfaces

* PR comments
fred-perkins added a commit that referenced this pull request Nov 14, 2019
* Update Readme.md

* Update Readme.md

* Making nuget package reference public

* - Migrated all project to use .net 4.6.1 in preparation to migrate to .net core.
- Remove old test solution and migrated the test rpoject to execute within the same solution and the core code
- Fixed several tests and removed redudant usages of JQuery
- Removed all external third party libraries other than Web because they don't belong as part of the core compiler
- Removed flaky tests which provide no use and don't execute the same on other machines (Metadata)
- Preparing for solution rearchitecute and formatting to allow for easier code changes
- Upgraded project required package versions in prepartion for automation version injection

* Attempting automatic cleanup

* - Removed old backup files
- Updated the nuget pack process ready to migrate to migrate how the vsix is created for ScriptSharp

* Updating code styles with App project in preperation for a full solution reformat

* Removing old zip project and starting to rename ScriptSharp to DSharp. Removed all redundant packages and vsix packages.

* Resolving project dependancy ordering. Disabled tests until the project is upgraded

* Implemented new tech infrastrucure (Work in progress)
Removing old test architecture

* Started migrating mscorlib

* - Migrating tests to execute under the new compiler testing framework
- Removed Basic tests from legacy test framework
- Implemeted data driven tests for the compiler to minimise changes to the code. This is in preperation to performing testing against a specification of the DSharp language

* - Migrated the majority of tests into the new compiler tests project.
- Removed old tests

* - Removing refences to ScriptSharp and renaming to DSharp correctly.
- Refactoring the main solution to be easier to understand.
- Improved build process in preperation to migrate to using NUKE

* - Migrated scripts build to use node js instead of a locally built executable
- Started migrated and removal of non CLR compliant types and code

*  - Removed imported IL stage and replaced with Mono.Cecil - where the source originated from
 - Fixed code style on the main compiler project in preperation for major changes

* Resolving issue with CI

* Resolving project dependancy issues#

* Added new DSharp.Sdk which will replace the existing build and add an implicit reference to the required MSCorlib dll on nuget

* Migrated Mscorlib and web libraries to be self packaged as part of the build.

* Update appveyor.yml

* Update appveyor.yml

Missing command flag for mkdir

* Update appveyor.yml

Running command as powershell

* Removed missing build folder from nuspec and sorted build dependancies

* Making test comparison use ordinal casing instead of invariant

* Updating git attributes

* Implemented new string comparer to ignore newline and carrigage return when testing

* Updated CI configuration to expose artifacts

* Adding missing package version patching from props file

* Removed samples project and updated CI with deployment process

* Adding build web hooks for Slack

* Removing old version updates in place of CI pipeline

* Updating repository styling standards and updating git configuration for the repo

* Updating git ignore

* Adding basic tasks.json to expose the correct build mechanism for the repo

* Removing app veyor notification template so that the default is used

* Removed old preprocessor project. Updated Sdk to auto Import the main mscorlib

* Updated so tests would use the new DSharp.Mscorlib

* Coupling the Mscorlib version with the DSharp SDK and added process to update the package reference to the same version as the SDK

* Removing last references to ScriptSharp and removing the old web deployment task

* Resolving missing project dependencies

* Removing warnings for several areas which dont conform to standards

* Started clean up of internal mscorlib

* Cleaned up all of the Mscorlib and preparing to remove script specific types into a new namespace or library

* Updating tests with the new usages of DS and updating all types to use the auto generated version

* Started migration of the compiler errors into something which is easier to test. Updated compiler to use new DSharpScriptMember attribute to indicate it exists on the core script

* Migrated errors to add more information and to be type safe so that validation can be performed on the errors returned instead of on abitruary strings

* Migrating all error strings to a common file. Introduced tests for the missing exception validation tests

* Renaming string resources to remove DSHARP prefix where not required

* Migrated several more errors to use internal string resources

* Removed IError and usages of interfaces to use a generic system with error codes

* Updating build to no longer depend on the ScriptAssembly attribute, and to use the AssemblyName if one isnt available. Replacing string usages with nameof attributes

* Making sure error codes match to 4 digits

* Renaming Core library to DSharp from ds

* Adding multi-targeting of .net versions in preperation to migrate to .Net core.
Removed Ajax min with a more up to date version that is netstandard2.0 compatible

* Updated DSharp.Web to use the SDK internally

* Fixed issue with implicit package not being recognised

* Adding dotnet restore

* Updating dependency order or projects

* Updated targets so that net standard and DotNetCore are used as standard. Removed old web testing library as it isnt compatible with netstandard

* Removing magic strings with type infered naming

* Updating script name output to match existing ss to allow for easier migration

* Resolving some issues with styling. Fixed several bugs in the base script which would error at runtime. Updated module template to use a simple reference style approach to remove dependancy on any loaders

* Updating sample application with new basic todo application

* added the nuget reset script

* Upgrading build to include the ss scripts in the sdk

* Preparing new nuget exe for build

* Removing old test file

* Updating to get the ss files to output on build

* Updating copy targets

* Removing targetting pack

* Resolving an issue with the build

* Reseting files back to previous states

* Resolving a target dependency running to early

* Fixing project dependency issue, again

* Updating web project to build without the sdk

* Updating so PackageVersion can be overriden

* Updating title of mscorlib nuget package

* Iterate over interfaces to check if it's a collection and optimize the iteration to a simple for (#116)

* Task/multitarget sdk (#119)

* updated sdk to support multi-targeted builds

* added target to remove script artefacts on clean

* removed duplicate sdk import

* fixed version syncing

* updated OutputPath

* updated IntermediateOutputPath

* defined DSHARP as compiler constant

* added sdk for web projects

* added ability to pass the path to a template file via ScriptTemplatePath msbuild property

* removed generated framework attribute

* added auto generation of ScriptAssemblyAttribute

* added error condition for targeting framework versions less than 4.7.1

* disabling script copy for import libraries

* updated condition to always evaluate as boolean

* [#120] Fix Tests (#123)

* DateTime (#121)

* Support for DateTime
Missing: proper transpilation of DayOfWeek as a method

* fix runtime exception

* replace transformed property getter to method expression

* Test for DateTime

* Cleanup

* fix build

* fix incorrect assertions

* avoid changing many things, it breaks easily

* revert irrelevant changes

* remove support for constructor alias

* Delete launchSettings.json

* updated to target net40 for migration purposes

* fixed issue with missing runtime version, which was causing mono cecil to crash when importing metadata

* fixed default minimum framework version

* enforced build order

* updated xunit to release version

* added IsTestProject property

* defaulting to replace . with _ in scriptassembly

* removed default ScriptAssembly for import libraries

* inverted condition when defaulting ScriptAssembly

* changed ScriptAssembly to use existing ScriptName property

* fixed issue where fully qualified attribute names were not recognised

* Compiler Documentation (#125)

* spacing

* Fix compatibility message

* Meeting Comments

* Fix NET version

* PR comments

* remove warnings on attribute (#127)

* added flags to avoid multiple imports of sdks

* Revert "remove warnings on attribute (#127)" (#128)

This reverts commit 6229c9a.

* using single property for sdk imports

* updated to correctly package .js artefacts

* fixed pack for minified files

* interfaces from mscorlib (#126)

* interfaces from mscorlib

* Recover some methods and mark them as obsolete

* Add partials for NonStandard stuff

* Made Type partial and moved Prototype in NonStandard type.

* moved obsolete method to partial class (NonStandard/String.cs)

* Modification done on Object

* Fix tests

* fixing namespaces.
adding comment to nonstandard list.

* working on generic dictionary. Adding comments to arraylist

* working on non generic dictionary

* Fix Tests

* Add IReadOnlyList<T> to List<T>

* Start consolidating Dictionary

* Fix Dictionary and Tests

* Equality Interfaces

* Fix Count

* Remove Dictionary.Count

* Fix ScriptNames in Interfaces

* Fix String

* Move some methods

* Typo

* Support C# lang < 7.2 (#133)

* Fix Enumerator interface (#130)

* Add IServiceProvider (#129)

* Allow iterating over Dictionary KeyValuePairs (#134)

* added documentation for dsharp.sdk

* Fix Obsolete and Array.Length (#135)

* Fix Obsolete and Array.Length

* explicit interfaces

* Hide brace operator from IDictionary (#136)

* Fix IList brace operator (#137)

* First prototype of extension methods

* Improved Expression Exceptions (#138)

* Cleaning up code

* Cleaned up the code and fixed several edge cases with internal extension methods

* Removing launchsettings.json

* Fix Generic Inheritance Chains (#140)

* Clean up

* Cleaning up builder to make it easier to work with

* Feature/extensions (#139)

* First prototype of extension methods

* Cleaning up code

* Cleaned up the code and fixed several edge cases with internal extension methods

* Removing launchsettings.json

* Clean up

* bugfix for generics (#141)

* bugfix for in generics

* remove unused code

* fix tests and PR comments

* fix tests

* dont generate symbols for methods with [ScriptIgnore]

* extract to method

* close array so noone can inherit from it (js doesnt support it)

* fix reserved keywords

* fix generic inheritance

* Updating to latest (#143)

* Fixing an issue where the generic name node wasnt resolving the correct symbol (#144)

* Fix Mscorlib consolidation (#142)

* create initial test for consolidation

* Collection tests

* match Baseline.txt with the PR specification

* Add, AddRange, AddRangeParams

* fix for transformed static method calls

* remove IsReadOnly

* fix tests

* more points

* PR coments

* remove CopyTo

* Fixing several issues with generics

* Adding array copy mechanism

* Generic classes should now work. Preparing infrastructure to handle typeof(T) when within a class

* Implementing ObjectExpression for object creation

* Seperating the generic paramerters vs generic type expressions

* Generics now generates the majority of symbols correctly

* Fixing issues with the ss script not handling generic reflection correctly

* Added a test for Generic classes and fixed failing tests

* Fixing issue with incorrect char at the start of a file

* Added back missing baseline file

* Fixing post merge issues

* Updating to use CSharp 3

* Fixing broken file merge

* Fixing post merge issues

* Fixing an issue with generic types generating without members

* Task/auto properties (#158)

* Started to implement auto property infrastructure.

* Attempting to make binary expressions for property assignment to work correctly with readonly

* Auto readonly properties now work.

* Removing ScriptModule & ScriptExtension as they are hacks

* Adding more test classes

* Preparing for auto properties to using defineProperty

* Cleaning up tests and ensuring the existing ones run

* Removed old tests and fixing partial internal types not generating the exports correctly

* Ensuring that auto properties always generate on the type so public consumers can access them

* Removing needless file

* Adding missing loader usage

* Cleaning up compiler structure to make it easier to maintain

* Fixing an issue where the parse context is null on properties

* Adding missing extension hint class

* Feature/nested types (#160)

* removed build order dependency for sdk

* fixed issue where test framework was importing dll meant as test content

* fixed reporting of errors to correctly give file name

* implemented nested types

* addressing pr comment

* added additional test cases for nested types (#161)

* Task/extension fixes (#163)

* Fixing an issue where extension methods wouldnt work if passing a local into it

* Fixing a weird edge case on how statics are called against extension methods

* Task/method generics (#164)

* Fixing intial bugs

* Adding todos

* stuff

* Adding owners to generic parameters

* Fixed method generics which now works correctly

* Resolving issues with calling generic classes from within a generic method

* Fixing an issue with nested generic type arguments not getting the proper call chain

* Fixing an issue with how generic types are resolved for method returns

* Cleaning up code

* Cleaning up PR

* Fixing an issue with extension methods not working correctly of base or inherited types. Generic tokens now used correctly

* Fixing edge cases with extension methods

* Removing debugger statement

* Renaming to non reserved name

* Fixing an issue with class and struct constraints blowing up

* Addressing PR comments

* Removing the need to manually add the owner to the generic parameter symbol

* Fixing issues with generics and generic extensions (#167)

* Fixing issues with generics and generic extensions

* Fixing tests

* [BugFix] Fix extension method resolver not following inheritance chain (#169)

* [BugFix] Fix extension method resolver not following inheritance chain

* fix interface checking

* [Experimental] Use visitors to simplify our lives

* small cleanup

* Fixing an issue with generics generating the type map incorrectly for… (#171)

* Fixing an issue with generics generating the type map incorrectly for multiple parameters

* Removing file from PR

* Removing program file that shouldnt have been there

* Bugfix/extension methods inheritance (#172)

* [BugFix] Fix extension method resolver not following inheritance chain

* fix interface checking

* [Experimental] Use visitors to simplify our lives

* small cleanup

* Fix multiple interface implementation with inheritance

* Fix tests (#173)

* [BugFix] Fix extension method resolver not following inheritance chain

* fix interface checking

* [Experimental] Use visitors to simplify our lives

* small cleanup

* Fix multiple interface implementation with inheritance

* fix test after merge

* missing interfaces (#174)

* missing interfaces

* PR comments

* Fix interface implementations on List and Dictionary (#175)

* missing interfaces

* PR comments

* Fix incorrect inheritance

* remove orig file

* fix generic type declarations (#176)

* Generic Type Declarations

* missing interfaces (#174)

* missing interfaces

* PR comments

* Task/fixes (#179)

* Updating property initializers to work in expressions as well as variable initializers

* Fixing tests and adding case to enable list and dictionary initializers

* Fixing an issue with multiple method chain invocation on extension methods

* Fixing an issue with invoking methods off of a generic method extension

* Adding simple test for default

* fixing csproj

* Fixing spelling

* Add IServiceProvider interface marker in JS (#177)

* Fix Extension Method Invocation Args Transformations (#178)

* Introduce the TestCase

* Fix the bug

* fix tests

* Task/generic inheritence (#180)

* Implementing Generic Type Inheritence

* Removing the member storage

* Clean up

* Fixing several issues with generics & params and generics (#182)

* Fixing several issues with generics & params and generics

* Refactoring generated params index counting

* Fixing test

* Resolving an issue where the member expression would only generate th… (#183)

* Resolving an issue where the member expression would only generate the last part of the complex expression

* Adding test for member generation issue

* Constant propagation and unused script elimination (#181)

* added support for copying constants during script generation

* unit (compiler) test about constants

* type reference counting (remove unwanted dependencies)

* removed dependency in const test baseline

* fixes about edge cases (type reference counting)

* introduced ScriptReference provider

* added possibility to define explicit script reference in assembly (ScriptReferenceAttribute.IsExplicit)

* fixed issue with the recycling of ScriptReferenceProvider

* added git version tools

* added missing files for git version

* ScriptReferenceProvider has been made thread-safe

* removed dynamic version from AMD_Loader test

* added reference counting to metadata builder

* added missing type reference counting to expression and statement builders

* code cleanup

* fixed reference counting for generic types and arrays

* added unit tests for type reference counting

* fix for native array as interface in type reference counting (#185)

* Master into csharp-3 (#187)

* Fix IDictionary tests (#155)

* fix IDictionary tests

* add missing function addKeyValue

* Fix adding DayOfWeek property on Date (#186)

* Enriching the Enum type. (#188)

* Adding first class support for Enums

* Fixing broken tests

* Cleaning up Enum methods

* Rewriting shims to be seperated in their own files

* re-added Reverse to generic List (#189)

* Change GetGenericContructor to not override fields on the prototype if they already exist (#190)

* Introducing static code analysis for DSharp (#192)

* Adding CodeAnalysis projects ready to be bundled as part of DSharp

* Added the analyzer to the dsharp SDK

* Cleaning up attribute checks

* Avoid createGenericType for Imported Types with Generics (#193)

* Avoid createGenericType for Imported Types with Generics (Promises, for example)

* Feature/csharp 3 (#191)

* Added support for extension methods with generic targets

* Removed comments

* Fixed invalid logic statement

* Only checking visible namespaces for extension methods

* Update SymbolSet.cs

Removed method that was added by mistake
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants