Package org.pkl.core.ast.builder
Class SymbolTable
java.lang.Object
org.pkl.core.ast.builder.SymbolTable
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classstatic final classstatic final classA scope wherethishas a special meaning (type constraint, object member predicate).static final classstatic final classstatic final classstatic final classstatic classstatic final classstatic classstatic final classstatic class -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<T> TenterAnnotationScope(Function<SymbolTable.AnnotationScope, T> nodeFactory) enterClass(Identifier name, List<TypeParameter> typeParameters, Function<SymbolTable.ClassScope, ObjectMember> nodeFactory) <T> TenterCustomThisScope(Function<SymbolTable.CustomThisScope, T> nodeFactory) <T> TenterEntry(@Nullable ExpressionNode keyNode, Function<SymbolTable.EntryScope, T> nodeFactory) <T> TenterLambda(com.oracle.truffle.api.frame.FrameDescriptor.Builder frameDescriptorBuilder, Function<SymbolTable.LambdaScope, T> nodeFactory) <T> TenterMethod(Identifier name, ConstLevel constLevel, com.oracle.truffle.api.frame.FrameDescriptor.Builder frameDescriptorBuilder, List<TypeParameter> typeParameters, Function<SymbolTable.MethodScope, T> nodeFactory) <T> TenterObjectScope(Function<SymbolTable.ObjectScope, T> nodeFactory) <T> TenterProperty(Identifier name, ConstLevel constLevel, Function<SymbolTable.PropertyScope, T> nodeFactory) enterTypeAlias(Identifier name, List<TypeParameter> typeParameters, Function<SymbolTable.TypeAliasScope, ObjectMember> nodeFactory) findTypeParameter(String name)
-
Field Details
-
FOR_GENERATOR_VARIABLE
-
-
Constructor Details
-
SymbolTable
-
-
Method Details
-
getCurrentScope
-
findTypeParameter
-
enterClass
public ObjectMember enterClass(Identifier name, List<TypeParameter> typeParameters, Function<SymbolTable.ClassScope, ObjectMember> nodeFactory) -
enterTypeAlias
public ObjectMember enterTypeAlias(Identifier name, List<TypeParameter> typeParameters, Function<SymbolTable.TypeAliasScope, ObjectMember> nodeFactory) -
enterMethod
public <T> T enterMethod(Identifier name, ConstLevel constLevel, com.oracle.truffle.api.frame.FrameDescriptor.Builder frameDescriptorBuilder, List<TypeParameter> typeParameters, Function<SymbolTable.MethodScope, T> nodeFactory) -
enterLambda
public <T> T enterLambda(com.oracle.truffle.api.frame.FrameDescriptor.Builder frameDescriptorBuilder, Function<SymbolTable.LambdaScope, T> nodeFactory) -
enterProperty
public <T> T enterProperty(Identifier name, ConstLevel constLevel, Function<SymbolTable.PropertyScope, T> nodeFactory) -
enterEntry
public <T> T enterEntry(@Nullable @Nullable ExpressionNode keyNode, Function<SymbolTable.EntryScope, T> nodeFactory) -
enterCustomThisScope
-
enterAnnotationScope
-
enterObjectScope
-