Skip to content

Commit

Permalink
GH-539 Rename cycle to stage and delegation property to phases
Browse files Browse the repository at this point in the history
  • Loading branch information
dzikoysk committed Aug 12, 2020
1 parent d2addd5 commit 978c923
Show file tree
Hide file tree
Showing 10 changed files with 29 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -33,16 +33,16 @@ final class BootstrapMethod {
}
}

protected Delegation getDelegation() {
return autowired.delegation();
protected Phases getDelegation() {
return autowired.phase();
}

protected int getOrder() {
return autowired.order();
}

protected String getCycle() {
return autowired.cycle();
return autowired.stage();
}

protected GeneratedMethodInjector getGeneratedMethod() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

package org.panda_lang.panda.language.interpreter.parser.context;

public enum Delegation {
public enum Phases {

IMMEDIATELY(0),

Expand All @@ -30,7 +30,7 @@ public enum Delegation {

private final int priority;

Delegation(int priority) {
Phases(int priority) {
this.priority = priority;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
package org.panda_lang.panda.language.interpreter.parser.context.annotations;

import org.panda_lang.framework.language.interpreter.parser.stage.Stages;
import org.panda_lang.panda.language.interpreter.parser.context.Delegation;
import org.panda_lang.panda.language.interpreter.parser.context.Phases;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
Expand All @@ -28,10 +28,10 @@
@Retention(RetentionPolicy.RUNTIME)
public @interface Autowired {

Delegation delegation() default Delegation.IMMEDIATELY;
Phases phase() default Phases.IMMEDIATELY;

int order();

String cycle() default Stages.DEFAULT_LABEL;
String stage() default Stages.DEFAULT_LABEL;

}
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
import org.panda_lang.framework.language.resource.syntax.keyword.Keywords;
import org.panda_lang.panda.language.interpreter.parser.ScopeParser;
import org.panda_lang.panda.language.interpreter.parser.context.BootstrapInitializer;
import org.panda_lang.panda.language.interpreter.parser.context.Delegation;
import org.panda_lang.panda.language.interpreter.parser.context.Phases;
import org.panda_lang.panda.language.interpreter.parser.context.ParserBootstrap;
import org.panda_lang.panda.language.interpreter.parser.context.annotations.Autowired;
import org.panda_lang.panda.language.interpreter.parser.context.annotations.Channel;
Expand All @@ -53,12 +53,12 @@ protected BootstrapInitializer<Void> initialize(Context context, BootstrapInitia
.linear("main body:{~}");
}

@Autowired(order = 1, delegation = Delegation.NEXT_DEFAULT)
@Autowired(order = 1, phase = Phases.NEXT_DEFAULT)
public void createScope(LocalChannel channel, @Ctx Script script, @Channel Location location) {
script.addStatement(channel.allocated("main", new MainScope(location)));
}

@Autowired(order = 2, delegation = Delegation.NEXT_AFTER)
@Autowired(order = 2, phase = Phases.NEXT_AFTER)
public void parseScope(Context context, @Channel MainScope main, @Src("body") @Nullable Snippet body) throws Exception {
SCOPE_PARSER.parse(context.fork(), main, body);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ protected BootstrapInitializer<Void> initialize(Context context, BootstrapInitia
.functional(builder -> builder.token(Keywords.MODULE).qualifier("module").consume(QualifierElement::pandaModule));
}

@Autowired(order = 1, cycle = Stages.TYPES_LABEL)
@Autowired(order = 1, stage = Stages.TYPES_LABEL)
public void parse(@Ctx Environment environment, @Ctx Imports imports, @Ctx PandaScript script, @Channel Location location, @Src("module") Snippet source) {
if (script.select(ModuleStatement.class).size() > 0) {
throw new PandaParserException("Script contains more than one declaration of the group");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ protected BootstrapInitializer<Void> initialize(Context context, BootstrapInitia
)));
}

@Autowired(order = 1, cycle = Stages.TYPES_LABEL)
@Autowired(order = 1, stage = Stages.TYPES_LABEL)
public void parse(Context context, @Ctx Imports imports, @Src("required") @Nullable Snippetable require, @Src("requiredFile") @Nullable TokenInfo requiredFile) {
if (require != null) {
parseModule(context, imports, require.toSnippet());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
import org.panda_lang.framework.language.resource.syntax.keyword.Keywords;
import org.panda_lang.panda.language.interpreter.parser.ScopeParser;
import org.panda_lang.panda.language.interpreter.parser.context.BootstrapInitializer;
import org.panda_lang.panda.language.interpreter.parser.context.Delegation;
import org.panda_lang.panda.language.interpreter.parser.context.Phases;
import org.panda_lang.panda.language.interpreter.parser.context.ParserBootstrap;
import org.panda_lang.panda.language.interpreter.parser.context.annotations.Autowired;
import org.panda_lang.panda.language.interpreter.parser.context.annotations.Channel;
Expand Down Expand Up @@ -89,7 +89,7 @@ public void parse(Context context, LocalChannel channel, @Channel Location locat
typeScope.getType().getConstructors().declare(constructor);
}

@Autowired(order = 2, delegation = Delegation.NEXT_DEFAULT)
@Autowired(order = 2, phase = Phases.NEXT_DEFAULT)
public void parse(Context context, @Ctx TypeScope typeScope, @Channel ConstructorScope scope, @Channel TypeConstructor constructor, @Channel Snippet src, @Src("body") @Nullable Snippet body) throws Exception {
SCOPE_PARSER.parse(context, scope, body);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ protected BootstrapInitializer<Void> initialize(Context context, BootstrapInitia
).optional());
}

@Autowired(order = 1, cycle = Stages.TYPES_LABEL)
@Autowired(order = 1, stage = Stages.TYPES_LABEL)
public void parse(Context context, LocalChannel channel, @Channel Mappings mappings, @Channel Location location, @Src("type") Snippet typeName, @Src("name") TokenInfo name) {
Type returnType = PandaImportsUtils.getTypeOrThrow(context, typeName.asSource(), typeName);
Visibility visibility = Visibility.valueOf(mappings.get("visibility").get().toString().toUpperCase());
Expand All @@ -98,7 +98,7 @@ public void parse(Context context, LocalChannel channel, @Channel Mappings mappi
channel.allocated("field", field);
}

@Autowired(order = 2, cycle = Stages.CONTENT_LABEL)
@Autowired(order = 2, stage = Stages.CONTENT_LABEL)
public void parseAssignation(Context context, @Channel Snippet source, @Channel TypeField field, @Src("assignation") @Nullable Expression assignationValue) {
if (assignationValue == null) {
//throw new PandaParserFailure("Cannot parse expression '" + assignationValue + "'", context, name);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
import org.panda_lang.framework.language.resource.syntax.separator.Separators;
import org.panda_lang.panda.language.interpreter.parser.ScopeParser;
import org.panda_lang.panda.language.interpreter.parser.context.BootstrapInitializer;
import org.panda_lang.panda.language.interpreter.parser.context.Delegation;
import org.panda_lang.panda.language.interpreter.parser.context.Phases;
import org.panda_lang.panda.language.interpreter.parser.context.ParserBootstrap;
import org.panda_lang.panda.language.interpreter.parser.context.annotations.Autowired;
import org.panda_lang.panda.language.interpreter.parser.context.annotations.Channel;
Expand Down Expand Up @@ -88,7 +88,7 @@ protected BootstrapInitializer<Void> initialize(Context context, BootstrapInitia
.section("body", Separators.BRACE_LEFT).optional());
}

@Autowired(order = 1, cycle = Stages.TYPES_LABEL)
@Autowired(order = 1, stage = Stages.TYPES_LABEL)
public void parseReturnType(Context context, LocalChannel channel, @Ctx Imports imports, @Src("type") Snippet returnTypeName) {
Option.of(returnTypeName)
.map(value -> PandaImportsUtils.getTypeOrThrow(context, returnTypeName,
Expand All @@ -99,14 +99,14 @@ public void parseReturnType(Context context, LocalChannel channel, @Ctx Imports
.peek(type -> channel.allocated("type", type));
}

@Autowired(order = 2, cycle = Stages.TYPES_LABEL)
@Autowired(order = 2, stage = Stages.TYPES_LABEL)
public void parseParameters(Context context, LocalChannel channel, @Src("name") TokenInfo name, @Src("parameters") Snippet parametersSource) {
List<PropertyParameter> parameters = PARAMETER_PARSER.parse(context, parametersSource);
MethodScope methodScope = new MethodScope(name.getLocation(), parameters);
channel.allocated("scope", methodScope);
}

@Autowired(order = 3, cycle = Stages.TYPES_LABEL)
@Autowired(order = 3, stage = Stages.TYPES_LABEL)
public void verifyData(
Context context,
LocalChannel channel,
Expand Down Expand Up @@ -150,7 +150,7 @@ public void verifyData(
});
}

@Autowired(order = 4, cycle = Stages.TYPES_LABEL)
@Autowired(order = 4, stage = Stages.TYPES_LABEL)
public void declareMethod(LocalChannel channel, @Ctx Type type, @Channel Mappings mappings, @Src("name") TokenInfo name, @Channel Type returnType, @Channel MethodScope scope, @Src("body") Snippet body) {
TypeMethod method = PandaMethod.builder()
.type(type)
Expand All @@ -169,7 +169,7 @@ public void declareMethod(LocalChannel channel, @Ctx Type type, @Channel Mapping
channel.allocated("method", method);
}

@Autowired(order = 5, delegation = Delegation.NEXT_DEFAULT)
@Autowired(order = 5, phase = Phases.NEXT_DEFAULT)
public void parse(Context context, @Channel MethodScope methodScope, @Channel TypeMethod method, @Nullable @Src("body") Snippet body) throws Exception {
if (!SnippetUtils.isEmpty(body)) {
SCOPE_PARSER.parse(context, methodScope, body);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
import org.panda_lang.framework.language.resource.syntax.keyword.Keywords;
import org.panda_lang.framework.language.resource.syntax.separator.Separators;
import org.panda_lang.panda.language.interpreter.parser.context.BootstrapInitializer;
import org.panda_lang.panda.language.interpreter.parser.context.Delegation;
import org.panda_lang.panda.language.interpreter.parser.context.Phases;
import org.panda_lang.panda.language.interpreter.parser.context.ParserBootstrap;
import org.panda_lang.panda.language.interpreter.parser.context.annotations.Autowired;
import org.panda_lang.panda.language.interpreter.parser.context.annotations.Channel;
Expand Down Expand Up @@ -79,7 +79,7 @@ protected BootstrapInitializer<Void> initialize(Context context, BootstrapInitia
.section("body", Separators.BRACE_LEFT));
}

@Autowired(order = 0, cycle = Stages.TYPES_LABEL)
@Autowired(order = 0, stage = Stages.TYPES_LABEL)
public void parse(Context context, @Channel Location location, @Channel Mappings mappings, @Ctx Script script, @Src("model") String model, @Src("name") String name) {
Visibility visibility = mappings.get("visibility")
.map(Visibility::of)
Expand All @@ -106,7 +106,7 @@ public void parse(Context context, @Channel Location location, @Channel Mappings
.withComponent(TypeComponents.PROTOTYPE, type);
}

@Autowired(order = 1, cycle = Stages.TYPES_LABEL, delegation = Delegation.CURRENT_AFTER)
@Autowired(order = 1, stage = Stages.TYPES_LABEL, phase = Phases.CURRENT_AFTER)
public void parseDeclaration(Context context, @Ctx Type type, @Ctx TypeLoader loader, @Nullable @Src("inherited") Collection<Snippetable> inherited) {
if (inherited != null) {
inherited.forEach(typeSource -> TypeParserUtils.appendExtended(context, type, typeSource));
Expand All @@ -117,12 +117,12 @@ public void parseDeclaration(Context context, @Ctx Type type, @Ctx TypeLoader lo
}
}

@Autowired(order = 2, cycle = Stages.TYPES_LABEL, delegation = Delegation.NEXT_BEFORE)
@Autowired(order = 2, stage = Stages.TYPES_LABEL, phase = Phases.NEXT_BEFORE)
public Object parseBody(Context context, @Ctx Type type, @Src("body") Snippet body) throws Exception {
return TYPE_PIPELINE_PARSER.parse(context, new PandaSourceStream(body));
}

@Autowired(order = 3, cycle = Stages.TYPES_LABEL, delegation = Delegation.CURRENT_AFTER)
@Autowired(order = 3, stage = Stages.TYPES_LABEL, phase = Phases.CURRENT_AFTER)
public void verifyProperties(Context context, @Ctx Type type, @Ctx TypeScope scope) {
if (type.getState() != State.ABSTRACT) {
type.getBases().stream()
Expand Down Expand Up @@ -150,7 +150,7 @@ public void verifyProperties(Context context, @Ctx Type type, @Ctx TypeScope sco
}
}

@Autowired(order = 4, cycle = Stages.CONTENT_LABEL, delegation = Delegation.CURRENT_AFTER)
@Autowired(order = 4, stage = Stages.CONTENT_LABEL, phase = Phases.CURRENT_AFTER)
public void verifyContent(Context context, @Ctx Type type) {
for (TypeField field : type.getFields().getDeclaredProperties()) {
if (!field.isInitialized() && !(field.isNillable() && field.isMutable())) {
Expand Down

0 comments on commit 978c923

Please sign in to comment.