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

Handle VBScript's case insensitivity #163

Open
6 of 7 tasks
freezy opened this issue Nov 17, 2019 · 3 comments
Open
6 of 7 tasks

Handle VBScript's case insensitivity #163

freezy opened this issue Nov 17, 2019 · 3 comments
Assignees
Labels
scripting Related to the VBScript port

Comments

@freezy
Copy link
Member

freezy commented Nov 17, 2019

Still a few items on the list:

  • Handle global scope (handled at runtime, uses a ScopeHandler proxy)
  • Handle table item APIs (sorted out at compile time)
  • Handle enums (handled at compile time, using VbsApi)
  • Handle global API (compile time, also VbsApi)
  • Handle stdlib calls (compile time, also VbsApi)
  • Handle ActiveX COM implementations (Make ActiveX objects case-insensitive #174)
  • Handle local scope

And probably more.

TODO

COM Implementations

I don't think they can be handled at compile time, since they are instances created by the table script we cannot query when compiling (table elements, enums etc work because we have them all at compile time).

So the getObject() method should return a ScopeHandler-like proxy that keeps an index when accessing props and methods and returns the correctly spelled version.

Local Scope

This should be doable at compile time, since all variables are declared in the same scope and don't come from other included files we know nothing about. I think I've tried this already but ascope choked at the AST we have when we do this.

@freezy freezy added the scripting Related to the VBScript port label Nov 17, 2019
@freezy freezy self-assigned this Nov 17, 2019
@neophob
Copy link
Contributor

neophob commented Nov 18, 2019

One cheap workaround could be on the vpm-controller side, like this.DIP = this.Dip - I could check what other case sensitive differences there are

@freezy
Copy link
Member Author

freezy commented Nov 18, 2019

@neophob is this a blocker for you?

@neophob
Copy link
Contributor

neophob commented Nov 18, 2019

no - i will add the workaround and reference this issue.

See https://github.com/vpdb/vpx-js/commits/feature/wpc-integrationtest

neophob added a commit that referenced this issue Nov 18, 2019
update emu readme
work around issue #163
neophob added a commit that referenced this issue Nov 18, 2019
update emu readme
work around issue #163
freezy pushed a commit that referenced this issue Nov 18, 2019
update emu readme
work around issue #163
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scripting Related to the VBScript port
Projects
None yet
Development

No branches or pull requests

2 participants