Skip to content

Commit

Permalink
Fix generator and add tests (#85)
Browse files Browse the repository at this point in the history
* Fixed problem where generated shaders were not being given versions.

* Fixed image and reducer tests and re-worked obfuscator.
  • Loading branch information
afd authored Oct 26, 2018
1 parent fe91303 commit 2a8d721
Show file tree
Hide file tree
Showing 15 changed files with 605 additions and 421 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
public class TranslationUnit implements IAstNode {

private final ShaderKind shaderKind;
private final Optional<ShadingLanguageVersion> shadingLanguageVersion;
private Optional<ShadingLanguageVersion> shadingLanguageVersion;
private List<Declaration> topLevelDeclarations;

/**
Expand Down Expand Up @@ -80,6 +80,10 @@ public ShadingLanguageVersion getShadingLanguageVersion() {
return shadingLanguageVersion.get();
}

public void setShadingLanguageVersion(ShadingLanguageVersion shadingLanguageVersion) {
this.shadingLanguageVersion = Optional.of(shadingLanguageVersion);
}

public void setTopLevelDeclarations(List<Declaration> topLevelDeclarations) {
this.topLevelDeclarations = topLevelDeclarations;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,12 @@ public static synchronized TranslationUnit parse(File file)
ShaderKind.fromExtension(FilenameUtils.getExtension(file.getName())));
}

public static synchronized TranslationUnit parse(String string, ShaderKind shaderKind)
throws IOException, ParseTimeoutException {
return parseInputStream(new ByteArrayInputStream(string.getBytes(StandardCharsets.UTF_8)),
shaderKind);
}

/**
* Parses a shader from a given string. The shader is assumed to be a fragment shader;
* typically the shader kind is unimportant when we parse from strings.
Expand All @@ -75,8 +81,7 @@ public static synchronized TranslationUnit parse(File file)
*/
public static synchronized TranslationUnit parse(String string)
throws IOException, ParseTimeoutException {
return parseInputStream(new ByteArrayInputStream(string.getBytes(StandardCharsets.UTF_8)),
ShaderKind.FRAGMENT);
return parse(string, ShaderKind.FRAGMENT);
}

private static synchronized TranslationUnit parseInputStream(InputStream input,
Expand Down
Loading

0 comments on commit 2a8d721

Please sign in to comment.