https://github.com/shader-slang/slang
Revision 59691aeeb013c5bb7cdaa31a6fc572eebd8be610 authored by Yong He on 16 January 2018, 18:52:10 UTC, committed by Tim Foley on 16 January 2018, 18:52:10 UTC
This completes item 5 in issue #361.

The interesting change is that when checking for interface conformance, we include the requirements (include transitive interfaces) defined in extensions as well. (check.cpp line 1946)

All the other changes are for one thing: reoder the semantic checkings to two explicit stages: check header and check body. In check header phase, we check everything except function bodies, register all extensions with their target decls, then check interface conformances for all concrete types. In body checking phase, we look inside the function bodies and check concrete statements/expressions. This change ensures that we take extension into consideration in all places where it should be.
1 parent 68fd448
History
Tip revision: 59691aeeb013c5bb7cdaa31a6fc572eebd8be610 authored by Yong He on 16 January 2018, 18:52:10 UTC
Allow extension on interface (#369)
Tip revision: 59691ae
File Mode Size
build
docs
examples
external
source
tests
tools
.gitattributes -rw-r--r-- 95 bytes
.gitignore -rw-r--r-- 398 bytes
.gitmodules -rw-r--r-- 107 bytes
.travis.yml -rw-r--r-- 1.6 KB
CODE_OF_CONDUCT.md -rw-r--r-- 3.1 KB
LICENSE -rw-r--r-- 1.1 KB
Makefile -rw-r--r-- 6.3 KB
README.md -rw-r--r-- 6.2 KB
appveyor.yml -rw-r--r-- 3.5 KB
slang.h -rw-r--r-- 41.9 KB
slang.sln -rw-r--r-- 9.1 KB
test.bat -rw-r--r-- 1.4 KB

README.md

back to top