CompositeType type = (CompositeType) resolved.getType();
for ( Map.Entry<String, Type> f : type.getFields().entrySet() ) {
this.currentScope.define(new VariableSymbol( f.getKey(), f.getValue() ));
this.currentScope.define(new VariableSymbol( "year", BuiltInType.NUMBER ));
this.currentScope.define(new VariableSymbol( "month", BuiltInType.NUMBER ));
this.currentScope.define(new VariableSymbol( "day", BuiltInType.NUMBER ));
if (isFeatDMN12weekday()) {
this.currentScope.define(new VariableSymbol("weekday", BuiltInType.NUMBER));
this.currentScope.define(new VariableSymbol( "hour", BuiltInType.NUMBER ));
this.currentScope.define(new VariableSymbol( "minute", BuiltInType.NUMBER ));
this.currentScope.define(new VariableSymbol( "second", BuiltInType.NUMBER ));
this.currentScope.define(new VariableSymbol( "time offset", BuiltInType.NUMBER ));
this.currentScope.define(new VariableSymbol( "timezone", BuiltInType.NUMBER ));
break;
case DATE_TIME:
this.currentScope.define(new VariableSymbol( "year", BuiltInType.NUMBER ));
this.currentScope.define(new VariableSymbol( "month", BuiltInType.NUMBER ));
this.currentScope.define(new VariableSymbol( "day", BuiltInType.NUMBER ));
if (isFeatDMN12weekday()) {
this.currentScope.define(new VariableSymbol("weekday", BuiltInType.NUMBER));
this.currentScope.define(new VariableSymbol( "hour", BuiltInType.NUMBER ));
this.currentScope.define(new VariableSymbol( "minute", BuiltInType.NUMBER ));
this.currentScope.define(new VariableSymbol( "second", BuiltInType.NUMBER ));
this.currentScope.define(new VariableSymbol( "time offset", BuiltInType.NUMBER ));