MCPcopy Create free account
hub / github.com/Whiley/WhileyCompiler / pushNew

Method pushNew

src/main/java/wyil/check/FlowTypeCheck.java:1843–1852  ·  view source on GitHub ↗
(int var, Expr.New expr, Typing typing, Environment environment)

Source from the content-addressed store, hash-verified

1841 }
1842
1843 private Typing pushNew(int var, Expr.New expr, Typing typing, Environment environment) {
1844 // Allocate a finaliser for this expression
1845 typing.register(typeStandardExpression(expr, var));
1846 // Split out incoming array types
1847 Typing nTyping = typing.project(row -> forkOnReference(row, var, environment));
1848 // Report errors
1849 checkForError(expr, typing, nTyping, var, getNaturalType(expr, environment));
1850 // >>> Propagate forwards into children
1851 return pushExpression(expr.getOperand(), r -> getReferenceElement(r.get(var)), nTyping, environment);
1852 }
1853
1854 private Typing pushOld(int var, Expr.Old expr, Typing typing, Environment environment) {
1855 // Allocate a finaliser for this expression

Callers 1

pushExpressionMethod · 0.95

Calls 10

forkOnReferenceMethod · 0.95
checkForErrorMethod · 0.95
pushExpressionMethod · 0.95
getReferenceElementMethod · 0.95
getNaturalTypeMethod · 0.80
projectMethod · 0.65
getOperandMethod · 0.65
getMethod · 0.65
registerMethod · 0.45

Tested by

no test coverage detected